Diferencia entre revisiones de «Reacciones complejas - Grupo 16 A»
(→Método de Euler y runge kutta) |
|||
| (No se muestran 6 ediciones intermedias del mismo usuario) | |||
| Línea 355: | Línea 355: | ||
'''Con k2=5 representamos las concentraciones de C y D''' | '''Con k2=5 representamos las concentraciones de C y D''' | ||
| − | [[Archivo: | + | [[Archivo:Ap7_5.jpg|marco|izquierda]] |
| − | + | ||
| − | + | ||
| − | + | ||
| Línea 409: | Línea 406: | ||
para k2=1/5 [C]max=0.789 en t=1.1 | para k2=1/5 [C]max=0.789 en t=1.1 | ||
| − | [[Archivo: | + | [[Archivo:Ap7_15.jpg|marco|izquierda]] |
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
===Cuando el paso es 0.3=== | ===Cuando el paso es 0.3=== | ||
Revisión actual del 21:56 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 | |
Contenido
- 1 Introducción
- 2 Problema de Valor Inicial (PVI) [Apartado 1]
- 3 Ecuación diferencial si el proceso es reversible [Apartado 2]
- 4 PVI con el método Euler [Apartado 3]
- 5 Resolución numérica cuando t→∞ [Apartado 4]
- 6 Resolución por los métodos del trapecio y de Runge Kutta [Apartado 5]
- 7 Sistema de dos ecuaciones diferenciales [Apartado 6]
- 8 Resolución numérica del sistema [Apartado 7]
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:
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);
y(n+1)=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
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
En éste apartado se aproxima numéricamente a la solución real utilizando el método del trapecio.
t0=0; tn=5;
h=0.1;
N=(tn-t0)/h;
t=t0:h:tn;
k=1; a=3; b=1;
yt=zeros(1,N+1);
yt(1)=0;
yy=yt(1);
for n=1:N
yy=(-2*h-1+sqrt((2*h+1)^2-4*(-0.5*h)*(-yy-0.5*h*(6-4*yy+yy^2))))/(-h);
yt(n+1)=yy;
end
At=a-yt;
Bt=b-yt;
hold on
plot(t,yt,'r')
plot(t,At,'b')
plot(t,Bt,'g')
legend('C','A','B')
hold off
6.2 Método de Runge Kutta
En éste apartado se aproxima numéricamente a la solución real utilizando el método de Runge Kutta.
t0=0; tn=5;
h=0.1;
N=(tn-t0)/h;
t=t0:h:tn;
k=1; a=3; b=1;
yk=zeros(1,N+1);
yk(1)=0;
yy=yk(1);
for n=1:N
k1=(3-yy)*(1-yy);
k2=(3-yy-0.5*h*k1)*(1-yy-0.5*h*k1);
k3=(3-yy-0.5*h*k2)*(1-yy-0.5*h*k2);
k4=(3-yy-h*k3)*(1-yy-h*k3);
yy=yy+(h/6)*(k1+2*k2+2*k3+k4);
yk(n+1)=yy;
end
Ak=a-yk;
Bk=b-yk;
hold on
plot(t,yk,'r')
plot(t,Ak,'b')
plot(t,Bk,'g')
legend('C','A','B')
hold off
7 Sistema de dos ecuaciones diferenciales [Apartado 6]
Ahora se presenta la siguiente reacción:
A + B → C → D
Esta reacción al igual que la reacción anterior se puede pasar a un problema de valor inicial. Para eso usaremos de nuevo la ley de acción de masas. Esta vez dos veces consecutivamente, una primera vez pasando A y B a C y una segunda de C a D. En esta nueva ecuación tendremos varias constantes:
- k1: constante de velocidad de la reacción A+B→C.
- k2: constante de velocidad de la reacción C→D.
- a: concentración inicial de A.
- b: concentración inicial de B.
- c: 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 forman en 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.
- z(t): Esta variable nos da la cantidad de producto D que se forman en el tiempo
- z'(t): Es la derivada de z(t) respecto al tiempo ó lo que es lo mismo la velocidad con que se produce D
Como en la PVI anterior la concentración de A respecto al tiempo que sera (a−y(t)) y la de B que sera (b−y(t)).
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.
8 Resolución numérica del sistema [Apartado 7]
8.1 Método de Euler y runge kutta
t0=0;
tn=10;
h=0.1;
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=1/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*(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
C=y-z;
Ck=yk-zk;
D=z;
Dk=zk;
hold on
plot(t,C,'r')
plot(t,Ck,'b')
plot(t,D,'r')
plot(t,Dk,'b')
legend('euler','runge kutta')
%calculo del la concentración de C máxima
n=1
while Ck(n+1)>Ck(n)&Ck(n+2)>Ck(n+1)
n=n+1;
end
techo=Ck(n)
tiempo=t(n)
Con k2=5 representamos las concentraciones de C y D
con k2=1/5 se observa como la maxima concentracion de C en k2=1/5 es mucho mayor puesto que la segunda reacción es mas lenta y tarda mas en transformar C en D. Nuestro programa nos dice la concentración máxima de C y el instante n que se produce:
Para k2=5 [C]max=0.275 en t=0.21
para k2=1/5 [C]max=0.789 en t=1.1
8.2 Cuando el paso es 0.3
Con h=0.3 se observa que el método de euler aproxima muy mal la solucion real debido a que la derivada tiene valores muy altos cuando t es pequeño, por contra el método de Runge Kutta aproxima mejor ya que es un método de orden 4, aun así h es demasiado grande como para decir que es una buena aproximacion.




