martes, 24 de septiembre de 2013

Diseño de reactores. Parte 10. Cinética de degradación de orden variable.

Diseño de reactores. Parte 10. Cinética de degradación de orden variable.

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

Se calculó una regresión lineal con el comando b = glmfit(X, Y, 'normal') de MATLAB (generalized linear model regression). Con este programa se obtuvo un valor de 0.9965 para la pendiente (k1) y de -0.0498para la ordenada al origen (k2).


Figura 9. Gráfico para la cinética de degradación de orden variable, obtenido con MATLAB.

El código del programa de MATLAB es el siguiente:
% RegresionLineal. Orden variable
% k1 -> pendiente de la recta ln(So/Se)/(So-Se) vs. t/(So-Se)
t = [2.6 5.22 7.85 10.51 13.19 15.91 18.7 21.61 24.8 31.16];    % tiempo (h)
DQO = [450 400 350 300 250 200 150 100 50 1];
Xa = 500-DQO
X = t./Xa;
Ya = log(500./DQO);
Yb = 500-DQO
Y = Ya./Yb;
b = glmfit(X, Y, 'normal')
plot(X, Y)
xlabel('t/(So-Se)')
ylabel('ln(So/Se)/(So-Se)')
grid
pause

El cálculo para el tiempo de reacción se realizó mediante la siguiente expresión:
t = (1/k1)*ln(So/Se)+(k2/k1)*(So-Se)

Se escribió un programa en VC++ para calcular los tiempos de reacción y las eficiencias para las concentraciones decrecientes del contaminante en el efluente (Se). El código se muestra a continuación:

// CineticaDegradacionOrdenVariable.cpp: define el punto de entrada de la aplicación de consola.
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;

int main()            {
                float t, So, Se, k1, k2;
                float Ef;

                ofstream out("D:\\CinOrd_var.txt");
                if (!out)                {
                               cout << "cannot open file...\n";
                               return 1;              }
               
                out << "Se (DQO:mg/L)\t" << "t (h)\t" << "Eficiencia" << endl;

                for (Se=499; Se>0; Se--)                              {
                               So = 500;
                               k1 = 0.9965;
                               k2 = 0.0498;
                               t = (1/k1)*log(So/Se)+(k2/k1)*(So-Se);
                               Ef = (So - Se) / So;

                               cout << Se << "\t" << t << "\t" << Ef << endl;
               
                               out << Se << "\t" << t << "\t" << Ef << endl;                      }

                out.close();

                return 0;              }

Con los resultados generados y grabados en el archivo de texto CinOrd_var.txt, se procedió a representarlos gráficamente utilizando el programa Excel. Con este programa se obtuvieron los siguientes gráficos:


Figura 10. Gráfico de cinética de degradación de orden variable obtenido en Excel.


Figura 11. Gráfico de cinética de degradación de orden variable obtenido con Excel.

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