Reacciones complejas GRUPO 1A

De MateWiki
Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Reacciones complejas Grupo 1A
Asignatura Ecuaciones Diferenciales
Curso Curso 2015-16
Autores Pablo Medina Higueras

Jesús Caballero Pozo

Jaime Delage Ramírez

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

Se considera una reacción química irreversible en una solución bien mezclada. Supondremos que la reacción ocurre para un volumen y temperatura constantes. Al inicio se encuentran dos reactivos A y B que van formando un producto C en lo que se conoce como una reacción bimolecular, es decir, una molécula de A y una de B producen una de C,

                                                  A + B → C

Supondremos que se satisface la ley de acción de masas que establece que la velocidad de reacción es proporcional al producto de las concentraciones de los reactivos.


2 Interpretación de las constantes y PVI para calcular la concentración de C

En primer lugar, interpretaremos las constantes y variables de la siguiente ecuación diferencial,esta ecuación diferencial será la de la ley de masas:

                                         y'(t) = k1(a0 − y(t))(b0 − y(t)), siendo t>0 

donde:

  y'(t) = Representa la velocidad de la reacción química, es decir, la velocidad con  que se produce C.
  k1 = Constante de proporcionalidad.  
  a0 = Concentración inicial de A.
  y(t) = Evolución de la concentración de  C a lo largo del tiempo.
  b0 = Concentración inicial de B.

Es conveniente mencionar que la concentración de A respecto al tiempo será de a0 - y(t), y para B será de b0 - y(t), tal y como nos indica el enunciado, tomaremos el tiempo como mayor que 0: t>0.

Además, sabemos que para t = 0, la concentración de C será nula, por lo que: y(t = 0) = 0.

Con todo lo deducido anteriormente, llegamos a la conclusión que estamos ante un Problema de Valor Inicial (PVI) o de Cauchy:

                                       y'(t) = k1(a0 − y(t))(b0 − y(t)), siendo t>0 
                                                            y(0) = 0 

Ahora procederemos a ver si nuestro problema tiene solución única o no, a través del Teorema de existencia y Unicidad. Observamos que la función f(t,y) = y'(t) es continua en el intervalo (I = (0,∞) ∩ B(0,0),r>0), por lo que admite al menos una solución. Por otro lado, observamos la derivada parcial:

                                                           ∂f/∂y=k(2y-a-b) 

y vemos que no hay problemas de continuidad, porque la derivada parcial nos resulta un polinomio, así que podremos afirmar que tiene una única solución.


3 Proceso reversible

Hasta ahora hemos supuesto que la reacción era irreversible, tal y como nos indicaba el enunciado, esto significaba que A y B se juntaban para formar C. Ahora nos pide ver cómo cambiaría la ecuación diferencial si el proceso fuera reversible; que sea reversible, quiere decirnos que además de que A y B se junten para formar C, también tendremos C descomponiéndose para formar A y B, por lo que la ecuación diferencial se vería afectada por este cambio. Necesitaremos una nueva constante de velocidad de reacción (k2) dado que suponemos que se sigue satisfaciendo la ley de masas. Este nuevo término disminuirá la cantidad de producto, por lo tanto el término aparecerá restando en nuestra ecuación.

Por lo que la ecuación diferencial quedará de la siguiente manera:

                                         y'(t) = k1(a0 − y(t))(b0 − y(t)) - k2 * y(t) 


4 Resolución por el método de Euler

Ahora, resolveremos el problema de valor inicial con el método de Euler de primer orden (método explícito). Del enunciado, sabemos que f(t,y)=k1(a0-y(t))(b0-y(t)) , por lo tanto aplicamos la fórmula del método de Euler:

yn+1 = yn + h * f(tn, yn)

Cuando despejamos, obtenemos : yn+1 = yn + h * k1(a0-y(t))(b0-y(t))

Según los datos del enunciado, tenemos que:

  a0 = 3 [mol/L]
  b0 = 1 [mol/L]
  k1 = 1 [mol/s]
  h = 0.1 (salto)
  t = [0,2] (segundos)


4.1 Código en Matlab

%Euler
clear all
%Datos enunciado
a0=3;
b0=1;
t0=0;
tN=2;
y0=0;
h=0.1;
k1=1;
%Número subintervalos
N=round((tN-t0)/h);
%Variable independiente t
t=t0:h:tN;
%Vector y
y=zeros(1,N+1);
y(1)=y0;
%Bucle
for i=1:N
    y(i+1)=y(i)+h*k1*(a0-y(i))*(b0-y(i));
end
%Gráfica
hold on
plot(t,y,'b','linewidth', 3);
plot(t,(a0-y),'y','linewidth',3);
plot(t,(b0-y),'m','linewidth',3);
legend('C','A','B');
xlabel('tiempo(segundos)');
ylabel('concentracion[mol/l]');
hold off


4.2 Gráfica método de Euler

centro

Como se puede observar, la concentración de C aumenta en la proporción que disminuyen los reactivos A y B, como es lógico. También se puede observar que la velocidad disminuye en el tiempo hasta ser 0 cuando se agota el reactivo limitante, B.


5 Resolución del PVI por el método de Euler cuando t→∞

Una vez hecho el método de Euler de primer orden para un intervalo de 2 segundos, es fácil observar que las concentraciones convergen y presuponemos que se mantendrán constantes, pero hay que comprobarlo para el límite t→∞. Es suficiente con realizar el mismo programa que el anterior pero modificando el tiempo hasta un valor suficientemente alto, comparable a para ver que se mantienen constantes las concentraciones, tomaremos 15 segundos debido a que la reacción es muy rápida. Esto se debe a que la velocidad de la reacción se anula cuando se acaba el contenido del reactivo limitante, que en este caso es B.

5.1 Código en Matlab

%Euler
clear all
%Datos enunciado
a0=3;
b0=1;
t0=0;
tN=15;
y0=0;
h=0.1;
k1=1;
%Número subintervalos
N=round((tN-t0)/h);
%Variable independiente t
t=t0:h:tN;
%Vector y
y=zeros(1,N+1);
y(1)=y0;
%Bucle
for i=1:N
    y(i+1)=y(i)+h*k1*(a0-y(i))*(b0-y(i));
end
%Gráfica
hold on
plot(t,y,'b','linewidth',3);
plot(t,(a0-y),'y','linewidth',3);
plot(t,(b0-y),'m','linewidth',3);
legend('C','A','B');
xlabel('tiempo(segundos)');
ylabel('concentracion[mol/l]');
hold off


5.2 Gráfica método de Euler (t→∞)

centro

Tal y como habíamos pensado, las concentraciones tienden a A=2 mol/l; B=0 mol/l; C=1 mol/l. Esto se debe a que el compuesto B es el limitante de la reacción, por lo cuál cuando se acaba, el resto de concentraciones se mantienen constantes.

6 Resolución del PVI por el Método del Trapecio y por Runge Kutta de cuarto orden

Una vez que hemos obtenido el PVI por el Método de Euler, queremos obtener el PVI por el método del Trapecio y por Runge Kutta, hay que tener en cuenta que vamos a utilizar los mismos datos que para el método de Euler, por lo que:

  a0 = 3 [mol/L]
  b0 = 1 [mol/L]
  k1 = 1 [mol/s]
  h = 0.1 (salto)
  t = [0,2] (segundos)

6.1 Método del Trapecio

Hay que tener en cuenta que el método del trapecio es un método implícito, a diferencia del método de Euler que era un método explícito. Como siempre partimos de: f(t,y)=k1(a0-y(t))(b0-y(t)) , y tendremos que aplicar la fórmula del trapecio:

                                          yn+1 = yn + h/2*(f(tn,yn) + f(tn+1,yn+1)

El código de Matlab para el método del trapecio es el siguiente:

6.1.1 Código en Matlab

%Trapecio
clear all
%Datos del problema
t0=0; %Instante inicial
tN=2; %Instante final
h=0.1; %Tamaño de paso
k1=1; %valor de la constante específica de la velocidad de reacción
y0=0;
a0=3; %Concentración inicial de A
b0=1; %Concentración inicial de B
%Discretización
N=round((tN-t0)/h);
%Creamos el vector t
t=t0:h:tN;
%Preparación del vector solución y defino primer valor
y=zeros(1,N+1);
y(1)=y0;
%Aplicación del esquema numérico
for i=1:N
y(i+1)=(-h)\((-2*h-1)+sqrt((((2*h)+1)^2)-2*h*(y(i)+(h/2)*(6-(4*y(i))+(y(i)^2)))));
end
%grafico
hold on
plot(t,y,'b','linewidth',2);
a=3.-y;
b=1.-y;
plot(t,(a0-y),'y','linewidth',2);
plot(t,(b0-y),'m','linewidth',2);
legend('C','A','B')
xlabel('tiempo(s)');
ylabel('concentracion[mol/l]');
hold off


6.1.2 Gráfica del Método del Trapecio

centro

Vemos que esta gráfica es prácticamente igual a la del método de Euler, pero sabemos que esta gráfica nos da una aproximación mayor.

6.2 Método de Runge Kutta

El método de Runge Kutta, de cuarto orden, al contrario del método del Trapecio, se trata de un método explícito, igual que el de Euler, por lo que no es necesario hacer ninguna manipulación al esquema numérico, por lo que procederemos directamente. El código Matlab utilizado para el método de Runge-Kutta es el siguiente:

6.2.1 Código en Matlab

%RUNGEKUTTA
clear all
%Datos del problema
t0=0; %Instante inicial
tN=2; %Instante final
h=0.1; %Tamaño de paso
k1=1; %valor de la constante específica de la velocidad de reacción 
y0=0;
a0=3; %Concentración inicial de A
b0=1; %Concentración inicial de B
%Discretización
N=round((tN-t0)/h);
%Creamos el vector t
t=t0:h:tN;
%Preparación del vector solución y defino primer valor
y=zeros(1,N+1);
y(1)=y0;
%Aplicación del esquema numérico
for i=1:N
K1=k1*(a0-y(i))*(b0-y(i));
K2=k1*(a0-(y(i)+(h/2)*K1))*(b0-(y(i)+(h/2)*K1));
K3=k1*(a0-(y(i)+(h/2)*K2))*(b0-(y(i)+(h/2)*K2));
K4=k1*(a0-(y(i)+h*K3))*(b0-(y(i)+h*K3));
y(i+1)=y(i)+(h/6)*(K1+2*K2+2*K3+K4);
end
%grafico
hold on
plot(t,y,'b','linewidth',2);
a=3.-y;
b=1.-y;
plot(t,(a0-y),'y','linewidth',2);
plot(t,(b0-y),'m','linewidth',2);
legend('C','A','B')
xlabel('tiempo(s)');
ylabel('concentracion[mol/l]');
hold off


6.2.2 Gráfica del Método de RUNGE KUTTA

centro

Una vez que hemos obtenido las tres gráficas de los métodos de Euler, Trapecio y Runge-Kutta, podemos observar que todos tienen una gran similitud, pero el método de Euler, se separará más de los demás debido a que es un método de orden 1 y su precisión es más reducida que el resto. Los otros dos métodos serán más similares entre ellos puesto que tienen un mayor orden que el de Euler, el método del trapecio es de segundo orden y el de Runge-Kutta es de cuarto orden, por lo que el método que tendrá una mayor precisión será el de Runge-Kutta, gracias a su orden.


7 Reacción consecutiva

Ahora, suponemos que hay una reacción consecutiva de la siguiente forma:

                  A + B → C → D

Esta reacción, al igual que la reacción anterior, se puede expresar en forma de problema de valor inicial. Para ello, según explica el enunciado, usaremos de nuevo la ley de acción de masas, pero esta vez lo haremos dos veces consecutivas, una para de pasar de A y B a C, y otra para pasar de C a D. Al imponerse la ley de acción de masas, suponemos que la velocidad con la que se forma compuesto C es directamente proporcional a las concentraciones de los compuestos A y B, y de igual forma la de formación de D lo es a la concentración de C que se ha formado.

El problema de valor inicial es un sistema de dos ecuaciones en el que la primera muestra la producción de C y la segunda muestra la producción de D, que está relacionada con la cantidad de producto C en función del tiempo. Los valores en t=0 son las concentraciones iniciales de los productos, es decir, nulos. El sistema sería el siguiente:

  y'1(t) =k1(a0-y(t))(b0-y(t))
  y'2(t) =k2(y1(t)-y2(t))

En el que :

  k1,como ya dijimos anteriormente, es la constante de proporcionalidad de la primera reacción
  k2 es la constante de proporcionalidad de la segunda reacción
  y'1(t) es la velocidad de la reacción química de C
  y'2(t) es la velocidad de la reacción química de D

Dado que los valores de las concentraciones en t=0 son nulos, es decir:

  y1 (t=0) = 0
  y2 (t=0) = 0