Modelamiento de Un Reactor Batch en Matlab
Modelamiento de Un Reactor Batch en Matlab
Modelamiento de Un Reactor Batch en Matlab
Ecuaciones de modelamiento
𝑑𝑇 𝑄 − 𝑟𝐴 𝑉∆𝐻
=
𝑑𝑡 𝜌𝐶𝑝𝑉
𝑄 = 𝑈𝐴 𝑇 (𝑇𝑎 − 𝑇)
𝑑𝑋𝐴 𝑟𝐴 𝑉
=
𝑑𝑡 𝑁𝐴0
1. Simule el reactor batch con las condiciones descritas anteriormente y concluya que está
ocurriendo en el reactor.
Código desarrollado en MATLAB:
clc
clear
v=1;At=2.5;U=1300;Ta=120;To=40;dH=-16*10^6;Cao=1;rho=800;Cp=5250;ER=-
8000;ko=5*10^5;deltat=0.1;NA0=1;
i=1;t(i)=0;T(i)=To;xA(i)=0;
eror=1;
while eror>0.0001
rA(i)=5E5*exp(-8000/T(i))*Cao*(1-xA(i));
Q=U*At*(Ta-T(i));
dxadt=rA(i)/NA0;
dTdt=(Q-rA(i)*v*dH)/(rho*Cp*v);
xA(i+1)=xA(i)+dxadt*deltat;
T(i+1)=T(i)+dTdt*deltat;
t(i+1)=t(i)+deltat;
eror=abs(0.1-xA(i));
i=i+1;
end
rA(i)=rA(i-1)
subplot(3,1,1)
plot(t,xA)
title("Conversión vs Tiempo ")
xlabel("tiempo [s]")
ylabel("Conversión")
subplot(3,1,2)
plot(t,T)
title("Temperatura vs Tiempo")
xlabel("tiempo [s]")
ylabel("Temperatura [°C]")
subplot(3,1,3)
plot(t,rA)
title("Velocidad de reacción vs Tiempo")
xlabel("tiempo [s]")
ylabel("Velocidad de reacción")
Al simular el reactor bajo las condiciones dadas, se genera una cantidad considerablemente
grande de iteraciones para cumplir el criterio de parada que es que la conversión sea 0,8; sin
embargo, este no se cumple. Esto sugiere que no está ocurriendo la reacción bajo las
condiciones de operación dadas y se necesita realizar cambios en el sistema para que ocurra
esta reacción. Estos cambios pueden ser ya sea modificar la temperatura del fluido de
calentamiento ya que a pesar de que la reacción es exotérmica, si se aumenta la velocidad de
reacción y se ve afectado es el equilibrio químico; o añadir un catalizador que aumente la
velocidad de reacción.
Ta=400 °C
Figura 3. Variación de la conversión, temperatura y velocidad de reacción en función del tiempo de reacción
a Ta=400°C.
Ahora, a una temperatura del fluido de calentamiento de 400 °C (ver figura 3), se observa
que los tiempos de reacción disminuyen y se alcanzan temperaturas y velocidades de reacción
más altas, así como conversiones mayores a periodos de tiempo más cortos comparándolos
con los de la figura 2 y dejan de haber comportamientos estacionarios. Al analizar las curvas
de conversión y velocidad de reacción se observa que inicialmente no ocurren cambios
significativos y esto se debe a que el sistema no ha llegado a la condición de temperatura que
necesita para que se de la reacción, sin embargo, durante este tiempo si se observan cambios
en la temperatura del reactor y es debido a que está ocurriendo una transferencia de energía
calórica desde el fluido de calentamiento hacia el reactor, ya que el primero se encuentra a
una mayor temperatura y el sistema tiende a buscar un equilibrio térmico.
B. Adición de un catalizador
Figura 4. Variación de la conversión, temperatura y velocidad de reacción en función del tiempo de reacción
a ER=-1000
while eror<350
k=ko*exp(-8000/T(i));
Q(i)=U*A*(Ta-T(i));
ra(i)=k*cao*(1-xa(i));
dxadt=ra(i)/cao;
dTdt=(Q(i)-ra(i)*v*deltaH)/(rho*Cp);
xa(i+1)=xa(i)+dxadt*deltat;
T(i+1)=T(i)+dTdt*deltat;
t(i+1)=t(i)+deltat;
eror=T(i);
i=i+1;
end
eror=0;
while eror<0.8
k=ko*exp(-8000/T(i));
Q(i)=0;
ra(i)=k*cao*(1-xa(i));
dxadt=ra(i)/cao;
dTdt=(Q(i)-ra(i)*v*deltaH)/(rho*Cp);
xa(i+1)=xa(i)+dxadt*deltat;
T(i+1)=T(i)+dTdt*deltat;
t(i+1)=t(i)+deltat;
eror=xa(i);
i=i+1;
end
eror=350;
while eror>25
k=ko*exp(-8000/T(i));
Q(i)=U*A*(Taf-T(i));
ra(i)=k*cao*(1-xa(i));
dxadt=ra(i)/cao;
dTdt=(Q(i)-ra(i)*v*deltaH)/(rho*Cp);
xa(i+1)=xa(i)+dxadt*deltat;
T(i+1)=T(i)+dTdt*deltat;
t(i+1)=t(i)+deltat;
eror=T(i);
i=i+1;
end
ra(i)=ra(i-1);
Q(i)=Q(i-1);
subplot(4,1,1)
plot(t,xa)
title("Conversión vs Tiempo ")
xlabel("tiempo [s]")
ylabel("Conversión")
subplot(4,1,2)
plot(t,T)
title("Temperatura vs Tiempo")
xlabel("tiempo [s]")
ylabel("Temperatura")
subplot(4,1,3)
plot(t,ra)
title("Velocidad de reacción vs Tiempo")
xlabel("tiempo [s]")
ylabel("Velocidad de reacción")
subplot(4,1,4)
plot(t,Q)
title("Calor vs Tiempo")
xlabel("tiempo [s]")
ylabel("Calor")
Figura 5. Variación de la conversión, temperatura, velocidad de reacción y calor en función del tiempo.
Con base en los resultados obtenidos mostrados en la figura 5, se observa que la temperatura
en un comienzo aumenta hasta 350 °C, luego sus variaciones empiezan a ser muy pequeñas,
ya que no se está generando una transferencia de calor con el entorno y finalmente disminuye,
tal y como se realizó la estrategia de operación. Ahora, respecto al calor ocurre un
comportamiento diferente, en un principio disminuye, luego se mantiene constante (debido
a que como se mencionó se trabaja adiabáticamente y por lo tanto no hay intercambio de
energía térmica con los alrededores) y finalmente aumenta; este comportamiento se justifica
en que la reacción es exotérmica.
Por otra parte, se puede obtener la temperatura óptima de operación por medio de la curva de
velocidad de reacción, ya que a 350°C es donde se alcanza un máximo de la velocidad de
reacción y a partir de allí disminuye debido a la formación de productos que desacelera la
reacción, puesto que no es de tipo reversible. Y finalmente, respecto a la conversión, se
observa que de acuerdo a lo dicho anteriormente de la temperatura óptima, es justo a esta
temperatura donde comienza a aumentar la conversión y se va estabilizando a medida que
transcurre el tiempo.
4. Simule el reactor batch sugiriendo una nueva estrategia de operación. Analice los
resultados.
a. Se calienta el reactor hasta 400°C
b. Operar de forma isotérmicamente hasta una conversión de 0.8
c. Se enfría el reactor hasta 15°C
Código desarrollado en MATLAB:
clc
clear
cao=1;nao=1;U=1300;A=2.5;Ta=400;ko=5E5;v=1;deltaH=-16E6;rho=800;
Cp=5250;
Taf=25;
deltat=0.1;
i=1;t(i)=0;T(i)=40;xa(i)=0;
eror=0;
while eror<400
k=ko*exp(-8000/T(i));
Q(i)=U*A*(Taf-T(i));
ra(i)=k*cao*(1-xa(i));
dxadt=ra(i)/cao;
dTdt=(Q(i)-ra(i)*v*deltaH)/(rho*Cp);
xa(i+1)=xa(i)+dxadt*deltat;
T(i+1)=T(i)+dTdt*deltat;
t(i+1)=t(i)+deltat;
eror=T(i);
i=i+1;
end
eror=0;
while eror<0.9
k=ko*exp(-8000/T(i));
ra(i)=k*cao*(1-xa(i));
dxadt=ra(i)/cao;
Q(i)=(ra(i)*v*deltaH);
xa(i+1)=xa(i)+dxadt*deltat;
T(i+1)=T(i);
t(i+1)=t(i)+deltat;
eror=xa(i);
i=i+1;
end
eror=0;
while eror>15
k=ko*exp(-8000/T(i));
Q(i)=U*A*(Ta-T(i));
ra(i)=k*cao*(1-xa(i));
dxadt=ra(i)/cao;
dTdt=(Q(i)-ra(i)*v*deltaH)/(rho*Cp);
xa(i+1)=xa(i)+dxadt*deltat;
T(i+1)=T(i)+dTdt*deltat;
t(i+1)=t(i)+deltat;
eror=T(i);
i=i+1;
end
%eror=1;eror>0.0001;eror=abs(0.1-xa(i));
ra(i)=ra(i-1);
Q(i)=Q(i-1);
subplot(4,1,1)
plot(t,xa)
title("Conversión vs Tiempo ")
xlabel("tiempo [s]")
ylabel("Conversión")
subplot(4,1,2)
plot(t,T)
title("Temperatura vs Tiempo")
xlabel("tiempo [s]")
ylabel("Temperatura")
subplot(4,1,3)
plot(t,ra)
title("Velocidad de reacción vs Tiempo")
xlabel("tiempo [s]")
ylabel("Velocidad de reacción")
subplot(4,1,4)
plot(t,Q)
title("Calor vs Tiempo")
xlabel("tiempo [s]")
ylabel("Calor")
Figura 6. Variación de la conversión, temperatura, velocidad de reacción y calor en función del tiempo
De la figura 6 se puede decir que al igual que en el inciso 3, la conversión no tiene cambios
hasta que no se alcanza la temperatura óptima para que se de la reacción, que este caso se
alcanzó entre los 1900 y 2000 s, luego se empieza a estabilizar por motivos de que se alcanza
la conversión máxima que se puede lograr a esas condiciones y no se da más la generación
de productos, comportamiento que también se puede observar en las gráficas de temperatura,
velocidad de reacción y calor.
La temperatura aumenta hasta 400°C, que fue la temperatura establecida para el
calentamiento y luego se mantiene constante (si se observa que se realizó el proceso de forma
isotérmica en este periodo de tiempo) para finalmente disminuir y estabilizarse producto de
que se alcanzó la conversión máxima y la reacción no se mantiene liberando energía como
se ve en la curva de calor. Por último, la velocidad de reacción alcanza un pico máximo en
la temperatura óptima de operación y a medida que se va consumiendo el reactivo A,
disminuye debido a la baja disponibilidad de este que pueda reaccionar.