martes, 24 de septiembre de 2013

Diseño de reactores. Parte 19. Parámetros biocinéticos. Comportamiento de un reactor biológico por lote.

Diseño de reactores. Parte 19. Determinación de parámetros biocinéticos. Comportamiento de un reactor biológico por lote.

Este ejercicio está basado en ejercicios del capítulo 5 de Martínez y Rodríguez (2005).

Comportamiento de un reactor biológico por lote
Teniendo en cuenta los parámetros cinéticos calculados anteriormente, se pueden hacer varias simulaciones utilizando las herramientas de Matlab para conocer los distintos comportamientos, según diferentes condiciones de operación: El de la variación de sustrato (DQO); el del crecimiento de microorganismos (SSV); así como el oxígeno disuelto (OD), en función del tiempo, en un reactor biológico aireado por lote (batch), cuando remueve los contaminantes de un agua residual.
También se podrán variar las condiciones de operación para observar qué efecto generan en el proceso. En este caso se prueban dos condiciones, A y B, para evaluar su efecto en las variaciones (DQO), (SSV) y (OD) a diferentes tiempos de reacción, en un reactor por lote y utilizando una cinética tipo Monod. La condición que se varió fue la concentración inicial de biomasa (SSV): En la prueba A se utilizó (SSV) inicial de 210 mg/L, mientras que en la prueba B fue de 400 mg/L.

Consumo de sustrato:
dS/dt=(-µmax/Y)*(X*Se)/(Ks+Se)
Para crecimiento:
dX/dt=(µmax*Se*X)/(Ks+Se)-kd*X
Para consumo de oxígeno:
dO2/dt=(a*µmax/Y)*(Se*X)/(Ks+Se)+b*X

Programa en MATLAB:
% monoduno
% para ejecutar el sistema de ecuciones contenido en este archivo
% se ejecuta el archivo monodunorun.m en la ventana de comandos
function dy=monoduno(t,y)
kla=17.6;
o2sat=8;
Y=0.3678;
mumax=0.07937;
Ks=115.374;
kd=0.0041166;
a=0.302;
b=0.010079;
% istema de ecuaciones
dy=zeros(3,1);
dy(1)=-(mumax*y(1)*y(2)/Y)/(Ks+y(1));  % ec V-12a
dy(2)=(mumax*y(1)*y(2))/(Ks+y(1))-kd*y(2); % ec V-13a
dy(3)=kla*(o2sat-y(3))-(a*mumax*y(1)*y(2))/(Y*(Ks+y(1)))-b*y(2);  % ec V-14a

% monodunorun
% este programa ejecuta las ecuaciones planteadas en el archivo monoduno
% comportamiento en un reactor batch
% para obtener el comportamiento del crecimiento, consumo de sustrato y
% consumo de oxigeno en un reactor por lote (batch)
[t,y]=ode45('monoduno',[0 20],[668 210 5]);
plot(t,y(:,1),'k-',t,y(:,2),'k-.')
xlabel('tiempo (h)')
ylabel('X, Y (mg/L)')
text(10,450,'-. biomasa de microorganosmos, X (mg/L)')
text(10,210, '--- sustrato (mg/L)')
title('crecimiento y consumo de sustrato en funcion del tiempo')
format short g
[t,y(:,1),t,y(:,2),t,y(:,3)]
pause
clf
plot(t,y(:,3),'k-')
xlabel('tiempo (h)')
ylabel('oxigeno disuelto (mg/L)')
title('oxigeno disuelto en funcion del tiempo')


Figura 6. Gráfico de crecimiento de microorganismos y consumo de sustrato en un reactor por lote y cinética de Monod.


Figura 7. Gráfico de consumo de oxígeno en un reactor en lote con cinética de Monod.

Programa para el caso B.
% monoddos
% para ejecutar el sistema de ecuciones contenido en este archivo
% se ejecuta el archivo monodunorun.m en la ventana de comandos
function dy=monoddos(t,y)
kla=17.6;
o2sat=8;
Y=0.3678;
mumax=0.07937;
Ks=115.374;
kd=0.0041166;
a=0.302;
b=0.010079;
% sistema de ecuaciones
dy=zeros(3,1);
dy(1)=-(mumax*y(1)*y(2)/Y)/(Ks+y(1));  % ec V-12a
dy(2)=(mumax*y(1)*y(2))/(Ks+y(1))-kd*y(2); % ec V-13a
dy(3)=kla*(o2sat-y(3))-(a*mumax*y(1)*y(2))/(Y*(Ks+y(1)))-b*y(2);  % ec V-14a

% monoddosrun
% este programa ejecuta las ecuaciones planteadas en el archivo monoddos
% comportamiento en un reactor batch
% para obtener el comportamiento del crecimiento, consumo de sustrato y
% consumo de oxigeno en un reactor por lote (batch)
[t,y]=ode45('monoddos',[0 20],[668 400 5]);
subplot(2,2,1),plot(t,y(:,1),'k-')
xlabel('tiempo (h)')
ylabel('X (mg/L)')
text(8,210, '- sustrato (mg/L)')
title('consumo de sustrato en funcion del tiempo')
subplot(2,2,2),plot(t,y(:,2),'k-')
xlabel('tiempo (h)')
ylabel('Y (mg/L)')
text(1,675,'- biomasa de microorganosmos (mg/L)')
title('crecimiento en funcion del tiempo')
subplot(2,2,3),plot(t,y(:,3),'k-')
xlabel('tiempo (h)')
ylabel('OD (mg/L)')
text(2,6,'- oxigeno disuelto (mg/L)')
title('consumo de oxigeno en funcion del tiempo')
format short g
[t,y(:,1),t,y(:,2),t,y(:,3)]


Figura 8. Gráfico de consumo de sustrato, crecimiento de biomasa y consumo de oxígeno disuelto utilizando cinética de Monod.

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