Diseño
de reactores. Parte 21. Modelación del proceso de lodos activados.
Este
ejercicio está basado en ejercicios del capítulo 6 de Martínez y Rodríguez
(2005).
Modelación
del proceso de lodos activados
La
modelación del proceso de lodos activados parte de los balances de masa de
sustrato (S, como DQO o DBO), concentración de sólidos o biomasa dentro del
biorreactor (X, como SSV), concentración de oxígeno disuelto en el biorreactor
(O2, como OD) y concentración de sólidos o biomasa en el sedimentador (Xr, como
SSV).
dS/dt=(Qf*Sf)/V-(Qo*S)/V-(µ*X)/Y
dX/dt=(Qr*Xr)/V-(Qo*X)/V+µ*X-kd*X
dCo2/dt=(Qf*Co2f)/V-(Qo*Co2)/V-(µ*X)/Yo2-b*X+klaw*(Csr-Co2)
dXr/dt=(Qu*Xr)/Vs-(Qo*X)/Vs
Los
caudales se comportan de la siguiente manera:
Qo=Qf+Qr
Qu=Qw+Qr
Donde
Qf es el caudal afluente, Qr es el caudal de reciclaje y Qw es el caudal de
desecho.
Los
de los parámetros cinéticos que se utilizan para la simulación son los
siguientes:
µmax=1.97
(d^-1)
Ks=137.3
(mg/L) constante de
afinidad
kd=0.0601
(d^-1) coeficiente
de decaimiento o muerte celular
Yx/s=0.33
(mg/LSSV)/(mg/LDQO)
coeficiente de rendimiento
a=0.302
(mgo2 consumido/mgDQO consumido)
Yo2=a/Y=0.915
(mgSSV generado/mgo2 consumido)
coeficiente de rendimiento de oxígeno
b=0.259
(d^1) coeficiente de respiración endógena
Las
condiciones de operación para la simulación:
Sf=668
(mg/L)
concentración del contaminante en el afluente a tratar
CO2f=0.3
mg/L concentración
de O2 en el afluente
Csr=7.02
(mg/L) concentración
de saturación de oxígeno en el agua residual a tratar
klaw=420.0
(d^-1) coeficiente de
transferencia de oxígeno
Qf=10000.0
(m^3/d) caudal de agua residual
o afluente a tratar
Qr=500
(m^3/d) caudal de
recirculación
Qw=300
(m^3/d) caudal de desecho
de los fondos del sedimentador
V=7000.0
(m^3) volumen de operación del
reactor
Vs=250
(m^3) volumen del
sedimentador
La
modelación del sistema se hizo en dos programas, en el primero se planteó el
sistema de ecuaciones, lodosactivados.m, y en el segundo se escribieron las
instrucciones para solucionar el sistema de ecuaciones y la generación de los
gráficos, lodosactivadosrun.m. El código es ele siguiente:
%
lodosactivados
%
balances de materia (reactor y sedimentador)
%
dS/dt=(Qf*Sf)/V-(Qo*S)/V-(µ*X)/Y
%
dX/dt=(Qr*Xr)/V-(Qo*X)/V+µ*X-kd*X
% dCo2/dt=(Qf*Co2f)/V-(Qo*Co2)/V-(µ*X)/Yo2-b*X+klaw*(Csr-Co2)
% dXr/dt=(Qu*Xr)/Vs-(Qo*X)/Vs
%
Los de los parámetros cinéticos que se utilizan para la simulación son los
siguientes:
%
µmax=1.97 (d^-1)
%
Ks=137.3 (mg/L)
constante de afinidad
%
kd=0.0601 (d^-1)
coeficiente de decaimiento o muerte celular
%
Yx/s=0.33 (mg/LSSV)/(mg/LDQO) coeficiente de rendimiento
%
a=0.302 (mgo2 consumido/mgDQO consumido)
%
Yo2=a/Y=0.915 (mgSSV generado/mgo2 consumido) coeficiente de rendimiento de oxígeno
%
b=0.259 (d^1)
coeficiente de respiración endógena
%
Las condiciones de operación para la simulación:
%
Sf=668 (mg/L)
concentración del contaminante en el afluente a tratar
%
CO2f=0.3 mg/L
concentración de O2 en el afluente
%
Csr=7.02 (mg/L)
concentración de saturación de oxígeno en el agua residual a tratar
%
klaw=420.0 (d^-1)
coeficiente de transferencia de oxígeno
%
Qf=10000.0 (m^3/d) caudal de
agua residual o afluente a tratar
%
Qr=500 (m^3/d) caudal de
recirculación
%
Qw=300 (m^3/d) caudal de
desecho de los fondos del sedimentador
%
V=7000.0 (m^3) volumen de
operación del reactor
%
Vs=250 (m^3) volumen
del sedimentador
%
parametros cineticos
function
dy=lodosactivados(t,y)
mumax=1.97;
b=0.259;
Y=0.33;
Ks=137.3;
Yo=0.915;
kd=0.0601;
%
condiciones de operacion
Sf=668;
co2f=0.3;
Csr=7.02;
klaw=420;
Qf=10000;
Qr=500;
Qw=300;
V=7000;
Vs=250;
%
ecuaciones de balance
dy=zeros(4,1);
dy(1)=(Qf/V)*Sf-((Qf+Qr)/V)*y(1)-((mumax/Y)*y(1)*y(2))/(Ks+y(1));
dy(2)=((Qr/V)*y(3))-((Qf+Qr)/V)*y(2)+((mumax*y(1)*y(2))/(Ks+y(1)))-kd*y(2);
dy(3)=((Qf+Qr)/Vs)*y(2)-((Qr+Qw)/Vs)*y(3);
dy(4)=klaw*(Csr-y(4))+(Qf/V)*co2f-((Qf+Qr)/V)*y(4)-(((1/Yo)*mumax*y(1)*y(2))/(Ks+y(1)))-b*y(1);
%
lodosactivadosrun
%
ejecuta la solución a las ecuaciones planteadas en el archivo
%
lodosactivados.m
%
----------------condiciones iniciales--------------------------
[t,y]=ode45('lodosactivados',[0
25],[668 500 6500 2]); % [DQO SSV Xr
O2]
%
----------------graficos---------------------------------------
subplot(2,2,4),plot(t,y(:,4),'k-')
xlabel('tiempo
(d)')
ylabel('oxigeno
disuelto (mg/L)')
text(5,7.5,'OD
en el reactor')
subplot(2,2,3),plot(t,y(:,3),'k-')
xlabel('tiempo
(d)')
ylabel('Xr
(mg/L)')
text(2,7500,'biomasa
en el sedimentador')
subplot(2,2,2),plot(t,y(:,2),'k-')
xlabel('tiempo
(d)')
ylabel('SSV
(mg/L)')
text(5,600,'biomasa
en el reactor')
subplot(2,2,1),plot(t,y(:,1),'k-')
xlabel('tiempo
(d)')
ylabel('DQO
(mg/L)')
text(5,650,'Sustrato')
%
----------------resultados en la ventana de comandos de MATLAB---
disp('--t
(h)--DQO (mg/L)--SSV (mg/L)--Xr (mg/L)--OD (mg/L)--')
disp('------------S-----------X------------Xr---------O2-----')
[t(end),y(end,1),y(end,2),y(end,3),y(end,4)]
Figura
1. Gráfico que muestra los resultados para concentraciones de sustrato, biomasa
en el reactor, biomasa en el sedimentador y oxígeno disuelto en el reactor de
lodos activados.
Los
resultados finales se despliegan en la ventana de comandos de la siguiente
manera:
EDU>>
lodosactivadosrun
--t
(h)--DQO (mg/L)--SSV (mg/L)--Xr (mg/L)--OD (mg/L)--
------------S-----------X------------Xr---------O2-----
ans
=
1.0e+003 *
0.0250
0.0634 0.4554 5.9767
0.0062
También
es posible realizar simulaciones bajo diferentes condiciones de operación, por
ejemplo, para averiguar el comportamiento del sistema con una reducción
instantánea de concentración de sustrato en la entrada del reactor. Bastará con
indicarlo en el programa variando la concentración inicial de sustrato en el
reactor (So).
[t,y]=ode45('lodosactivados',[0
20],[So 500 6500 2]);
El
código del programa lodosactivados.m se mantiene sin cambios. Para ejecutar la
solución al sistema de ecuaciones se escribió el código necesario en el archivo
lodosactivadossustratorun.m, de la siguiente manera:
%
lodosactivadossustratorun
% se
resuelve el sistema de ecuaciones planteado en el archivo
%
lodosactivados.m bajo diferentes concentraciones de sustrato
% en
la alimentacion So
for So=500:250:1500
[t,y]=ode45('lodosactivados',[0 20],[So 500 6500 2]);
subplot(2,2,4),plot(t,y(:,4),'k-')
xlabel('tiempo (d)')
ylabel('oxigeno disuelto (mg/L)')
text(5,7.5,'OD en el reactor')
hold on
subplot(2,2,3),plot(t,y(:,3),'k-')
xlabel('tiempo (d)')
ylabel('Xr (mg/L)')
text(2,7500,'biomasa en el sedimentador')
hold on
subplot(2,2,2),plot(t,y(:,2),'k-')
xlabel('tiempo (d)')
ylabel('SSV (mg/L)')
text(5,600,'biomasa en el reactor')
hold on
subplot(2,2,1),plot(t,y(:,1),'k-')
xlabel('tiempo (d)')
ylabel('DQO (mg/L)')
text(5,650,'Sustrato')
hold on
disp('-- t (d) -- S (mg/L)-- X (mg/L) -- Xr (mg/L) -- O2 (mg/L) --')
[t(1),y(1,1),y(1,2),y(1,3),y(1,4)]
[t(end),y(end,1),y(end,2),y(end,3),y(end,4)]
end
El
programa despliega los siguientes resultados en la ventana de comandos:
EDU>> lodosactivadossustratorun
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans =
1.0e+003 *
0.0200 0.0634 0.4554
5.9771 0.0062
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans =
1.0e+003 *
0.0200 0.0634 0.4554
5.9773 0.0062
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans =
1.0e+003 *
0.0200 0.0634 0.4554
5.9774 0.0062
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans =
1.0e+003 *
0.0200 0.0634 0.4554
5.9776 0.0062
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans
=
1.0e+003 *
0.0200
0.0634 0.4554 5.9777
0.0062
EDU>>
Figura
2. Gráfico de concentraciones de sustrato, biomasa en el reactor, biomasa en el
sedimentador y oxígeno disuelto para concentraciones crecientes de
concentración de sustrato (So) en la alimentación del reactor (500, 750, 1000,
1250 y 1500 mg/L).
Los
siguientes dos programas ilustran otro caso de simulación para evaluar el
efecto que se genera en las condiciones del reactor cuando después de alcanzado
el estado estacionario la concentración de sustrato en la entrada (So) se
incrementa y se mantiene en un nuevo nivel (1000mg/L). Para esto se cambia el
valor de So, que era de 668 por el nuevo que es 1000, con el fin de simular una
descarga instantánea.
Se
ejecuta el programa para un tiempo de 20 días. Los valores finales para S, X,
Xr y OD se van a colocar como condiciones iniciales para la siguiente parte de
la simulación. También será necesario modificar el valor de Sf en el archivo
lodosactivados.m, quitando el valor de 668 y poniendo 1000, para simular que el
afluente entra con esa concentración. Hecha esta modificación se ejecuta la
segunda parte de esta simulación.
El
código para la primera parte de la simulación queda de la siguiente manera:
%
lodosactivadossustrato2run
% se
resuelve el sistema de ecuaciones planteado en el archivo
%
lodosactivados.m
[t,y]=ode45('lodosactivados',[0 20],[1000
500 6500 2]);
subplot(2,2,4),plot(t,y(:,4),'k-')
xlabel('tiempo (d)')
ylabel('oxigeno disuelto (mg/L)')
text(5,7.5,'OD en el reactor')
hold on
subplot(2,2,3),plot(t,y(:,3),'k-')
xlabel('tiempo (d)')
ylabel('Xr (mg/L)')
text(2,7500,'biomasa en el sedimentador')
hold on
subplot(2,2,2),plot(t,y(:,2),'k-')
xlabel('tiempo (d)')
ylabel('SSV (mg/L)')
text(5,600,'biomasa en el reactor')
hold on
subplot(2,2,1),plot(t,y(:,1),'k-')
xlabel('tiempo (d)')
ylabel('DQO (mg/L)')
text(5,650,'Sustrato')
hold on
disp('-- t (d) -- S (mg/L)-- X (mg/L) -- Xr (mg/L) -- O2 (mg/L) --')
[t(end),y(end,1),y(end,2),y(end,3),y(end,4)]
Los
resultados desplegados en la ventana de comandos de MATLAB son los siguientes:
EDU>> lodosactivadossustrato2run
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans
=
1.0e+003 *
0.0200
0.0634 0.4554 5.9774
0.0062
EDU>>
Figura
3. Gráfico de concentraciones de sustrato, biomasa en el reactor, biomasa en el
sedimentador y oxígeno disuelto para concentración de sustrato (So) en la
alimentación del reactor 1000 mg/L.
Ahora
se toman las condiciones de operación en estado estable y se colocan como
condiciones iniciales para la segunda parte de la simulación. Antes de ejecutar
el siguiente programa, se cambia el valor de Sr (de 668) a 1000 en el código
del archivo lodosactivados.m.
%
lodosactivadossustrato3run
% se
resuelve el sistema de ecuaciones planteado en el archivo
%
lodosactivados.m
[t,y]=ode45('lodosactivados',[20 40],[63.4
455.4 5977.4 6.2]);
subplot(2,2,4),plot(t,y(:,4),'k-')
xlabel('tiempo (d)')
ylabel('oxigeno disuelto (mg/L)')
text(5,7.5,'OD en el reactor')
hold on
subplot(2,2,3),plot(t,y(:,3),'k-')
xlabel('tiempo (d)')
ylabel('Xr (mg/L)')
text(2,7500,'biomasa en el sedimentador')
hold on
subplot(2,2,2),plot(t,y(:,2),'k-')
xlabel('tiempo (d)')
ylabel('SSV (mg/L)')
text(5,600,'biomasa en el reactor')
hold on
subplot(2,2,1),plot(t,y(:,1),'k-')
xlabel('tiempo (d)')
ylabel('DQO (mg/L)')
text(5,650,'Sustrato')
hold on
disp('-- t (d) -- S (mg/L)-- X (mg/L) -- Xr (mg/L) -- O2 (mg/L) --')
[t(end),y(end,1),y(end,2),y(end,3),y(end,4)]
Los
resultados desplegados en la ventana de comandos ahora son:
EDU>> lodosactivadossustrato3run
-- t (d) -- S (mg/L)-- X (mg/L) -- Xr
(mg/L) -- O2 (mg/L) --
ans
=
1.0e+003 *
0.0400
0.0634 0.7067 9.2754
0.0058
EDU>>
Figura
4. Gráfico de concentraciones de sustrato, biomasa en el reactor, biomasa en el
sedimentador y oxígeno disuelto tomando como condiciones iniciales las del
estado estable de operación con una concentración So=1000 mg/L de sustrato.
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