TALLER 4

20
TALLER 4 SOLUCIÓN DE SISTEMAS DE ECUACIONES NO LINEALES EN MATLAB Y ESTUDIO DE HOMOTOPIA VICTOR ALEXIS LIZCANO GONZALEZ MIGUEL FERNANDO PALENCIA MARIA ISABEL SANDOVAL MARTINEZ Presentado a: Ph.D Ramiro Martínez Rey

description

trabajo realizado en matlab donde se muestra el proceso de conversion de A a B en un reactor con ciertas caracterisiticas y el uso de homomatopeya

Transcript of TALLER 4

Page 1: TALLER 4

TALLER 4

SOLUCIÓN DE SISTEMAS DE ECUACIONES NO LINEALES EN MATLAB Y ESTUDIO DE HOMOTOPIA

VICTOR ALEXIS LIZCANO GONZALEZ

MIGUEL FERNANDO PALENCIA

MARIA ISABEL SANDOVAL MARTINEZ

Presentado a: Ph.D Ramiro Martínez Rey

UNIVERSIDAD INDUSTRIAL DE SANTANDER

BUCARAMANGA

2015

Page 2: TALLER 4

1. Considere un reactor CSTR con un volumen V=1000 litros en el cual se llevan a cabo las siguientes reacciones

A+B→C rR1=k1 cA cB

C+B→DrR2=k2 cB cC

A→Er R3=k3 cA

Se tienen los siguientes datos cinéticos

k1 (298K )=2.1∗10−2 lmol s

k 1 (315 K )=3.6∗10−2 lmol s

k 2 (298K )=1.5∗10−2 lmol s

k2 (315 K )=4.5∗10−2 lmol s

k3 (298K )=0.000121 sk3 (315K )=0.00026 1

s

Alimentamos a una velocidad de flujo volumétrico de Q= 0.1 l/s que contiene A, B y un solvente con c A0=0.5M y variando γ=cB0/c A0. Asumiendo operación isotérmica y despreciando cualquier cambio de volumen debido a la reacción, grafique la conversión de A como una función de temperatura y γ.

Solución

Construcción de balances para cada una de las especies químicasPara A: Qc A0−Qc A−rR1V−rR 3V=0

Para B:QcB0−Qc B−r R1V−rR2V=0

Para C:QcC 0−QcC+rR 1V−rR2V=0

Para D: QcD 0−QcD+r R2V=0

Para E:QcE 0−QcE+r R3V=0

Las constantes de reacción se relacionan con la temperatura mediante una función de tipo Arrhenius

k=Ae−ERT

Page 3: TALLER 4

Podemos linealizar como:

lnk=ln (A e−ERT )

lnk=ln A + ln (e−ERT )

lnk=ln A− ERT

Tomando R=0.082057458 [L atm/mol K], podemos calcular los coeficientes A1, A2,

A3, E1, E2, E3, de acuerdo a lo mostrado en la tabla 1.

Tabla 1.puntos de la ecuación lineal para el cálculo de A1, A2, A3, E1, E2, E3,

y1 y2 x1 x2 m b

k1 2.1∗10−2 3.6∗10−2 1/298 1/315−E1

Rln A1

k 2 1.5∗10−2 4.5∗10−2 1/298 1/315−E2

Rln A2

k3 0.00012 0.00026 1/298 1/315−E3

Rln A3

Por medio de regresión lineal se obtuvieron los valores de los parámetros pre-exponenciales y las energías de activación para cada reacción, los cuales se muestran en la tabla 2

Tabla 2. Valores de los parámetros A1, A2, A3, E1, E2, E3

Parámetro Valor Parámetro ValorA1 (L/mol s) 456.7130346 E1 (L atm/mol) 244.220379A2 (L/mol s) 10396028.21 E2 (L atm/mol) 497.783398

A3 (1/ s) 200.0835434 E3 (L atm/mol) 350.333866

Para dar la solución al sistema de ecuaciones no lineales mostradas anteriormente se trabajó en Matlab con los siguientes pasos.

Page 4: TALLER 4

1. Se ingresa el sistema de ecuaciones como una función de Matlab

2. Se definen los parámetros de las ecuaciones Q,V,c A0,cC 0,cD0,c E0 A1, A2, A3,

E1, E2, E3, R.

3. Se solicita al usuario el valor máximo de gamma y el paso. Adicionalmente se solicita el rango y paso de la temperatura en K.

4. Se construyen los vectores de gamma y T.

5. Para cada temperatura se calcula el valor de las constantes cinéticas.

6. Se define la suposición inicial de las variables para el fsolve.

7. Se llama fsolve para obtener las concentraciones en el estado estable.

8. Se almacenan las conversiones de A en una matriz en donde cada columna corresponde a una temperatura diferente y las filas a cada uno de los gamma.

9. Se grafica cada una de las isotermas de conversión de A vs gamma.

10.Se grafica la conversión de A como función de la temperatura y de Gamma.

Se ejecutó el código SimulacionCSTREntrega() con los siguientes datos de entrada:

Ingrese el valor máximo de Gamma a trabajar= 7

Ingrese el paso de variación de Gamma= 0.1

Ingrese la temperatura inicial [K]= 298

Ingrese la temperatura final [K]=378

Ingrese el paso de variación de T =20

Los resultados obtenidos se pueden ver en las figuras 1 y 2.

Page 5: TALLER 4

Figura 1 Porcentaje de conversión de A vs gamma (c_B0⁄c_A0 ) , evaluado a diferentes temperaturas

Se puede observar en la Figura 1 que para una misma relación de exceso (c B0/c A0 ).al aumentar la temperatura aumenta la conversión del reactivo A. De igual forma se observa una relación directa entre la conversión A y la relación de exceso (c B0/c A0 ).

En la Figura 2 se observa en tres dimensiones la relación de la conversión de A con la temperatura de la reacción y la relación de exceso del reactivo B con respecto al reactivo A. Se observa que para cualquier gamma mayor a 2 se alcanzan conversiones superiores al 95%, mientras que el aumento de la conversión de A con respecto a la temperatura es menos marcado.

Page 6: TALLER 4

Figura 2 Conversión de A como función de temperatura y gamma.

Page 7: TALLER 4

2. Analizar cómo se comporta el programa utilizando la matriz Jacobiana calculada analíticamente por el usuario con respecto a la matriz Jacobiana calculada numéricamente por fsolve.

Solución

Inicialmente se expresó los balances de cada una de las especies químicas en función de sus concentraciones.

Para A: Qc A0−Qc A−(k1cA cB)V−(k3 c A)V=0

Para B:QcB0−Qc B−(k1 c AcB)V−(k2c B cC )V=0

Para C:QcC 0−QcC+(k1c AcB)V−(k2 cB cC)V=0

Para D: QcD 0−QcD+(k2 cB cC )V=0

Para E:QcE 0−QcE+(k3 c A)V=0

Luego se realizó las derivadas parciales de cada función con respecto a cada especie química, de este proceso se obtuvo la siguiente matriz Jacobiana:

J=[−Q−k1c BV−k3V −k1 cAV 0 0 0

−k1 cBV −Q−k1 c AV−k 2cCV −k2 cBV 0 0k1 cBV k1 c AV−k2cCV −Q−k2 cBV 0 0

0 k2 cCV k2 cBV −Q 0k3V 0 0 0 −Q

];Posteriormente se introdujo la matriz Jacobiana hallada analíticamente en el código SimulacionCSTREntrega() y se analizó los resultados obtenidos con respecto al método numérico interno de fsolve, para ello se utilizó los siguientes datos de entrada:

Valor máximo de Gamma a trabajar= 10Variación de Gamma= 0.1

Temperatura inicial [K]= 290

Temperatura final [K]=320

Page 8: TALLER 4

Variación de T =10

Resultados utilizando Jacobiano Analítico:

Figura 3. Porcentaje de conversión de A vs gamma (c B0/c A0 ) , evaluado a diferentes temperaturas, utilizando el Jacobiano analítico.

Tabla 3. Resultados de Matriz Jacobiano calculada analíticamente.

Matriz Jacobiano Analítica

-165.358 -0.0126 0 0 0

-164.937 -0.1252 -240.323 0 0

164.9366 0 -240.423 0 0

0 0.0126 240.3226 -0.1 0

Page 9: TALLER 4

0.3213 0 0 0 -0.1

Al hallar el número de condición de la matriz anterior se obtuvo un valor de 11638, por lo cual se puede inferir que esta matriz está mal condicionada.

Resultados utilizando Jacobiano calculado numéricamente por fsolve:

Para este caso, en el comando “optimset”, se le indico al programa no tomar el Jacobinao analítico, los resultados obtenidos por el método numérico fueron similares a los registrados en el caso analítico; los porcentajes de variación de A, los coeficientes de la matriz Jacobiana y el número de condición se pueden apreciar en la figura 4 y tabla 4.

Figura 4. Porcentaje de conversión de A vs gamma (c B0/c A0 ) , evaluado a diferentes temperaturas, utilizando el Jacobiano numérico calculado por fsolve.

Page 10: TALLER 4

Tabla 4. Resultados de Matriz Jacobiano calculada numéricamente por fsolve.

Matriz Jacobiano Analítica

-165.358 -0.0126 0 0 0

-164.937 -0.1252 -240.323 0 0

164.9366 0 -240.423 0 0

0 0.0126 240.3226 -0.1 0

0.3213 0 0 0 -0.1

El número de condición obtenido por el método numérico fue exactamente igual al calculado por el método analítico, 11638, indicando en ambos casos que la matriz está mal condicionada y que la forma utilizada para calcular el jacobiano no tiene alguna injerencia en ello; además, para este ejercicio solo se trabaja con 5 ecuaciones de primer orden fáciles de diferenciar, por lo cual el método como se calcule el Jacobiano no influirá en los resultados finales. Pero el procedimiento analítico no es viable para un ejercicio con un mayor número de ecuaciones.

A continuación se mostrara un ejemplo de la variación del resultado y errores que arrojaría el programa si se define mal el Jacobiano analítico, para este ejemplo se cambiara el signo al componente (2,2) de la matriz Jacobiana.

Figura 5. Porcentaje de conversión de A vs gamma (c B0/c A0 ) , evaluado a diferentes temperaturas, utilizando el Jacobiano analítico con signos cambiados.

Page 11: TALLER 4

Como se aprecia en la figura 5, el hecho de haber cambiado un solo signo en una componente del Jacobiano me altera los resultados finales del ejercicio, esta es otra de las razones por la cual no se recomienda utilizar el jacobiano calculado analíticamente, debido a que es susceptible a errores humanos.

3. Se debe analizar la convergencia del sistema empleando homotopia, con respecto a los parámetros, temperatura (T), (V /Q )gamma (γ ¿.

Solución

Se plantea analizar el sistema en valores extremos de los parámetros con el fin de generar suposiciones iniciales apropiadas para las condiciones de trabajo deseadas, mediante la técnica de homotopia.se realizaran tres algoritmos con el fin de evaluar la estabilidad del sistema para los parámetros temperatura (T), (V /Q )y gamma (γ ¿.Partiendo de los balances de masa desarrollados en el punto 1 se simplificaron las ecuaciones para cada uno de los casos de la siguiente manera.

Page 12: TALLER 4

Aproximación desde temperaturas bajas (T→0)

En esta condición cada una de las velocidades de reacción tiende a cero

r R1→0 r R2→0 r R3→0

Por lo que el sistema de ecuaciones puede simplificarse a:

Para A:Qc A0−Qc A=0

Para B:QcB0−Qc B=0

Para C:QcC 0−QcC=0

Para D: QcD 0−QcD=0

Para E:QcE 0−QcE=0

Obteniéndose

c A≈c A0 cB≈c B0 cD≈cD0 cC≈cC 0 c E≈cE0

Se concluye que para temperaturas bajas las concentraciones en el equilibrio son cercanas a las concentraciones de entrada por lo que este sería una buena suposición inicial para fsolve.

Se realizó un programa en Matlab donde se empleó homotopia y en base a lo explicado anteriormente se ingresó una temperatura baja como parámetro inicial y bajo esta condición las concentraciones que se ingresaron fueron iguales a las concentraciones iniciales como se puede ver en la primera columna de la tabla 3. Finalmente el programa calcula nuevos valores de concentraciones los cuales serán considerados como los valores iniciales para el siguiente valor de temperatura en este caso 42,9 K, este mismo procedimiento se realizó hasta llegar a la temperatura de trabajo como se puede ver en la tabla 5.

Tabla 5.concentraciones en la salida en la salida del reactor a diferentes temperaturas

CONCENTRACIÓN

TEMPERATURAS K

0,1 42,9 85,8 128,6 171,5 214,3 257,2 300,0A 0,5 0,5 0,5 0,4999 0,4707 0,2453 0,1349 0,0924B 0,5 0,5 0,5 0,4999 0,4707 0,2432 0,0601 0,0138C 0,0 0,0 0,0 0,0001 0,0293 0,2504 0,2571 0,0849

Page 13: TALLER 4

D 0,0 0,0 0,0 0,0000 0,0000 0,0032 0,0914 0,2007E 0,0 0,0 0,0 0,0000 0,0000 0,0011 0,0166 0,1220

Aproximación para relaciones (V /Q )bajas ((V /Q )→0)

En esta condición cada uno de los términos de reacción es eliminado

VQrR1→0

VQrR2→0

VQrR3→0

Por lo que el sistema de ecuaciones puede simplificarse a:

Obteniéndose

Para A: c A0−c A=0

Para B:cB 0−cB=0

Para C:cC 0−cC=0

Para D: cD0−cD=0

Para E:c E0−c E=0

c A≈c A0 cB≈c B0 cD≈cD0 cC≈cC 0 c E≈cE0

Se concluye que para relaciones (V /Q )bajas, las concentraciones en el equilibrio son cercanas a las concentraciones de entrada por lo que este sería una buena suposición inicial para fsolve.

Como en el caso anterior se creó un programa en Matlab donde se varia el caudal desde un valor muy grande que hace referencia a una relación V /Q pequeña hasta el caudal de interés 0.1 L/s, en base a lo anteriormente explicado para el caudal grande se asumieron las concentraciones iniciales iguales a las concentraciones de cada compuesto a la entrada del reactor. Finalmente el programa calcula nuevos valores de concentraciones los cuales serán considerados como los valores iniciales para el siguiente valor de caudal, este mismo procedimiento se realizó hasta llegar al caudal interés como se puede ver en la tabla 6.

Page 14: TALLER 4

Tabla 6. Concentraciones en la salida en la salida del reactor para diferentes caudales.

CONCENTRACIÓN

CAUDAL L/s

1000 857,16 714,31 571,47 428,63 285,79 142,94 0,10A 0,5 0,4935 0,4923 0,4904 0,4874 0,4816 0,4656 0,0924B 0,5 0,4936 0,4923 0,4904 0,4873 0,4813 0,4643 0,0138C 0,0 0,0063 0,0075 0,0093 0,0122 0,0177 0,0322 0,0849D 0,0 0,0001 0,0001 0,0001 0,0002 0,0005 0,0018 0,2007E 0,0 0,0001 0,0001 0,0001 0,0002 0,0002 0,0004 0,1220

Aproximaciones para valores de gammaγ=cB0

c A0altos (γ=

cB0

c A 0→∞)

Al hacer estas aproximaciones la concentración inicial de B será muy grande y la concentración inicial de B tendera a cero

Bajo estas condiciones el sistema de ecuaciones puede simplificarse a:

Para A: c A=0

Para B:QcB0

cA 0−Q

cBc A0

=0

Para C:cC=0

Para D: cD=cA 0

Para E:c E=0

Se realizó un programa en Matlab donde se empleó homotopia para lo cual se varió el gamma desde un valor considerablemente grande como lo es 10 hasta el gamma objetivo 1, para el gamma grande se inició con las aproximaciones plateadas anteriormente para las concentraciones, el programa calcula nuevos valores de concentraciones los cuales serán considerados como los valores iniciales para el siguiente valor de gamma, este mismo procedimiento se realizó hasta llegar al caudal interés como se puede ver en la tabla 7.

Tabla 7. Concentraciones en la salida en la salida del reactor para diferentes gammas

CONCENTRACIÓN GAMMA

Page 15: TALLER 4

10 8,714 7,429 6,143 4,857 3,571 2,286 1A 0,001 0,001 0,001 0,001 0,002 0,003 0,010 0,0924B 4,003 3,361 2,719 2,078 1,438 0,802 0,204 0,0138C 0,001 0,001 0,001 0,001 0,002 0,004 0,013 0,0849D 0,498 0,498 0,497 0,496 0,494 0,490 0,463 0,2007E 0,001 0,001 0,001 0,001 0,002 0,004 0,014 0,1220

Page 16: TALLER 4