Está en la página 1de 8

Laboratorio 5.

February 22, 2020

[18]: #Importamos las librerías necesarias para desarrollar este programa.


from sympy import *
from sympy import init_session
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd
import csv
import pylab as pl
from IPython.display import Image
init_session(use_latex=True)

IPython console for SymPy 1.4 (Python 3.7.3-64-bit) (ground types: python)

These commands were executed:


>>> from __future__ import division
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)
>>> init_printing()

Documentation can be found at https://docs.sympy.org/1.4/

[38]: '''Para convertir un archivo csv a una lista'''


def csv_a_lista(lista, source):
with open(str(source)) as csvfile:
reader = csv.reader(csvfile, quoting=csv.QUOTE_NONNUMERIC) # change␣
,→contents to floats

for row in reader: # each row is a list


lista.append(row)
lista
[81]: '''Función para la línea de tendencia'''

def lin_tend3(x,y):

1
z1 = numpy.polyfit(x, y,3)
p1 = numpy.poly1d(z1)
#pylab.plot(x,p(x),"r--")
# the line equation:
print('y=%.6fx^3+%.6fx^2+%.6fx+(%.6f)'%(z1[0],z1[1],z1[2],z1[3]))
[143]: 'Función para redondear las listas'

def round_list(l,n):
lista=[]
for i in l:
x=round(i,n)
lista.append(x)
return lista

1 Laboratorio no. 5 - TUNEL DE SECADO


La Difusividad efectiva representa el término conductivo de todos los mecanismos de transferen-
cia de humedad.
Difusividad de humedad relativa describe todos los posibles mecanismos del movimiento de
humedad dentro del producto, tales cómo difusión de líquidos, difusión de vapor, difusión super-
ficial, flujo capilar e hidrodinámico.
La difusividad efectiva depende de la temperatura, explicado por la ecuación de Arrhenius.
La energía de activación es la pendiente de la gráfica de Arrhenius, ln(D) vs. 1/T.

1.1 Contenido de humedad (CH):


Contenido en base húmeda: CHb.h. = M Mt
w

Contenido en base seca: CHb.s. = MMs


w

Ms Masa de la fase sólida en el producto.


Análogamente:
CHb.s.
CHb.h. = CHb.s. +1
CHb.h.
CHb.s. = 1−CHb.h.

1.2 Desarrollo matemático para lograr el objetivo.


1.2.1 1. Gráficas de secado.
Para poder realizar los cálculos pertinentes a la práctica de secado, es importante construir la
gráfica de humedad libre vs tiempo. La humedad libre, como se explica en el resumen conceptual,
es la humedad de un sólido que se puede evaporar dependiendo de la concentración de vapor de
la corriente de aire. Se puede hallar:

wT − Wss
XT =
wss
Donde la masa total de la manzana en cada punto es Wt y la masa de la manzana seca es Wss.

2
[39]: w_t = []
csv_a_lista(w_t, 'peso_total.csv') #convertimos el archivo
w_t = list(Matrix(w_t))
w_t
[39]: [203.0, 198.3, 188.3, 182.3, 175.4, 168.2, 163.2, 157.9, 151.3, 145.7, 142.5, 138.5, 133.4, 127.8, 125.3, 120.6, 11
[46]: time = np.arange(2,130,2) #definimos un arreglo para el tiempo que se basa, en␣
,→el número de partida, el número final y el paso.

time
[46]: array([ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52,
54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104,
106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128])
Con esos datos se puede calcular la humedad libre, teniendo el valor de la humedad de equi-
librio X*:

X = XT − X ∗
[65]: D_w = 25.0 #gramos de peso seco
X_T = list(map(lambda x: (x - D_w)/D_w, w_t))
X_T
[65]: [7.12, 6.932, 6.532, 6.292, 6.016, 5.728, 5.528, 5.316, 5.052, 4.828, 4.7, 4.54, 4.336, 4.112, 4.012, 3.824, 3.712, 3
[117]: X_eq =min(X_T)
X = list(map(lambda x: x-X_eq, X_T))
X
[117]: [6.052, 5.864, 5.464, 5.224, 4.948, 4.66, 4.46, 4.248, 3.984, 3.76, 3.632, 3.472, 3.268, 3.044, 2.944, 2.756, 2.644,
Con los datos obtenidos de la humedad libre en cada intervalo de tiempo, se realiza la gráfica.
En dicha gráfica es importante identificar 3 zonas: La zona A-B, que es la que presenta una caída
de humedad más marcada; la zona B-C, que es la zona de velocidad de secado constante; la zona
C-D, que es la zona donde el área de secado disminuye por la aparición de zonas secas en la
superficie de la manzana; y la zona D-E, que es donde el área de secado es nula y la evaporación
se debe a la difusión del agua en el sólido. El mapa de las zonas de secado se ve de la siguiente
manera:
[75]: 'Gráfica de humedad libre vs. Tiempo (h)'
#Para este gráfica es necesario convetir el tiempo a horas:
time_h = list(map(lambda x: x/60.0, time))

#Ahora se grafica el la humedad libre vs. el tiempo:

pl.figure(figsize=(10, 8), dpi=80)


pl.grid(True)
pl.title('CDE')
pl.plot(time_h, X, marker='x', linestyle='-', c='r')
pl.xlabel('Tiempo (hora)')

3
pl.ylabel('X (kg de agua/kg de sólido seco)')
pl.show()

Figura 1| Humedad libre vs. tiempo (horas)


El valor de la humedad en el equilibrio corresponde a los últimos valores de la lista que con-
tiene el contenido de humedad en base seca, el cual corresponde a X ∗ = 1.068. Ahora ayudados
por el software Excel de Microsoft Corporation, encontramos la línea de tendencia, la cual corre-
sponde a la ecuación:

X = −0.7698t3 + 4.3084t2 − 8.6319t + 6.2828


Al derivarse se obtiene la siguiente ecuación:
[124]: t= symbols('t')
X1 = Function('X1')(t)
X1 = (-0.7698*t**3)+(4.3084*t**2)-(8.6319*t)+6.2828
dX_dt = X1.diff(t)
dX_dt
[124]: −2.3094t2 + 8.6168t − 8.6319

4
Para calcular la velocidad de secado con la anterior ecuación, es necesario conocer el área total
de contacto con las manzanas, teniendo en cuenta el espesor, se estima en: A = 0.0996 m2 . Con
éste valor, lo divido entre los diferentes valores de la derivada en los valores de tiempo establecido
y encuentro así la velocidad de secado en función del tiempo, a partir de la siguiente ecuación:

′ Ws dX
X =
A dt
[148]: A = 0.0996 #m2
vel_sec = list(map(lambda x: -(D_w/1000)*((-2.3094*x**2)+(8.6168*x)-(8.6319))/
,→A, time_h))

vel_sec = round_list(vel_sec,3)
vel_sec
[148]: [2.095, 2.025, 1.956, 1.889, 1.822, 1.757, 1.694, 1.631, 1.57, 1.51, 1.452, 1.394, 1.338, 1.284, 1.23, 1.178, 1.127,
Estos serían los valores para la velocidad de secado, que al graficarlos, se encontrarían de esta
manera:
[151]: #Ahora se grafica la velocidad de secado vs. el tiempo:

pl.figure(figsize=(10, 8), dpi=80)


pl.grid(True)
pl.title('Velocidad de secado vs. tiempo')
pl.plot(time_h, vel_sec, marker='x', linestyle='-', c='g')
pl.xlabel('Tiempo (hora)')
pl.ylabel('dX/dt (kg de agua/h m2)')
pl.show()

5
**Figura 2| Velocidad de secado (kg Agua/mˆ2*h) vs. tiempo (horas) Se puede observar la
variación de la velocidad de secado con el tiempo, y en la Figura 3** observamos la variación de
la velocidad de secado, con la humedad libre:
[157]: #Ahora se grafica la velocidad de secado vs. la humedad libre (kg agua/kg de␣
,→sólido seco):

pl.figure(figsize=(10, 8), dpi=80)


pl.grid(True)
pl.title('Velocidad de secado vs. tiempo')
pl.plot(X, vel_sec, marker='x', linestyle='-', c='orange')
pl.ylabel('dX/dt (kg de agua/h m2)')
pl.xlabel('X (kg de agua/kg de sólido seco)')
pl.show()

6
1.2.2 3. Curva de distribución de equilibrio (CDE)
Para el cálculo de la CDE es necesario usar la correlación de BET para la desecación de manzana,
la cual tiene en cuenta parámetros cómo M0 que es contenido de humedad en la monocapa super-
ficial, C es la constante de energía del calor neto de desorción, Mw es el contenido de humedad en
el equilibrio (kg de agua/kg de sólido seco), aw es la actividad del agua a los diferentes valores de
humedad en el equilibrio.

M0 C aw
Mw =
(1 − aw )(1 + (C − 1) aw )
[159]: M_0 = 0.234
C = 20.166
a_w = np.linspace(0.11, 0.5, 64,dtype=float)

M_w = (M_0*C*a_w)/((1.0-a_w)*(1.0+(C-1.0)*a_w))

pl.figure(figsize=(10, 8), dpi=80)


pl.grid(True)

7
pl.title('CDE')
pl.plot(M_w, a_w, marker='x', linestyle='-', c='c')
pl.xlabel('M_w (kg de agua/kg de sólido seco)')
pl.ylabel('a_w (Hr/100)')
pl.show()

Para el cálculo del coeficiente de transferencia de masa se elige un tiempo arbitrario en el pro-
ceso, para el cual, se elige un valor de humedad libre que se encuentre en el rango de la correlación
para la actividad de agua.
[166]: time_h = round_list(time_h,3)
map?
[162]: a_w = 0.133
M_w = (M_0*C*a_w)/((1.0-a_w)*(1.0+(C-1.0)*a_w))
M_w
[162]: 0.20396357690606293
[ ]:

También podría gustarte