Reacciones con autocatálisis 4-C
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Visualizaci´on de campos escalares y vectoriales en elasticidad. Grupo 4-C |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2014-15 |
| Autores | Ignacio Mollá Carcaño, Jorge Javier Rodríguez Anzules, Claudia Jalón Manzano, Pablo Revuelta Aragón, Pedro Torrecilla Sánchez, Alejandro Martínez Gamonal |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Introdución:Reacción bimolecular: A+B[math]\longrightarrow[/math] C
Estamos ante una reacción química irreversible autocatalítica, [math]A+B \longrightarrow C [/math]. Esta reacción obviamente cumplirá el principio de conservación de la masa, es decir, la suma de las masas de los reactivos deberá ser igual a la de los productos, o dicho de otra forma, la velocidad de destrucción es igual a la de creación. Además sabemos que la velocidad de reacción es igual al producto de los reactivos multiplicado por la constante cinética.
[math] X_{0}=1 mol/l[/math] e [math]Y_{0} =0.001 mol/l[/math] ,siendo [math]Y=B[/math] , [math]X=A [/math] y [math] K=1 [/math] La ley de acción de masas nos dará la siguiente ecuación:
[math] y'(t)=kx(t)y(t)[/math]
De la ley de la conservación de la masa obtenemos la siguiente ecuación:
[math] y'(t)+x'(t)=0[/math]
Integrando esta última ecuación, sustituyendo el valor de x(t) en la ecuación de la acción de masas y con la concentración inicial del producto B obtenemos el siguiente PVI:
[math] y'(t)=y(t)(1.01-y(t)) [/math]
[math]Y_{0} =0.001 mol/l[/math]
Para estudiar la existencia e unicidad de nuestro PVI habrá que estudiar la intersección de una bola centrada en el punto (0,0.01) con el dominio, que al ser un polinomio es todo R2. En esa bola intesección con el dominio nuestra función es continua, lo que implica que tendrá solución. Su derivada también es continua en el intervalo nombrado por lo que tendrá una única solución.
2 Resolución del P.V.I mediante los métodos numéricos: Euler, trapecio y Rounge-Kutta
En este apartado resolveremos el PVI mediante diferentes métodos numéricos y compararemos en una gráfica los errores cometidos entre ellos y con la solución exacta que hemos obtenido mediante bernoulli y con un cambio de variable.
clear all
clf
clc
%Trabajo 2: Reacciones con autocatálisis
%Datos
h=0.1;
t0=0;
y0=0.01;
x0=1;
tN=10;
%Calculamos los vectores(Apartados 2 y 3)
t=t0:h:tN; % vector de tiempos
N=(tN-t0)/h;
y=zeros(1,length(t)); %vector de concentración de B según euler
x=zeros(1,length(t)); %vector de concentración de A según euler
z=zeros(1,length(t)); %vector de concentración de B según trapecio
r=zeros(1,length(t)); %vector de concentración de B según rounge-kutta
e=zeros(1,length(t)); %vector de concentración de B exacto
y(1)=y0;
x(1)=1;
z(1)=y0;
r(1)=y0;
for i= 1:N;
%Euler
y(i+1)=y(i)+h*(y(i)*(1.01-y(i)));
x(i)=1.01-y(i);
%Trapecio
z(i+1)=((1.01*(h/2)-1)+sqrt((1-1.01*(h/2))^2-2*h*((h/2)*(z(i)^2)-(1+1.01*(h/2))*z(i))))/h;
%Rounge-kutta
K1=r(i)*(1.01-r(i));
K2=(r(i)+1/2*K1*h)*(1.01-(r(i)+1/2*K1*h));
K3=(r(i)+1/2*K2*h)*(1.01-(r(i)+1/2*K2*h));
K4=(r(i)+(K3*h))*(1.01-r(i)+(K3*h));
r(i+1)=r(i)+(h/6)*(K1+2*K2+2*K3+K4);
end
figure(1)
hold on
plot(t,y);
plot(t,x,'r');
xlabel('tiempo(s)'); ylabel('concentración(mol/l)');
legend('Elemento B','Elemento A','Location','best');
title('Gráfico de las concentraciones de A y B');
hold off
figure(2)
hold on
plot(t,y,'b') %euler
plot(t,z,'g') %trapecio
plot(t,r,'k') %rounge-kutta
plot(t,e,'r') %exacta
xlabel('tiempo(s)'); ylabel('concentración de B(mol/l)');
legend('Euler','Trapecio','Rounge-kutta','Exacta','Location','best');
title('Gráfico de la concentración de B según los diferentes métodos')
hold off
Interpretación: Observamos que el método más exacto es el del trapecio porque es un método ímplicito.
3 Resolución del P.V.I mediante un sistema de ecuaciones por los métodos numéricos: Euler y Rounge-Kutta
%Por sistemas de ecuaciones (Apartado 4)
xx=zeros(1,length(t)); %vector de concentración de A según euler
yy=zeros(1,length(t)); %vector de concentración de B según euler
ra=zeros(1,length(t)); %vector de concentración de A según rounge-kutta
rb=zeros(1,length(t)); %vector de concentración de B según rounge-kutta
xx(1)=x0;
yy(1)=y0;
ra(1)=x0;
rb(1)=y0;
for i=1:N
%Sistema con Euler
xx(i+1)=xx(i)-h.*(xx(i).*yy(i));
yy(i+1)=yy(i)+h.*(xx(i).*yy(i));
%Sistema con Rounge-kutta de orden 4
K1a=-1*ra(i)*rb(i);
K1b=1*ra(i)*rb(i);
K2a=-1*(ra(i)+1/2*K1a*h)*(rb(i));
K2b=1*(rb(i)+1/2*K1b*h)*(ra(i));
K3a=-1*(ra(i)+1/2*K2a*h)*(rb(i));
K3b=1*(rb(i)+1/2*K2b*h)*(ra(i));
K4a=-1*(ra(i)+K3a*h)*(rb(i));
K4b=1*(rb(i)+K3b*h)*(ra(i));
ra(i+1)=ra(i)+(h/6)*(K1a+2*K2a+2*K3a+K4a);
rb(i+1)=rb(i)+(h/6)*(K1b+2*K2b+2*K3b+K4b);
end
figure (4)
hold on
plot(t,xx,'b')
plot(t,yy,'r')
plot(t,ra,'g')
plot(t,rb,'k')
xlabel('tiempo(s)'); ylabel('concentración(mol/l)');
legend('Concentracion de A con Euler','Concentracion de B con Euler','Concentración de A con Rounge-kutta','Concentración de B con Rounge-kutta','Location','best');
hold off