Diferencia entre revisiones de «Reacciones con autocatálisis. Grupo C2»

De MateWiki
Saltar a: navegación, buscar

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/mat/public_html/w/includes/diff/DairikiDiff.php on line 434
(Método de Euler)
(Interpretación)
Línea 175: Línea 175:
 
== Segunda reacción ==
 
== Segunda reacción ==
 
=== Interpretación ===
 
=== Interpretación ===
Vamos a resolver el problema de valor inicial \begin{array}{c} x' = 0.1Ax − 0.1xy\\  y' = 0.1xy − 0.05y\\B' = 0.05y \end{array}\
+
Consideramos la reacción consecutiva propuesta por Lodka en 1920.
 +
 
 +
<math> A + X \rightarrow _{k1} 2X </math>
 +
 
 +
<math> X+ Y \rightarrow _{k2} 2Y </math>
 +
 
 +
<math> Y \rightarrow _{k3} B </math>
 +
 
 +
Tomando A, X, B, e Y como concentraciones de sustancias todas diferentes entre ellas.
 +
Si derivamos dichas concentraciones respecto al tiempo podremos observar como varían cada una de ellas, quedando de la forma
 +
\begin{array}{c} x' = k1Ax − k2xy\\  y' = k2xy − k3y\\B' = k3y\\A' + x' + y' + B' = 0 \end{array}\.
 +
 
 +
Por lo que podemos ver la reacción autocatalítica <math> A + X \rightarrow _{k1} 2X </math> se forma X, ya que es positivo, con una velocidad de reacción k1. De la misma manera observamos que en la reacción <math> X+ Y \rightarrow _{k2} 2Y </math> X se consume con una velocidad de reacción k2.
 +
 
 +
La reacción <math> A' + x' + y' + B' = 0 </math> está en función de las otras por lo que sustituimos llegando a que <math>A'=-k1Ax </math>
 +
 
 +
En conclusión vamos a resolver el problema de valor inicial tomando k1=k2=2k3=0.1 y las condiciones iniciales propuestas \begin{array}{c} x' = 0.1Ax − 0.1xy\\  y' = 0.1xy − 0.05y\\B' = 0.05y\\A'=-0.1Ax\\A(0)=5\\X(0)=0.0005\\Y(0)=0.00001\\B(0)=0 \end{array}
  
 
=== Método de Euler ===
 
=== Método de Euler ===

Revisión del 21:31 26 feb 2015

Trabajo realizado por estudiantes
Título Reacciones con autocatálisis. Grupo C2
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores Ana Martínez Lorente, Natalia Opie Dávila, Javier Parras Martínez, Alfredo Pazos Arjona, Antonio Perez Mata, Javier Siguero Ginés
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, [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 este ejercicio 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 _k1 2B [/math]

2 Primera reacción

2.1 Interpretación

Por la ley de conservación de masas por la cual \[ x'(t) + y'(t) = 0\] Y que integrando en ambas partes obtenemos :\[ x(t) + y(t) = cte\]

Y la ley de acción de masas, por la que: \[ y'(t) = k_{1}*x(t)*y(t) \]

De donde obtenemos que :\[ x(t) = cte - y(t)\] y sustituyendo arriba: \[ y'(t) = k_{1}*(cte - y(t))*y(t) \].

2.2 Ecuación diferencial

2.2.1 Método de Euler

Vamos a resolver el problema por el método de Euler \begin{array}{c} y_n\\ y_{n+1}=y_n+h*f(t_n,y_n)\end{array} Aplicado a nuestra ecuación y sustituyendo por los datos del problema, tendríamos que \begin{array}{c} y_n\\ y_{n+1}=y_n+h*[y_n*(1.01-y_n)]\end{array} Y resolvemos:

Gráfica Método de Euler h=0.1
%Datos:

%Concentración A: 1mol/L,
%Concentración B: 0.01mol/L,
%k=1mol/s, h=0.1, t=[0,10] (s)

%-----------------------------------------------------------------------

k=1;
t0=0; tN=10;
h=0.1; y0=0.01;
%Definimos el vector del tiempo, con un paso de 0.1.
t=t0:h:tN;
%La constante C, del P.V.I., es la suma de las concentraciones (Principio
%de Conservación de la Masa).
% C=0.1+y0; ----> C=1.01;
%Preasignamos el vector y, que será nuestra solución de la concentración B.
y=zeros(1,length(t));
%Introducimos el valor incial en la primera posición del vector.
y(1)=y0;
%Definimos la función, para aplicarla a continuación en el Método de Euler.
F=inline('y*(1.01-y)','t','y');
%Recorremos, con un bucle, nuestro vector y, y en él almacenamos los
%resultados obtenidos con Euler.
for i=1:length(t)-1   
    y(i+1)=y(i)+h*F(t(i),y(i)); %Euler.
end
%De nuevo, por el Principio de Conservación de la Masa,como la suma de las
%concetraciones será C (cte.), podemos calcular la concentración de A como 
%la diferencia entre C y la concentración de B (el vector y).
x=1.01-y;
%Dibujamos ambas gráficas.
plot(t,y,'r');
hold on
plot(t,x,'g');
hold off
title('Gráfica Concentración-Tiempo');
xlabel('tiempo (segundos)');
ylabel('concentración (mol/L)');
legend('Concentración de B','Concentración de A','Location','Best');


En la gráfica se puede observar que la concentración inicial de la sustancia A es de 1 [tex]\frac{mol}{L}[\tex]

2.2.2 Método del Trapecio

Gráfica Método del Trapecio h=0.1
%Datos:

%Concentración A: 0.1mol/L,
%Concentración B: 0.01mol/L,
%k=1mol/s, h=0.1, t=[0,10] (s)

%-----------------------------------------------------------------------

k=1;
t0=0; tN=10;
h=0.1; y0=0.01; c=1.01;
%Definimos el vector del tiempo, con un paso de 0.1.
t=t0:h:tN;
%La constante C, del P.V.I., es la suma de las concentraciones (Principio
%de Conservación de la Masa).
% C=0.1+y0; ----> C=1.01;
%Preasignamos el vector y, que será nuestra solución de la concentración B.
y=zeros(1,length(t));
%Introducimos el valor incial en la primera posición del vector.
y(1)=y0;
%Recorremos, con un bucle, nuestro vector y, y en él almacenamos los
%resultados obtenidos con el Método del Trapecio.
for i=1:length(t)-1   
    %Trapecio:
    y(i+1)=(1/(h*k))*((0.5*h*k*c-1)+sqrt((1-0.5*h*k*c)^2-2*h*k*(-y(i)-(h/2)*y(i)*(c-y(i)))));
end
%De nuevo, por el Principio de Conservación de la Masa,como la suma de las
%concetraciones será C (cte.), podemos calcular la concentración de A como 
%la diferencia entre C y la concentración de B (el vector y).
x=1.01-y;
%Dibujamos ambas gráficas.
plot(t,y,'r');
hold on
plot(t,x,'g');
hold off
title('Gráfica Concentración-Tiempo');
xlabel('tiempo (segundos)');
ylabel('concentración (mol/L)');
legend('Concentración de B','Concentración de A','Location','Best');


2.2.3 Método de Runge-Kutta

Gráfica Método de Runge-Kutta de cuarto orden h=0.1
%Datos:

%Concentración A: 1mol/L,
%Concentración B: 0.01mol/L,
%k=1mol/s, h=0.1, t=[0,10] (s)

%-----------------------------------------------------------------------

t0=0; tN=10;
h=0.1; y0=0.01;
%Definimos el vector del tiempo, con un paso de 0.1.
t=t0:h:tN;
%La constante C, del P.V.I., es la suma de las concentraciones (Principio
%de Conservación de la Masa).
% C=0.1+y0; ----> C=1.01;
%Preasignamos el vector y, que será nuestra solución de la concentración B.
y=zeros(1,length(t));
%Introducimos el valor incial en la primera posición del vector.
y(1)=y0;
%Definimos la función, para aplicarla a continuación en el Método de 
%Runge-Kutta.
F=inline('1*y*(1.01-y)','t','y');
%Recorremos, con un bucle, nuestro vector y, y en él almacenamos los
%resultados obtenidos con RK4.
for k=1:length(t)-1
    %Runge-Kutta de orden 4 (RK4):
    K1=F(t(k),y(k));
    K2=F(t(k)+(h/2),y(k)+h*K1/2);
    K3=F(t(k)+(h/2),y(k)+h*K2/2);
    K4=F(t(k)+h,y(k)+K3*h);
    y(k+1)=y(k)+(h/6)*(K1+2*K2+2*K3+K4);
end
%De nuevo, por el Principio de Conservación de la Masa,como la suma de las
%concetraciones será C (cte.), podemos calcular la concentración de A como 
%la diferencia entre C y la concentración de B (el vector y).
x=1.01-y;
%Dibujamos ambas gráficas.
plot(t,y,'r');
hold on
plot(t,x,'g');
hold off
title('Gráfica Concentración-Tiempo');
xlabel('tiempo (segundos)');
ylabel('concentración (mol/L)');
legend('Concentración de B','Concentración de A','Location','Best');


2.3 Sistema de ecuaciones

2.3.1 Método de Euler

2.3.2 Método de Runge-Kutta

2.4 Conclusión

3 Segunda reacción

3.1 Interpretación

Consideramos la reacción consecutiva propuesta por Lodka en 1920.

[math] A + X \rightarrow _{k1} 2X [/math]

[math] X+ Y \rightarrow _{k2} 2Y [/math]

[math] Y \rightarrow _{k3} B [/math]

Tomando A, X, B, e Y como concentraciones de sustancias todas diferentes entre ellas. Si derivamos dichas concentraciones respecto al tiempo podremos observar como varían cada una de ellas, quedando de la forma \begin{array}{c} x' = k1Ax − k2xy\\ y' = k2xy − k3y\\B' = k3y\\A' + x' + y' + B' = 0 \end{array}\.

Por lo que podemos ver la reacción autocatalítica [math] A + X \rightarrow _{k1} 2X [/math] se forma X, ya que es positivo, con una velocidad de reacción k1. De la misma manera observamos que en la reacción [math] X+ Y \rightarrow _{k2} 2Y [/math] X se consume con una velocidad de reacción k2.

La reacción [math] A' + x' + y' + B' = 0 [/math] está en función de las otras por lo que sustituimos llegando a que [math]A'=-k1Ax [/math]

En conclusión vamos a resolver el problema de valor inicial tomando k1=k2=2k3=0.1 y las condiciones iniciales propuestas \begin{array}{c} x' = 0.1Ax − 0.1xy\\ y' = 0.1xy − 0.05y\\B' = 0.05y\\A'=-0.1Ax\\A(0)=5\\X(0)=0.0005\\Y(0)=0.00001\\B(0)=0 \end{array}

3.2 Método de Euler

Gráfica método de Euler h=0.01
Gráfica método de Euler h=0.001
%Datos del problema de valor inicial
t0=0;
tN=200;
A0=5;
X0=5*(10^-4);
Y0=10^(-5);
B0=0;
k1=0.1;
k2=0.1;
k3=0.05;
h=input('Introduzca un valor para h:');

%Vector de tiempo
t=t0:h:tN;

%Definir el número de intervalos
N=(tN-t0)/h;

%Vectores vacíos para nuestra solución
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);

%Valores iniciales
A(1)=A0;
X(1)=X0;
Y(1)=Y0;
B(1)=B0;

%Resolvemos el sistema

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.*X(i).*A(i));
end

%Gráfica de resultados
hold on
plot(t,X)
plot(t,Y,'g')
plot(t,B,'r')
plot(t,A,'y')
hold off
legend('Concentración X','Concentración de Y','Concentración de B','Concentración de A','Location','best');


3.3 Método de Heun

Gráfica método de Heun
%Datos del problema de valor inicial
t0=0;
tN=200;
A0=5;
X0=5*(10^-4);
Y0=10^(-5);
B0=0;
k1=0.1;
k2=0.1;
k3=0.05;
h=0.01;

%Vector de tiempo
t=t0:h:tN;

%Definir el número de intervalos
N=(tN-t0)/h;

%Vectores vacíos para nuestra solución
A=zeros(1,N+1);
X=zeros(1,N+1);
Y=zeros(1,N+1);
B=zeros(1,N+1);

%Valores iniciales
A(1)=A0;
X(1)=X0;
Y(1)=Y0;
B(1)=B0;

%Definimos las constantes
for i=1:N
K1X=k1.*A(i).*X(i)-k2.*X(i).*Y(i);
K1Y=k2.*X(i).*Y(i)-k3.*Y(i);
K1B=k3.*Y(i);
K1A=-k1.*X(i).*A(i);
K2X=k1.*(A(i)+K1X.*h).*(X(i)+K1X.*h)-k2.*(X(i)+K1X.*h).*(Y(i)+K1X.*h);
K2Y=k2.*(X(i)+K1Y.*h).*(Y(i)+K1Y.*h)-k3.*(Y(i)+K1Y.*h);
K2B=k3.*(Y(i)+K1B.*h);
K2A=-k1.*(X(i)+K1A.*h).*(A(i)+K1A.*h);

X(i+1)=X(i)+0.5*h.*(K1X+K2X);
Y(i+1)=Y(i)+0.5*h.*(K1Y+K2Y);
B(i+1)=B(i)+0.5*h.*(K1B+K2B);
A(i+1)=A(i)+0.5*h.*(K1A+K2A);
end

%Gráficas
hold on
plot(t,X);
plot(t,Y,'g');
plot(t,B,'r');
plot(t,A,'y');
hold off
legend('Concentración X','Concentración de Y','Concentración de B','Concentración de A','Location','best');


3.4 Conclusión