Diseño
de reactores. Parte 17. Determinación de parámetros biocinéticos.
Este
ejercicio está basado en ejercicios del capítulo 5 de Martínez y Rodríguez
(2005).
Determinación
de parámetros biocinéticos
Programa
de muestreo para la obtención de los parámetros biocinéticos en un reactor
biológico para la degradación de un contaminante.
Tabla 1.
Datos
experimentales obtenidos en cuatro reactores continuos de mezcla completa y sin
recirculación alimentados con agua residual de una refinería de petróleo.
Tabla 2
Cálculo
de datos para valor de qmax y Ks
Tabla 3
Figura
1. Valores 1/q contra 1/Se y recta ajustada por mínimos cuadrados para los
datos obtenidos experimentalmente.
Datos
de velocidad específica de consumo de sustrato y de velocidad específica de
crecimiento, para cada reactor.
Tabla 4
Figura
2. Gráfico de velocidad específica de crecimiento contra inverso de la
velocidad específica de consumo de sustrato (mu).
Para
obtener los valores de los parámetros biocinéticos qmax, Ks, Y y Kd, se
escribieron dos programas en MATLAB. El primero, parametrosbiocineticos.m,
calcula los valores de qmax y Ks a partir de los datos obtenidos
experimentalmente. El segundo, parametrosbiocineticos_Y_Kd, calcula los valores
de Y y Kd. El código de estos dos programas se muestra a continuación:
%
parametrosbiocineticos
%
parametros cineticos qmax y Ks
% a
partir de datos experimentales
inversoS=[0.05
0.025 0.015384615 0.008333333];
inversoq=[1.296296296
0.76433121 0.56384743 0.346715328];
%
grafico de los datos experimentales
plot(inversoS,inversoq,'ko')
hold
on
%
obtencion de la recta que se ajusta mejor a los datos experimentales
y=polyfit(inversoS,inversoq,1);
m=y(1); % pendiente de la recta
b=y(2); % ordenada al origen
recta=inversoS.*m+b;
plot(inversoS,
recta)
title('obtencion
de qmax y Ks')
xlabel('1/S (L/mg)')
ylabel('1/q (d)')
axis([0 0.07 0 1.5])
grid
%
calculo de qmax y Ks
qmax=1/b;
Ks=qmax*m;
%
calculo del error cuadratico promedio ECM
ecm=sum((inversoq-recta).^2/length(inversoq));
fprintf('\npendiente
m= %g\n',m)
fprintf('ordenada
al origen b= %g\n',b)
fprintf('qmax=
%g \n',qmax)
fprintf('Ks=
%g \n',Ks)
fprintf('ecm=
%g \n',ecm)
pause
%
parametrosbiocineticos_Y_Kd
%
parametros cineticos Y y Kd
% a
partir de datos experimentales
q=[0.771428571
1.308333333 1.773529412 2.884210526];
mu=[0.25
0.333 0.5 1];
%
grafico de los datos experimentales
clf
plot(q,mu,'ko')
hold
on
%
obtencion de la recta que se ajusta mejor a los datos experimentales
y1=polyfit(q,mu,1);
m1=y1(1); % pendiente de la recta
b1=y1(2); % ordenada al origen
recta1=q.*m1+b1;
plot(q,
recta1)
title('obtencion
de Y y Kd')
xlabel('q (d^-1)')
ylabel('mu (d^-1)')
axis([0
3 0 1.5])
grid
%
calculo de Y y Kd
Y=m1;
Kd=b1;
%
calculo del error cuadratico promedio ECM
ecm1=sum((mu-recta1).^2/length(mu));
fprintf('\npendiente m1= %g\n',m1)
fprintf('ordenada
al origen b1= %g\n',b1)
fprintf('Y=
%g \n',Y)
fprintf('Kd=
%g \n',Kd)
fprintf('ecm1=
%g \n',ecm1)
pause
Los
resultados desplegados por el programa parametrosbiocineticos.m son:
pendiente
m= 22.2748
ordenada
al origen b= 0.193066
qmax=
5.17958
Ks=
115.374
ecm=
0.000532296
Los
resultados que despliega el programa parametrosbiocineticos_Y_Kd.m son:
pendiente
m1= 0.367793
ordenada
al origen b1= -0.0987513
Y=
0.367793
Kd=
-0.0987513
ecm1=
0.00274512
Valores
de q y RO2 calculados a partir de los datos obtenidos experimentalmente.
Tabla 5
A
partir de estos valores, el programa parametrosbiocineticos_a_b.m calcula los
valores de a y de b; y genera el gráfico mostrado en la Figura 3. El código de
este programa es el siguiente:
%
parametrosbiocineticos_a_b
%
parametros cineticos a y b
% a
partir de datos experimentales
q=[0.771428571
1.308333333 1.773529412 2.884210526];
RO2=[0.471771
0.6903 0.786071 1.128316];
%
grafico de los datos experimentales
clf
plot(q,RO2,'ko')
hold
on
%
obtencion de la recta que se ajusta mejor a los datos experimentales
y2=polyfit(q,RO2,1);
m2=y2(1); % pendiente de la recta
b2=y2(2); % ordenada al origen
recta2=q.*m2+b2;
plot(q,
recta2)
title('obtencion
de a y b')
xlabel('q
(d^-1)')
ylabel('RO2
(d^-1)')
axis([0
3 0 1.5])
grid
%
calculo de a y b
a=m2;
b=b2;
%
calculo del error cuadratico promedio ECM
ecm2=sum((RO2-recta2).^2/length(RO2));
fprintf('\npendiente
m2= %g\n',m2)
fprintf('ordenada
al origen b2= %g\n',b2)
fprintf('a= %g \n',a)
fprintf('b= %g \n',b)
fprintf('ecm2= %g \n',ecm2)
pause
Figura 3. Gráfico de RO2 contra q.
Los
resultados que despliega el programa parametrosbiocineticos_a_b.m, son los
siguientes:
pendiente
m2= 0.302832
ordenada
al origen b2= 0.259031
a=
0.302832
b=
0.259031
ecm2=
0.000445796
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