Diferencia entre revisiones de «Reacciones complejas (Grupo D1)»
(→La reacción D es más rápida que la reacción C) |
|||
| Línea 44: | Línea 44: | ||
==La reacción D es más rápida que la reacción C== | ==La reacción D es más rápida que la reacción C== | ||
Tomamos como k1=5, y k2=1; de esta manera la segunda reacción es mucho mas rapido. El tamaño de paso introducido es de h=0.01. Creamos el siguiente código de MatLAB, utilizando los métodos de Euler y de Runge-Kutta: | Tomamos como k1=5, y k2=1; de esta manera la segunda reacción es mucho mas rapido. El tamaño de paso introducido es de h=0.01. Creamos el siguiente código de MatLAB, utilizando los métodos de Euler y de Runge-Kutta: | ||
| + | {{matlab|codigo= % apartado 7 | ||
| + | clear all | ||
| + | %datos | ||
| + | h=input('Introducir tamaño de paso'); | ||
| + | y0=[0;0]; | ||
| + | z0=[0;0]; | ||
| + | t0=0; | ||
| + | tN=10; | ||
| + | %Definimos la variable independiente t | ||
| + | t=t0:h:tN; | ||
| + | |||
| + | %Creamos la matriz de las soluciones para el método de Euler | ||
| + | y=zeros(2,length(t)); | ||
| + | y(:,1)=y0; | ||
| + | |||
| + | %Creamos la matriz de las soluciones para el método de Runge-Kutta | ||
| + | z=zeros(2,length(t)); | ||
| + | z(:,1)=y0; | ||
| + | |||
| + | for i=1:length(t)-1 | ||
| + | %euler | ||
| + | y(:,i+1)=y(:,i)+h*[1*(3-y(1,i))*(1-y(1,i)); 5*(y(1,i)-y(2,i))]; | ||
| + | %runge-kutta | ||
| + | K1=[1*(3-z(1,i))*(1-z(1,i)); 5*(z(1,i)-z(2,i))]; | ||
| + | K2=[1*(3-(z(1,i)+h/2*K1(1)))*(1-(z(1,i)+h/2*K1(1))); 5*((y(1,i)+h/2*K1(2))-(y(2,i)+h/2*K1(2)))]; | ||
| + | K3=[1*(3-(z(1,i)+h/2*K2(1)))*(1-(z(1,i)+h/2*K2(1))); 5*((y(1,i)+h/2*K2(2))-(y(2,i)+h/2*K2(2)))]; | ||
| + | K4=[1*(3-(z(1,i)+h*K3(1)))*(1-(z(1,i)+h*K3(1))); 5*((y(1,i)+h*K3(2))-(y(2,i)+h*K3(2)))]; | ||
| + | z(:,i+1)=z(:,i)+h/6*(K1+2*K2+2*K3+K4); | ||
| + | end | ||
| + | |||
| + | |||
| + | figure(1) | ||
| + | hold on | ||
| + | plot(t,y(1,:)) %Concentración de C por Euler | ||
| + | plot(t,y(2,:),'r') %Concentración de D por Euler | ||
| + | plot(t,z(1,:),'k') %Concentración de C por Runge-kutta | ||
| + | plot(t,z(2,:),'g') %Concentración de D por Runge-kutta | ||
| + | legend('Concentración de C por Euler','Concentración de D por Euler','Concentración de C por Runge-Kutta','Concentración de D por Runge-Kutta','Location','best') | ||
| + | hold off}} | ||
==La reacción D es más lenta que la reacción C== | ==La reacción D es más lenta que la reacción C== | ||
Tomamos como k<sub>1</sub>=1/5, y k<sub>2</sub>=1; de esta manera la segunda reacción es más lenta. El tamaño de paso introducido es de h=0.01. | Tomamos como k<sub>1</sub>=1/5, y k<sub>2</sub>=1; de esta manera la segunda reacción es más lenta. El tamaño de paso introducido es de h=0.01. | ||
Revisión del 00:38 3 mar 2015
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Reacciones complejas (Grupo D1) |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2014-15 |
| Autores | Rincón Crespo, Kevin
Rodríguez Gómez, Javier Sans Jiménez, Alejandro Sesto Muñoz, María Victoria Vallejo Asín, José Manuel Villarino Redondo, Álvaro |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
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 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.
2 Concentración del reactivo C a lo largo del tiempo
y'(t) = k1(a0 − y(t))(b0 − y(t)), t > 0
2.1 Concentración del reactivo C a lo largo del tiempo en un proceso reversible
3 Método de Euler
4 Método del trapecio
5 Método de Runge-Kutta
6 Reacción consecutiva
Consideramos la reacción A + B → k1C → k2D
Para resolverla creamos el sistema siguiente:
[math]y'\ltsub\gt1\lt/sub\gt(t)=k\ltsub\gt1\lt/sub\gt(a\ltsub\gt0\lt/sub\gt − y\ltsub\gt1\lt/sub\gt(t))(b\ltsub\gt0\lt/sub\gt − y\ltsub\gt1\lt/sub\gt(t))[/math]
[math]y'\ltsub\gt2\lt/sub\gt(t)=k\ltsub\gt2\lt/sub\gty\ltsub\gt1\lt/sub\gt(t)[/math]
[math]y\ltsub\gt1\lt/sub\gt(0)=0, y\ltsub\gt2\lt/sub\gt(0)=0[/math]
6.1 La reacción D es más rápida que la reacción C
Tomamos como k1=5, y k2=1; de esta manera la segunda reacción es mucho mas rapido. El tamaño de paso introducido es de h=0.01. Creamos el siguiente código de MatLAB, utilizando los métodos de Euler y de Runge-Kutta:
% apartado 7
clear all
%datos
h=input('Introducir tamaño de paso');
y0=[0;0];
z0=[0;0];
t0=0;
tN=10;
%Definimos la variable independiente t
t=t0:h:tN;
%Creamos la matriz de las soluciones para el método de Euler
y=zeros(2,length(t));
y(:,1)=y0;
%Creamos la matriz de las soluciones para el método de Runge-Kutta
z=zeros(2,length(t));
z(:,1)=y0;
for i=1:length(t)-1
%euler
y(:,i+1)=y(:,i)+h*[1*(3-y(1,i))*(1-y(1,i)); 5*(y(1,i)-y(2,i))];
%runge-kutta
K1=[1*(3-z(1,i))*(1-z(1,i)); 5*(z(1,i)-z(2,i))];
K2=[1*(3-(z(1,i)+h/2*K1(1)))*(1-(z(1,i)+h/2*K1(1))); 5*((y(1,i)+h/2*K1(2))-(y(2,i)+h/2*K1(2)))];
K3=[1*(3-(z(1,i)+h/2*K2(1)))*(1-(z(1,i)+h/2*K2(1))); 5*((y(1,i)+h/2*K2(2))-(y(2,i)+h/2*K2(2)))];
K4=[1*(3-(z(1,i)+h*K3(1)))*(1-(z(1,i)+h*K3(1))); 5*((y(1,i)+h*K3(2))-(y(2,i)+h*K3(2)))];
z(:,i+1)=z(:,i)+h/6*(K1+2*K2+2*K3+K4);
end
figure(1)
hold on
plot(t,y(1,:)) %Concentración de C por Euler
plot(t,y(2,:),'r') %Concentración de D por Euler
plot(t,z(1,:),'k') %Concentración de C por Runge-kutta
plot(t,z(2,:),'g') %Concentración de D por Runge-kutta
legend('Concentración de C por Euler','Concentración de D por Euler','Concentración de C por Runge-Kutta','Concentración de D por Runge-Kutta','Location','best')
hold off6.2 La reacción D es más lenta que la reacción C
Tomamos como k1=1/5, y k2=1; de esta manera la segunda reacción es más lenta. El tamaño de paso introducido es de h=0.01. Creamos el siguiente código de MatLAB, utilizando los métodos de Euler y de Runge-Kutta:
clear all
%datos
h=input('Introducir tamaño de paso');
y0=[0;0];
z0=[0;0];
t0=0;
tN=10; %Observamos la reacción durante los primeros 10 segundos
%Definimos la variable independiente t
t=t0:h:tN;
%Creamos la matriz de las soluciones para el método de Euler
y=zeros(2,length(t));
y(:,1)=y0;
%Creamos la matriz de las soluciones para el método de Runge-Kutta
z=zeros(2,length(t));
z(:,1)=y0;
for i=1:length(t)-1
%euler
y(:,i+1)=y(:,i)+h*[1*(3-y(1,i))*(1-y(1,i)); 1/5*(y(1,i)-y(2,i))];
%runge-kutta
K1=[1*(3-z(1,i))*(1-z(1,i)); 1/5*(z(1,i)-z(2,i))];
K2=[1*(3-(z(1,i)+h/2*K1(1)))*(1-(z(1,i)+h/2*K1(1))); 1/5*((y(1,i)+h/2*K1(2))-(y(2,i)+h/2*K1(2)))];
K3=[1*(3-(z(1,i)+h/2*K2(1)))*(1-(z(1,i)+h/2*K2(1))); 1/5*((y(1,i)+h/2*K2(2))-(y(2,i)+h/2*K2(2)))];
K4=[1*(3-(z(1,i)+h*K3(1)))*(1-(z(1,i)+h*K3(1))); 1/5*((y(1,i)+h*K3(2))-(y(2,i)+h*K3(2)))];
z(:,i+1)=z(:,i)+h/6*(K1+2*K2+2*K3+K4);
end
figure(1)
hold on
plot(t,y(1,:)) %Concentración de C por Euler
plot(t,y(2,:),'r') %Concentración de D por Euler
plot(t,z(1,:),'k') %Concentración de C por Runge-Kutta
plot(t,z(2,:),'g') %Concentración de D por Runge-Kutta
legend('Concentración de C por Euler','Concentración de D por Euler','Concentración de C por Runge-Kutta','Concentración de D por Runge-Kutta','Location','best')
hold off
A partir de él, obtenemos la siguiente gráfica:
Observamos que la reacción C es más rápida que la D, ya que crece más rápidamente. Ambas reacciones se van aproximando al valor de y(t)=1 a medida que avanza el tiempo, lo cual indica que tanto la reacción C como la D tendrán una concentración final de 1 molar. Al cabo de 4.75 segundos, la concentración de la reacción C ya alcanza este valor, mientras que la reacción D crece más lentamente, y no consigue esta concentración hasta pasados 55.17 segundos. Estos valores los hayamos con la ayuda de las herramientas del gráfico de MatLAB.