Problema 1

Referencia: Problema 17-D3 Wankat

Una columna cromatográfica está rellena con una resina de intercambio iónico en su forma de calcio. La columna mide 0,75 m y la velocidad superficial es de 15 cm/min. A la columna se le alimenta una disolución de glucosa de 75 g/L, después de 2 min la concentración cambia a 100 g/L de glucosa. Encuentre el perfil de concentración de salida (idealizado) de la columna. Datos adicionales ԑ_p = 0, ԑ_e = 0,4, qGq_G/(g/L) = 0,51 cGc_G/(g/L)

html('<h2>Solución</h2>')
9999999
cA        =  var('cA')
L         =   75      # cm
t0        =    0      # min
c0        =    0      # mol/L
t1        =    0
c1        =   75      # g/L
t2        =    2      # min
c2        =  100      # g/L
u_s       =   15.0    # cm/min
1111111
# Datos adicionales
eps_e     =    0.4
eps_p     =    0
Kd        =    1
rho_f     =    1 # kg/L  ***
rho_p     =    1 # kg/L  ***
qA        =  0.51*cA
222222222222
print "Usando modelo para onda de choque"
DqDc (c_antes, c_desp) = (qA(c_desp)-qA(c_antes))/(c_desp-c_antes)

rho_S = (rho_p - eps_p*rho_f)/(1-eps_p)
3333333333
u_inter = u_s / eps_e
uA(c_antes,c_desp) = u_inter/(1 + (1-eps_e)/eps_e * Kd + (1-eps_e)*(1-eps_p)/eps_e * rho_S * DqDc(c_antes,c_desp))

u_sh1      =  uA(c0, c1)
u_sh2      =  uA(c1, c2)
t_s1       =  t1 + L/u_sh1
t_s2       =  t2 + L/u_sh2

line([(t0, c0),(t1,c0),(t1,c1),(t2,c1),(t2,c2),(t_s2,c2)], xmax = t_s2+2, axes_labels=['$t$/min','$c_F$/(g/L)'])

show ("$u_{sh1} = $", numerical_approx(u_sh1, digits=4), " cm/min; $u_{sh2} = $", numerical_approx(u_sh2, digits=4), " cm/min")

if(t_s1 <= t_s2):
    show("Las ondas de choque no coinciden")
    gr_onda1 = line([(t0,0),(t1,0),(t_s1, L)], legend_label='Onda de choque 1')
    gr_onda2 = line([(t0,0),(t2,0),(t_s2, L)], legend_label='Onda de choque 2', axes_labels=['$t$/min','$L$/cm'], color = 'green', xmax = t_s2+2,)
    gr_perfil = line([(t0,c0),(t_s1,c0),(t_s1,c1)]) + line([(t_s1,c1),(t_s2,c1),(t_s2,c2),(t_s2+2,c2)], axes_labels=['$t$/min','$c_{sale}$/(g/L)'])
    show(gr_onda1+gr_onda2)
else:
    show("Las ondas de choque coinciden y se genera una tercera")
    t_inter = t2*u_sh2/(u_sh2-u_sh1)
    z_inter = u_sh1*t_inter
    u_sh3 = uA(c0, c2)
    show ("$u_{sh3} = $", numerical_approx(u_sh3, digits=4), " cm/min; $t_{inter} = $", numerical_approx(t_inter, digits=4), " min; $z_{inter} = $", numerical_approx(z_inter, digits=4), " cm")
    t_s3 = t_inter+(L-z_inter)/u_sh3
    gr_onda1 = line([(t0,0),(t1,0),(t_inter, z_inter)], legend_label='Onda de choque 1')
    gr_onda2 = line([(t0,0),(t2,0),(t_inter, z_inter)], legend_label='Onda de choque 2', color = 'green')
    gr_onda3 = line([(t_inter,z_inter),(t_s3, L)], legend_label='Onda de choque 3', color = 'red', axes_labels=['$t$/min','$L$/cm'], xmax = t_s3+2)
    gr_perfil = line([(t0,c0),(t_s3,c0),(t_s3,c1),(t_s3+2,c1)], axes_labels=['$t$/min','$c_{sale}$/(g/L)'])
    show(gr_onda1+gr_onda2+gr_onda3)

show(gr_perfil)

Problema 2

Referencia: Problema 17-D12 Wankat

Una columna rellena con carbón activado se usa para adsorber acetona de agua a 25 °C. Se puede aproximar la isoterma de Langmuir: q=0.190c1+0.146cq = \frac{0.190 c}{1 + 0.146 c}, estando qq en mol/kg y cc en mol/m³. Las propiedades del lecho son: Kd=1.0K_d = 1.0, ρs\rho_s = 1820 kg/m³, εe=0.434ε_e = 0.434 y εp=0.57ε_p = 0.57. El lecho tiene 0.50 m de longitud y su diámetro interno es 0.08 m. La tasa de flujo es 0.32 L/min.

  1. Si al principio el lecho está limpio (c=q=0c=q=0), determine la curva de concentración a la salida en función del tiempo si se alimenta una corriente que contiene acetona con concentración de 50 mol/m³ en el momento t=0t=0.
  2. Si al principio el lecho está saturado con un líquido que contiene acetona a una concentración de 50 mol/m³, calcule el perfil de concentración a la salida, cuando el lecho se eluye con agua pura (c=0c=0) a partir de t=0t=0. Calcule los tiempos de salida para concentraciones de [50, 40, 30, 15, 5, 0] mol/m³. Trace la curva de concentración a la salida en función del tiempo.

Nota: Puede trabajar tanto en unidades de masa como de cantidad de sustancia.


cA         =   var('cA')
q(cA)      =  0.190*cA/(1+0.146*cA)

K_d        =     1.0
rho_S      =  1820            # kg/m³
eps_e      =     0.434
eps_p      =     0.57
L_bed      =     0.50         # m
D_bed      =     0.08         # m
Q_F        =     0.32/1000    # m³/min

print "Parte a  -  Onda de choque"
t0         =  -100            # min
c0         =     0
t1         =     0            # min
c1         =    50            # mol/m³

A_bed      =  pi()/4*D_bed^2  # m²
u_s        =  Q_F / A_bed     # m/min
u_inter    =  u_s / eps_e     # m/min


DqDc (c_antes, c_desp) = (qA(c_desp)-qA(c_antes))/(c_desp-c_antes)
uA(c_antes,c_desp) = u_inter/(1 + (1-eps_e)/eps_e * K_d + (1-eps_e)*(1-eps_p)/eps_e * rho_S * DqDc(c_antes,c_desp))

u_sh1      =  uA(c0, c1)
t_s1       =  t1 + L_bed/u_sh1

t_max      =  t_s1+500

show ("$u_{sh1} = $", numerical_approx(u_sh1, digits=4), " m/min")

line([(t0, c0),(t1,c0),(t1,c1),(t_s1,c1),(t_max,c1)], xmax=t_max, axes_labels=['$t$/min','$c_F$/(mol/L)'])
line([(t0,0),(t1,0),(t_s1, L),(t_max, L)], xmax=t_max, axes_labels=['$t$/min','$L$/(m)'])
line([(t0,c0),(t_s1,c0),(t_s1,c1),(t_max,c1)], xmax=t_max, axes_labels=['$t$/min','$c_{sale}$/(mol/L)'])



print "Parte b  -  Onda difusa"
t0         =  -100            # min
c0         =    50
t1         =     0            # min
c1         =     0            # mol/m³

conc       = [50, 40, 30, 15, 5, 0]  # mol/m³.

u_A(cA)    = u_inter/(1 + (1-eps_e)/eps_e * K_d + (1-eps_e)*(1-eps_p)/eps_e * rho_S * derivative(q))
t_esc      = [numerical_approx(L_bed/u_A(c), digits=4) for c in conc]

print "Tiempos de salida en minutos:", t_esc

t_max      = t_esc[5]
lista_tc  = zip(t_esc,conc)
lista_tc.insert(0,(t0,c0))

line([(t0, c0),(t1,c0),(t1,c1),(t_s1,c1),(t_max,c1)], xmax=t_max, axes_labels=['$t$/min','$c_F$/(mol/L)'])
line(lista_tc, xmax=t_max, axes_labels=['$t$/min','$c_{sale}$/(mol/L)'])


#gr_cF
#gr_perfil



Parte a - Onda de choque
ush1=u_{sh1} = 0.0002806\displaystyle 0.0002806 m/min
Parte b - Onda difusa Tiepos de salida en minutos: [17.45, 21.98, 30.69, 72.81, 228.7, 668.9]