Diferencia entre revisiones de «Reacciones complejas - Grupo 16 A»

De MateWiki
Saltar a: navegación, buscar
(Resolución numérica cuando t→∞ [Apartado 4])
(Sistema de dos ecuaciones diferenciales [Apartado 6])
Línea 252: Línea 252:
 
b=1;
 
b=1;
 
for n=1:N
 
for n=1:N
 +
%euler
 
     y(n+1)=y(n)+h*(k1*(a-y(n))*(b-y(n)));
 
     y(n+1)=y(n)+h*(k1*(a-y(n))*(b-y(n)));
 
     z(n+1)=z(n)+h*k2*(c+y(n)-z(n));
 
     z(n+1)=z(n)+h*k2*(c+y(n)-z(n));

Revisión del 00:12 6 mar 2015

Trabajo realizado por estudiantes
Título Reacciones complejas. (Grupo 16-A)
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores

Arévalo Lecanda, Javier

Buitrago Peña, Marcos

Chamizo Carmona, Javier

La Porta, Nicoletta

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

1 Introducción

En este articulo vamos estudiar un ejercicio de modelización en el cual consideramos una reacción química irreversible en una solución bien mezclada. La reacción en cuestión es en una reacción bimolecular que consiste en que una molécula de A y una de B se juntan para crear una de C.

 A + B → C

Para nuestro ejercicio, supondremos varias cosas:

  • La reacción ocurre para un volumen constante.
  • La reacción ocurre para una temperatura constante.
  • La reacción 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 (A y B)

2 Problema de Valor Inicial (PVI) [Apartado 1]

Lo primero que debemos hacer para resolver este problema es pasar el fenómeno químico a un problema de valor inicial. Para eso usamos la ley de acción de masas.

En esta ecuación tendremos varias constantes

  • k1: constante de velocidad de la reacción, generalmente depende de la temperatura(aquí es constante por que T es constante).
  • a0: concentración inicial de A.
  • b0: concentración inicial de B.

Además de estas constantes tendremos también las variables:

  • y(t): Esta variable nos da la cantidad de producto C que se formaen el tiempo, como el volumen es constante coincide con la concentración de C a lo largo de t.
  • y'(t): Es la derivada de y(t) respecto al tiempo ó lo que es lo mismo la velocidad con que se produce C, es decir, la velocidad de la reacción química.

Tenemos también que mencionar la concentración de A respecto al tiempo que sera (a0−y(t)) y la de B que sera (b0−y(t)). Para nuestra ecuación tomaremos el tiempo como estrictamente mayor que 0: t>0.

Podemos entonces decir de acuerdo con la ley e acción de masas que:

                       y′(t)=k1(a0−y(t))(b0−y(t))

Además es evidente que:

                       y(t=0)=0    y  t>0

por lo que se trata de un PVI. Análisis de la solución y'(t) se trata de un polinomio de orden 2 con raíces iguales a "a0" y "b0" lo que tiene lógica por que la reacción termina cuando se acaba uno de los reactivos, ésta función es continua en todo t>0 por ser un polinomio y su derivada y(t) también por ser un polinomio de orden uno.

Podemos asegurar que tiene solución única puesto que f(t,y), es decir, y'(t) es continua en t=0 aunque necesitemos un t<0 (físicamente no tiene sentido) para cumplir estrictamente el teorema de existencia y unicidad de la solución.

3 Ecuación diferencial si el proceso es reversible [Apartado 2]

Hasta ahora hemos supuesto que el proceso no era reversible, esto significa que A y B se juntaban para crear C. Si ahora suponemos que el proceso es reversible, ademas de A y B juntándose para crear C también tendremos C descomponiéndose para formar A y B. La ecuación diferencial se veria afectada por este cambio.

Tendríamos que añadir nuevos parámetros:

  • k2: Ademas de tener k1, necesitaremos también conocer k2 que es la proporcionalidad de la reacción reversible.
  • c0: Esta constante es la que determina la concentración inicial de C.

Ahora solo tendríamos que reescribir la ecuación diferencial anterior restando le la descomposición de C en A y B.

 y′(t)=k1(a0−y(t))(b0−y(t))−k2(c1+y(t))

4 PVI con el método Euler [Apartado 3]

Vamos ahora a resolver el problema de valor inicial numéricamente con el método de Euler, de aquí en adelante tomaremos la reacción como irreversible.

Primero damos valores a nuestros parametros según el enunciado del trabajo:

  • a0=3 mol/l
  • b0=1 mol/l
  • k1=1 mol/s
  • h=0.1
  • t: [0,2]

Nuestro codigo sera:

a0=3; b0=1; %Concentraciones iniciales de A y B
t0=0; tf=2; %Tiempos iniciales y finales
y0=0; %Tomamos la concentracion de C inicial como 0
k1=1; 
h=0.1; %Paso
N=(tf-t0)/h;
t=t0:h:tf; 
y=zeros(1,N+1);
yy=y0;
for n=1:N
    yy=yy+h*(k1*(a0-yy)*(b0-yy));
    y(n+1)=yy;
end
A=a0-y; %Concentracion de A
B=b0-y; %Concentracion de B
hold on
plot(t,y,'r')
plot(t,A,'b')
plot(t,B,'g')
legend('C','A','B')
hold off


La gráfica obtenida es:

izquierda




















En este gráfico tenemos: la concentración de A en azul, la concentración de B en verde y la concentración de C en rojo. Se puede apreciar fácilmente lo que ocurre en la reacción, las concentraciones de A y de B disminuyen en el tiempo a la misma velocidad en la que la concentración de C crece. Podemos también observar que el limitante en esta reaccion es el B.

5 Resolución numérica cuando t→∞ [Apartado 4]

Como no podemos operar con t=∞ debemos parar el programa cuando la velocidad de reacción sea cercana a cero, como nuestra reaccíon es irreversible ésta terminará en el momento en que se acabe el reactivo limitante, pero como la velocidad es directamente proporcional a esa concentración ésta nunca llegará a ser cero sino que tiende hacia él, supondremos que la reacción ha llegado a su fin cuando llegue al entorno de 1/10000 pero podrían ser menores. El siguiente programa funciona hasta que la velocidad es cero(momento en el que nos deja de interesar seguir operando) Nuestro codigo sera:

a0=3; b0=1; %Concentraciones iniciales de A y B
t0=0;  %Tiempos iniciales y finales
y0=0; %Tomamos la concentracion de C inicial como 0
k1=1; 
h=0.1; %Paso 
yy=y0;
n=1;
y(1)=y0
t(1)=t0;
v(1)=k1*a0*b0 %velocidad inicial
while v>0.0001
    yy=yy+h*k1*(a0-yy)*(b0-yy);
    t(n+1)=t(n)+h;
    v(n)=k1*(a0-yy)*(b0-yy)
    n=n+1;
end
A=a0-y; %Concentracion de A
B=b0-y; %Concentracion de B
hold on
plot(t,y,'r')
plot(t,A,'b')
plot(t,B,'g')
legend('C','B','A')
hold off


GRAFICA

se observa como las concentraciones tienen como asintota las raices del polinomio lo cual es totalmente lógico dado que la velocidad de la reacción es directamente proporcional a su concentración en ese momento, el reactivo limitante se empieza a extinguirse y en consecuencia la velocidad también, llegando en ningún caso a la concentración nula(pero sí aparentemente).

6 Resolución por los métodos del trapecio y de Runge Kutta [Apartado 5]

6.1 Método del trapecio y de Runge Kutta

En éste apartado se aproxima numéricamente a la solución real utilizando los métodos de euler, del trapecio y de Runge kutta. Dichas soluciones quedan grabadas en tres vectores distintos y, yt e yk respectivamente.

t0=0;
tn=5;
h=0.1;
N=(tn-t0)/h;
t=t0:h:tn;
y=zeros(1,N+1); %euler
yk=zeros(1,N+1);%trapecio
yt=zeros(1,N+1);%Runge kutta
y(1)=0;
yt(1)=0;
yk(1)=0;
k=1;
a=3;
b=1;
for n=1:N
    y(n+1)=y(n)+h*(k*(a-y(n))*(b-y(n))); %euler
    yk(n+1)=(-2*h-1+sqrt((2*h+1)^2-4*(-0.5*h)*(-yk(n)-0.5*h*(6-4*yk(n)+yk(n)^2))))/(-h); %trapecio
    k1=(3-yt(n))*(1-yt(n));
    k2=(3-yt(n)-0.5*h*k1)*(1-yt(n)-0.5*h*k1);
    k3=(3-yt(n)-0.5*h*k2)*(1-yt(n)-0.5*h*k2);
    k4=(3-yt(n)-h*k3)*(1-yt(n)-h*k3);
    yt(n+1)=yt(n)+(h/6)*(k1+2*k2+2*k3+k4);%runge kutta
end
A=a-yk;
B=b-yk;
A1=a-y;
B1=b-y;
A2=a-yt;
B2=b-yt;
hold on
plot(t,y,'r')
plot(t,A,'g')
plot(t,yt,'b')
plot(t,A1,'r')
plot(t,B1,'r')
plot(t,yk,'g')
plot(t,A2,'b')
plot(t,B2,'b')
plot(t,B,'g')
legend('euler','trapecio','runge kutta')


7 Sistema de dos ecuaciones diferenciales [Apartado 6]

Ahora se presenta la siguiente reacción:

                                       A + B → C → D

Son dos reacciones consecutivas con k1 y k2 como constantes de velocidad y a,b,c como concentraciones iniciales. por tanto las velocidades de reacción son respectivamente:

                                        y′(t)=k1(a−y(t))(b−y(t))
                                        z′(t)=k2(c+y(t)-z(t))

Y como y(t), z(t) designan la cantidad que se forma de producto en el instante cero

                                        y(0)=0
                                        z(0)=0

Sabemos que es un problema de valor inicial con solución y que se puede resolver en cascada puesto que la segunda función no aparece en la primera.

%en el caso de una segunda reacción con C como reactivo y D como producto
t0=0;
tn=10;
h=0.03;
N=(tn-t0)/h;
t=t0:h:tn;
y=zeros(1,N+1); 
yk=zeros(1,N+1);
z=zeros(1,N+1);
zk=zeros(1,N+1);
y(1)=0;
z(1)=0;
k1=1;
k2=5;
a=3;
b=1;
for n=1:N
%euler
    y(n+1)=y(n)+h*(k1*(a-y(n))*(b-y(n)));
    z(n+1)=z(n)+h*k2*(c+y(n)-z(n));
    %runge kutta 
    kc1=k1*(a-yk(n))*(b-yk(n));
    kc2=k1*(a-yk(n)-0.5*h*kc1)*(b-yk(n)-0.5*h*kc1);
    kc3=k1*(a-yk(n)-0.5*h*kc2)*(b-yk(n)-0.5*h*kc2);
    kc4=k1*(a-yk(n)-h*kc3)*(b-yk(n)-h*kc3);
    yk(n+1)=yk(n)+(h/6)*(kc1+2*kc2+2*kc3+kc4);
    kz1=k2*(yk(n)-zk(n));
    kz2=k2*(yk(n)-zk(n)-0.5*h*kz1);
    kz3=k2*(yk(n)-zk(n)-0.5*h*kz2);
    kz4=k2*(yk(n)-zk(n)-h*kz3);
    zk(n+1)=zk(n)+(h/6)*(kz1+2*kz2+2*kz3+kz4);
    
end
%concentraciones
C=y-z;
Ck=yk-zk;
D=z;
Dk=zk;
hold on
plot(t,C,'r')
plot(t,Ck,'g')
plot(t,D,'r')
plot(t,Dk,'g')
legend('euler','runge kutta')


8 Resolución numérica cuando k2=5 [Apartado 7]

8.1 Método de Euler

8.2 Metodo de Runge Kutta

9 Resolución numérica cuando k2=1/5 [Apartado 8]

9.1 Método de Euler

9.2 Metodo de Runge Kutta