Diseño
de reactores. Parte 15. Serie de reactores continuos de mezcla completa.
Este
ejercicio está basado en ejercicios del capítulo 2 de Martínez y Rodríguez
(2005).
Serie
de reactores continuos de mezcla completa. Estado estacionario.
Se=So/[(k*Tht+n)/n]^n ec II-20
Solución:
%
serieCSTRgraph
clf % borra los graficos anteriores
Se=inline('(100/(((n+0.9965*Tht)/n).^n))',
'Tht', 'n');
for Tht=0:0.1:10
for
n=1:3:10
plot(Tht,
Se(Tht, n), 'k.')
hold
on
end
end
Sef=inline('100*exp(-Thp)', 'Thp'); % Se=So*e^(-kThp)
for Thp=0:0.1:10
plot(Thp,
Sef(Thp), 'k+') %
ec II-21a
hold
on
end
xlabel('Th, tiempo de residencia
(h)')
ylabel('Se
(DQO: mg/L)')
text(5.5,
70, '+ reactor de flujo piston')
text(5.5,
80, '. reactores CSTR en serie')
Figura
16. En este gráfico se compara el desempeño de 1, 4, 7 y 10 reactores CSTR
trabajando en serie, con el desempeño de un reactor trabajando en flujo pistón,
en estado estacionario. El gráfico se generó con MATLAB, utilizando el código
mencionado antes.
Una
serie de reactores continuos en mezcla completa (CSTR) se comportan como un
reactor de flujo pistón.
syms
So %
declaración de variables simbólicas
syms Se
syms k
syms n
limit(((n/k*(((So/Se)^(1/n))-1)), n, inf) % ec II-19
ans
=
log(So/Se)/k
Solución
del problema de reactores continuos con mezcla completa en serie mediante un
sistema de tres ecuaciones no lineales utilizando el comando fsolve de MATLAB.
En estado estacionario.
El
programa resuelve el siguiente sistema de ecuaciones:
1er reactor k1*S1/(1+k2*S1)-(So-S1)/Th=0 ec
II-23a
2o reactor k1*S2/(1+k2*S2)-(S1-S2)/Th=0 ec II-23b
3er
reactor k1*Se/(1+k2*Se)-(S2-Se)/Th=0 ec II-23c
Para
su solución se escribieron dos programas. El primero, serieCSTR.m, contiene el
planteamiento del problema y el segundo, solucionCSTR.m, contiene las
instrucciones para correr el serieCSTR.m. El texto de estos dos programas se
presenta a continuación:
%
solucionCSTR
x0=[60;350;143]; % condiciones de inicio para las
iteraciones
format short g
options=optimset('Display', 'iter');
options=optimset;
[x, fval]=fsolve(@serieCSTR, x0,
options)
% serieCSTR
function SMC = serieCSTR(x)
k1=0.9965; % constante de orden variable (h-1)
k2=0.0498; % constante de orden variable (L/mg)
So=500; % DQO de entrada al primer reactor (mg/L)
Se=27.9; %DQO de salida del tercer reactor (mg/L)
%
x(1) tiempo hidraulico
%
x(2)S1 (mg/L) salida del 1er reactor
% x(3)S2
(mg/L) salida del 2o reactor
% en
estado estacionario
SMC=[(k1*x(2))/(1+k2*x(2))-(So-x(2))/x(1)
(k1*x(3)/(1+k2*x(3)))-(x(2)-x(3))/x(1) (1-(x(3)-Se)/x(1))+k1*Se/(1+k2*Se)];
La
respuesta que genera MATLAB para estos dos programas es:
EDU>> solucionCSTR
Optimization terminated: first-order
optimality is less than options.TolFun.
x =
9.6151
319
149.39
fval =
-9.8308e-007
7.5327e-007 -3.1496e-007
EDU>>
Los
valores del vector x representan el tiempo de residencia hidráulico
Th1=Th2=Th3=9.6h; la concentración del contaminante (DQO) en la salida del
primer reactor, S1=319mg/L; y la concentración del contaminante (DQO) en la
salida del segundo reactor, S2=149.39mg/L.
Bibliografía
Martínez
D., Sergio A. y Miriam G. Rodríguez R.2005. Tratamiento de aguas residuales con
MATLAB. Editorial Reverté. Universidad Autónoma Metropolitana. México, DF,
México.
No hay comentarios:
Publicar un comentario