Reacciones con Autocatálisis (A5)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Reacciones con Autocatálisis. Grupo 5A |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2014-15 |
| Autores | Javier Blanco Villarroel Marta Cavero Guillén Alba Bringas Gil Irene Bendala Sugrañes Paula Botella Andreu |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
1 Introducción
Consideraremos 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,
- [math] A + B \rightarrow C [/math]
Supondremos también 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.
En nuestro caso analizaremos el caso particular en el que A se transforma en B pero suponiendo
que la presencia de B hace de efecto catalítico en la reacción. Escribiremos este proceso como una
reacción bimolecular
- [math] A + B \rightarrow k . 2B [/math]
en la que B hace al mismo tiempo papel de reactivo y producto.
2 Apartados 1 2 y 3
Llamaremos:
[math] x= A+B[/math]
[math] y= 2B[/math]
Despejando el sistema obtenemos que:
[math] B=\frac{y}{2}[/math]
[math] A=x-\frac{y}{2}[/math]
A partir del principio de conservación de masas sabemos que [math] x+y= cte [/math] por lo que [math] x'+ y' = 0[/math] , quedando demostrada la primera ecuación.
A partir de la ley de acción de masas obtenemos que la velocidad de reacción [math] v= k.A.B[/math] y además sabemos que [math]v= y' = -x'[/math]
Del sistema anterior obtenemos que [math] AB=\frac{y}{2}. (x-\frac{y}{2})[/math], sustituyendo:
[math]y' = k.\frac{y}{2}.(x-\frac{y}{2}) [/math] y como [math] x=cte-y[/math] podemos decir que [math]y' = k.\frac{y}{2}.(cte-y-\frac{y}{2}) [/math]
[math]\frac{k}{2} = k[/math] puesto que es una constante.
Seguimos despejando [math] y'=k.y(\frac{2}{3}cte-y) = k.y(cte-y) \rightarrow y'= k.x.y [/math]
Integrando la primera ecuación y sustituyendo el valor de x(t) en la segunda, obtenemos que [math] y'=-k.y²[/math] por lo que el PVI asociado será:
- [math] y'=-k.y²[/math]
- [math] y(x₀)= y₀[/math]
Para que tenga una solución única f(x,y) tiene que ser continua en (x0,y0) [math] \rightarrow [/math]Punto de condición inicial.
Además [math] \frac{\partial f}{\partial f} (x,y)[/math] tiene que ser continua en (x0,y0).
Como [math] \frac{\partial f}{\partial f}(x,y) = -2kyy' \rightarrow [/math] Es continua para todo valor (x0,y0).
Y [math]f(x,y)= -k.y²[/math] también lo es para todo valor (x0,y0), podemos afirmar que tiene una solución única.
Suponiendo que las concentraciones iniciales de A y B son [math]1\frac{mol}{l}[/math] y [math]0,01\frac{mol}{l}[/math] respectivamente,
y [math]k=1\frac{mol}{l}[/math], resolvemos el PVI por el método de Euler, eligiendo un paso h = 0,1, en los primeros
10 segundos.
%Ejercicio 2.2 Euler
t0=0
tn=10
n=100
h=(tn-t0)/n;
t=t0:h:tn;
y0=1
y=zeros(1,n+1);
y(1)=y0;
yy=y0;
k=1
x0=0.01
x=zeros(1,n+1);
x(1)=x0;
xx=x0;
for i=1:n
yy=yy+h*(-k*xx.*yy);
xx=xx+h*k*(xx.*yy);
y(i+1)=yy;
x(i+1)=xx;
end
plot(t,y,'g','linewidth',2)
title('Concentración - Tiempo','FontName','Berlin sans FB','FontSize', 20);
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
legend('Concentración de B','Concentración de A','location','east')
Ahora lo resolveremos por el método del trapecio:
%Ejercicio 2.3 trapecio
t0=0
tn=10
n=100
h=(tn-t0)/n;
t=t0:h:tn;
y0=1
y=zeros(1,n+1);
y(1)=y0;
yy=y0;
k=1
x0=0.01;
x=zeros(1,n+1);
x(1)=x0;
xx=x0;
for i=1:n
yy=(((2*yy)/(-k*h))+xx.*yy)/((-2/(k*h))+(-k*xx));
xx=(((2*xx)/(k*h))+xx.*yy)/((2/(k*h))-(k*yy));
y(i+1)=yy;
x(i+1)=xx;
end
plot(t,x,'k','linewidth',2)
hold on
plot(t,y,'c','linewidth',2)
title('Concentración - Tiempo (Trapecio)','FontName','Berlin sans FB','FontSize', 20);
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
legend('Concentración de B','Concentración de A','location','best'
Y por último por el método de Runge-Kutta:
%Ejercicio 2.3 Runge Kutta
t0=0
tn=10
n=100
h=(tn-t0)/n;
t=t0:h:tn;
y0=1
y=zeros(1,n+1);
y(1)=y0;
yy=y0;
k=1
x0=0.01
x=zeros(1,n+1);
x(1)=x0;
xx=x0;
for i =1:n
k1A=(-k*xx.*yy);
k1B=(k*xx.*yy);
y1=yy+h*k1A/2;
x1=xx+h*k1B/2
k2A=(-k*x1.*y1);
k2B=(k*x1.*y1);
y2=yy+h*k2A/2;
x2=xx+h*k2B/2;
k3A=(-k*x2.*y2);
k3B=(k*x2.*y2);
y3=yy+h*k3A/2;
x3=xx+h*k3B/2;
k4A=(-k*x3.*y3);
k4B=(k*x3.*y3);
yy=yy+((h/6)*(k1A+2*k2A+2*k3A+k4A));
xx=xx+((h/6)*(k1B+2*k2B+2*k3B+k4B));
y(i+1)=yy;
x(i+1)=xx;
end
figure(1)
plot(t,x,'y','linewidth',2)
hold on
plot(t,y,'m','linewidth',2)
title('Concentración - Tiempo (Runge-Kutta)','FontName','Berlin sans FB','FontSize', 20);
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
legend('Concentración de B','Concentración de A','location','best')
3 Apartado 4
En este apartado resolveremos el problema anterior tratándolo como un sistema de dos variables. Para ello emplearemos los métodos de Euler y Runge-Kutta.
t0=0; tf=10;
w0=[1;0.01];
h=0.1; N=(tf-t0)/h;
t=t0:h:tf;
w=zeros(2,N+1);
%las filas de la matriz w coinciden número de incógnitas en el sistema
w(:,1)=w0;
ww=w0;
%Euler
for n=1:N
F=[-1*ww(1)*ww(2);1*ww(1)*ww(2)];
ww=ww+h*F;
w(:,n+1)=ww;
end
subplot(1,2,1)
plot(t,w,'*');
%MATLAB dibuja una gráfica para cada columna
%NO poner color para que nos ponga cada una de un color
legend('Concentración de A','Concentración de B', 'location','best')
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Euler)','FontName','Berlin sans FB','FontSize', 10);
%Runge Kutta
z0=[1;0.01]; %para volver a empezar
z=zeros(2,N+1); %las filas es el número de incógnitas en el sistema
z(:,1)=z0;
zz=z0;
for n=1:N
F=[-1*zz(1)*zz(2);1*zz(1)*zz(2)];
k1=F;
z1=F+(1/2)*k1*h;
k2=z1;
z2=F+(1/2)*k2*h;
k3=z2;
z3=F+k3*h;
k4=z3;
zz=zz+(h/6)*(k1+2*k2+2*k3+k4);
z(:,n+1)=zz;
end
subplot(1,2,2)
plot(t,z,'o')
legend('Concentración de A','Concentración de B', 'location','best')
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Runge-Kutta)','FontName','Berlin sans FB','FontSize', 10);
En esta reacción biomolecular, tenemos inicialmente A en concentración [math]1\frac{mol}{l}[/math] y B en concentración [math]0.1\frac{mol}{l}[/math], en ella B actúa como catalizador, lo que implica que a medida que su concentración va aumentando, la velocidad de la reacción aumenta de manera exponencial; esto se aprecia en la pendiente de las curvas de ambos reactivos, las cuales, al ser la representación de la derivada de las concentraciones, nos indican cómo de rápido varían dichas concentraciones (la velocidad con la que varían), esta pendientes son inicialmente prácticamente horizontales, y van aumentando a medida que se forma B.
También cabe destacar que las pendiente de las curvas de las concentraciones de A y B son iguales pero de sentido contrario para cada instante, lo cual nos indica que la velocidad con la que se pierde A es la misma con la que se genera B. Por otro parte, esto le da el carácter simétrico a la gráfica, ya que, teniendo en cuenta la ley de concentración de masas, todo lo que desaparece de A se "transforma" en B.
La máxima velocidad de la reacción se alcanzará a los cinco segundos del inicio de la reacción, instante en el que las concentraciones de A y B son iguales; a partir de ese momento la velocidad de la reacción empieza a disminuir, es decir, la pendiente de las curvas de las concentraciones se va acercando a la horizontal, haciéndose nula en el instante en que la concentración de A ha desaparecido por completo (a los diez segundo de iniciarse la reacción), momento en el que obtenemos la concentración final de B ([math]1\frac{mol}{l}[/math]), siendo este el final de la reacción autocatalítica.
4 Apartado 6
t0=0;
tf=200;
h=0.01;
N=(tf-t0)/h;
t=t0:h:tf;
A0=5;
X0=5*(10^-4);
Y0=10^(-5);
B0=0;
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);
A(1)=A0;
X(1)=X0;
Y(1)=Y0;
B(1)=B0;
K1=0.1; K2=K1; K3=K1/2;
for i=1:N
X(i+1)=X(i)+h*(K1*A(i)*X(i)-K2*X(i)*Y(i));
Y(i+1)=Y(i)+h*(K2*X(i)*Y(i)-K3*Y(i));
B(i+1)=B(i)+h*(K3*Y(i));
A(i+1)= A(i)+h*(-K1*A(i)*X(i));
end
hold on
plot(t,A,'-r');
plot(t,X,'-g');
plot(t,Y,'-y');
plot(t,B,'-');
hold off
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Euler)','FontName','Berlin sans FB','FontSize', 20);
legend('Concentración de A','Concentración de X', 'Concentración de Y', 'Concentración de B', 'location','east')t0=0;
tf=200;
h=0.001;
N=(tf-t0)/h;
t=t0:h:tf;
A0=5;
X0=5*(10^-4);
Y0=10^(-5);
B0=0;
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);
A(1)=A0;
X(1)=X0;
Y(1)=Y0;
B(1)=B0;
K1=0.1; K2=K1; K3=K1/2;
for i=1:N
X(i+1)=X(i)+h*(K1*A(i)*X(i)-K2*X(i)*Y(i));
Y(i+1)=Y(i)+h*(K2*X(i)*Y(i)-K3*Y(i));
B(i+1)=B(i)+h*(K3*Y(i));
A(i+1)= A(i)+h*(-K1*A(i)*X(i));
end
hold on
plot(t,A,'-r');
plot(t,X,'-g');
plot(t,Y,'-y');
plot(t,B,'-');
hold off
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Euler)','FontName','Berlin sans FB','FontSize', 20);
legend('Concentración de A','Concentración de X', 'Concentración de Y', 'Concentración de B', 'location','east')
comparación concentración y:
t0=0;
tf=200;
h=0.001;
N=(tf-t0)/h;
t=t0:h:tf;
A0=5;
X0=5*(10^-4);
Y0=10^(-5);
B0=0;
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);
A(1)=A0;
X(1)=X0;
Y(1)=Y0;
B(1)=B0;
K1=0.1; K2=K1; K3=K1/2;
for i=1:N
X(i+1)=X(i)+h*(K1*A(i)*X(i)-K2*X(i)*Y(i));
Y(i+1)=Y(i)+h*(K2*X(i)*Y(i)-K3*Y(i));
B(i+1)=B(i)+h*(K3*Y(i));
A(i+1)= A(i)+h*(-K1*A(i)*X(i));
end
hold on
plot(t,Y,'-y');
t01=0;
tf1=200;
h1=0.01;
N1=(tf1-t01)/h1;
t1=t01:h1:tf1;
A01=5;
X01=5*(10^-4);
Y01=10^(-5);
B01=0;
A1=zeros(1,N1+1);
X1=zeros(1,N1+1);
Y1=zeros(1,N1+1);
B1=zeros(1,N1+1);
A1(1)=A01;
X1(1)=X01;
Y1(1)=Y01;
B1(1)=B01;
K11=0.1; K12=K1; K13=K11/2;
for i=1:N1
X1(i+1)=X1(i)+h1*(K11*A1(i)*X1(i)-K12*X1(i)*Y1(i));
Y1(i+1)=Y1(i)+h1*(K12*X1(i)*Y1(i)-K13*Y1(i));
B1(i+1)=B1(i)+h1*(K13*Y1(i));
A1(i+1)= A1(i)+h1*(-K11*A1(i)*X1(i));
end
plot(t1,Y1,'-r');
hold off
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Euler)','FontName','Berlin sans FB','FontSize', 20);
legend('Concentración de Y con paso h=0.01','Concentración de Y con paso h=0.001', 'location','east')
comparación:
t0=0;
tf=200;
h=0.001;
N=(tf-t0)/h;
t=t0:h:tf;
A0=5;
X0=5*(10^-4);
Y0=10^(-5);
B0=0;
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);
A(1)=A0;
X(1)=X0;
Y(1)=Y0;
B(1)=B0;
K1=0.1; K2=K1; K3=K1/2;
for i=1:N
X(i+1)=X(i)+h*(K1*A(i)*X(i)-K2*X(i)*Y(i));
Y(i+1)=Y(i)+h*(K2*X(i)*Y(i)-K3*Y(i));
B(i+1)=B(i)+h*(K3*Y(i));
A(i+1)= A(i)+h*(-K1*A(i)*X(i));
end
hold on
plot(t,A,'-r');
plot(t,X,'-g');
plot(t,Y,'-y');
plot(t,B,'-');
t0=0;
tf=200;
h=0.001;
N=(tf-t0)/h;
t=t0:h:tf;
A10=5.00001;
X10=5.1*(10^-4);
Y10=20^(-5);
B10=0.00001;
A1=zeros(1,N+1);
X1=zeros(1,N+1);
Y1=zeros(1,N+1);
B1=zeros(1,N+1);
A1(1)=A10;
X1(1)=X10;
Y1(1)=Y10;
B1(1)=B10;
K1=0.1; K2=K1; K3=K1/2;
for i=1:N
X1(i+1)=X1(i)+h*(K1*A1(i)*X1(i)-K2*X1(i)*Y1(i));
Y1(i+1)=Y1(i)+h*(K2*X1(i)*Y1(i)-K3*Y1(i));
B1(i+1)=B1(i)+h*(K3*Y1(i));
A1(i+1)= A1(i)+h*(-K1*A1(i)*X1(i));
end
plot(t,A1,'-k');
plot(t,X1,'-k');
plot(t,Y1,'-k');
plot(t,B1,'-k');
hold off
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Euler)','FontName','Berlin sans FB','FontSize', 20);
5 Apartado 7
En este último apartado resolveremos el sistema de reacciones encadenadas mediante el método de Heun.
t0=0; tf=200;
h=0.01; N=(tf-t0)/h;
t=t0:h:tf;
A0=5; X0=5*(10^-4); Y0=10^(-5); B0=0;
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);
A(1)=A0; X(1)=X0; Y(1)=Y0; B(1)=B0;
aa=A0; xx=X0; yy=Y0; bb=B0;
K1=0.1; K2=K1; K3=K1/2;
for n=1:N
K1A=-K1*aa*xx;
K2A=K1A+K1A*h;
K1X=K1*aa*xx-K2*xx*yy;
K2X=K1X+K1X*h;
K1Y=K2*xx*yy-K3*yy;
K2Y=K1Y+K1Y*h;
K1B=K3*yy;
K2B=K1B+K1B*h;
aa=aa+0.5*h*(K1A+K2A);
xx=xx+0.5*h*(K1X+K2X);
yy=yy+0.5*h*(K1Y+K2Y);
bb=bb+0.5*h*(K1B+K2B);
A(n+1)=aa;
X(n+1)=xx;
Y(n+1)=yy;
B(n+1)=bb;
end
plot(t,A,'*r');
hold on
plot(t,X,'*g');
plot(t,Y,'*y');
plot(t,B,'*');
hold off
xlabel('Tiempo (s)','FontSize', 11);
ylabel('Concentración (mol/L)','FontSize', 11);
title('Concentración - Tiempo (Heun)','FontName','Berlin sans FB','FontSize', 20);
legend('Concentración de A','Concentración de X', 'Concentración de Y', 'Concentración de B', 'location','best')
En esta ocasión tenemos una seria de reacciones bimoleculares encadenadas, y mediante esta gráfica intentamos ilustrar las conexiones entre ellas.
En la primera reacción interviene A con una concentración inicial de [math]5\frac{mol}{l}[/math] y X con una concentración inicial de 5*10-4 [math]\frac{mol}{l}[/math], siendo X el catalizador de la reacción en este caso. La reacción alcanza su máxima velocidad a lo 20 segundos y finaliza, al consumirse todo a los 30 segundos aproximadamente, dando lugar a una concentración final de X de [math]5\frac{mol}{l}[/math].
A continuación, los [math]5\frac{mol}{l}[/math] de X reaccionan con una concentración inicial de Y de 10-4 que actúa como catalizador de esta segunda reacción. En este caso, la duración de la misma es mucho menor, de apenas 20 segundos, la concentración de X desaparece rápidamente por lo que sólo da tiempo a que se formen [math]3,5\frac{mol}{l}[/math] de Y. La velocidad máxima de la reacción se alcanza a los 10 segundos de iniciarse.
Finalmente, en la última reacción de la serie, la concentración resultante de Y se transforma en B, cuya concentración inicial es cero, y que actúa como catalizador. Esta reacción, más lenta que la anterior, alcanza su velocidad máxima a los 20 segundos de iniciarse (aproximadamente) y finaliza a los 150 segundos con una concentración de B de [math]5\frac{mol}{l}[/math], que coincide con la concentración inicial de A, muestra de que el principio de conservación de la masa se cumple. Como en los casos anteriores la reacción, y con ella la serie, finaliza al igualarse la concentración de Y a cero.