Está en la página 1de 5

CORIÑAUPA ZEVALLOS CLAUDIA ISABEL (IQ)

CORIÑAUPA ZEVALLOS CLAUDIA ISABEL (IQ)

function Problem_1
clc, clear all
disp('---------------------------------------------------')
disp(' Método de Runge Katta ')
disp(' Ejercicio 1 ')
disp(' En un proceso no isotermico no adiabatico ')
disp('---------------------------------------------------')
syms t XA T P
v0=1; d0=10; Cp=20; UA=60; P0=200*(10^3);
%m^2/s kg/m^3 J/kg*K J/K*s*m^3 Pa
T0=300; Ts=330; E=10*10^3; R=8.3145;
%K K J/mol J/mol*K
Hr=-10*10^3; Kdp=1*10^3;
%J/mol Pa/m^3
%Velocidad de reacción
ke=2*10^(-2); %1/s
R=8.314; %J/mol*K
CORIÑAUPA ZEVALLOS CLAUDIA ISABEL (IQ)
A=exp(-E/(R*T))/ke;
k=A*exp(-E/(R*T));
%Otras ecuaciones
FA0=1;
%Tenemmos en cuenta que (-rA)=k*CA
%Operamos (-rA)=k*CA0*(1-XA)
%Sabemos que CA0=FA0/v0
rA=k*(FA0/v0)*(1-XA);
v=v0*(P0/P)*(T/T0)*(1+XA);
%LA ECUACION DIFERENCIAL
dXA=(rA*v0)/FA0;
dT=((-Hr*rA)/(d0*Cp))+((UA*(Ts-T))/(d0*Cp));
dP=-v*Kdp;
%VALORES INICIALES
t0=0; tf=10; XA0=0; T0=300; P0=200000;
X(1)=0; XA1(1)=0; Te(1)=300; P1(1)=200*(10^3);
%INTERVALO
h=1;
X=[t0:h:tf];
for i=2:length(X)
k1(i)=double(subs(dXA,{t,XA,T,P},{X(i-1),XA0,T0,P0}));
c1(i)=double(subs(dT,{t,XA,T,P},{X(i-1),XA0,T0,P0}));
d1(i)=double(subs(dP,{t,XA,T,P},{X(i-1),XA0,T0,P0}));
k2(i)=double(subs(dXA,{t,XA,T,P},{X(i-
1)+h/2,XA0+h/2*k1(i),T0+h/2*c1(i),P0+h/2*d1(i)}));
c2(i)=double(subs(dT,{t,XA,T,P},{X(i-
1)+h/2,XA0+h/2*k1(i),T0+h/2*c1(i),P0+h/2*d1(i)}));
d2(i)=double(subs(dP,{t,XA,T,P},{X(i-
1)+h/2,XA0+h/2*k1(i),T0+h/2*c1(i),P0+h/2*d1(i)}));
k3(i)=double(subs(dXA,{t,XA,T,P},{X(i-
1)+h/2,XA0+h/2*k2(i),T0+h/2*c2(i),P0+h/2*d2(i)}));
c3(i)=double(subs(dT,{t,XA,T,P},{X(i-
1)+h/2,XA0+h/2*k2(i),T0+h/2*c2(i),P0+h/2*d2(i)}));
d3(i)=double(subs(dP,{t,XA,T,P},{X(i-
1)+h/2,XA0+h/2*k2(i),T0+h/2*c2(i),P0+h/2*d2(i)}));
k4(i)=double(subs(dXA,{t,XA,T,P},{X(i-
1)+h,XA0+h*k3(i),T0+h*c3(i),P0+h*d3(i)}));
c4(i)=double(subs(dT,{t,XA,T,P},{X(i-
1)+h,XA0+h*k3(i),T0+h*c3(i),P0+h*d3(i)}));
d4(i)=double(subs(dP,{t,XA,T,P},{X(i-
1)+h,XA0+h*k3(i),T0+h*c3(i),P0+h*d3(i)}));
XA1(i)=XA0+h/6*(k1(i)+2*k2(i)+2*k3(i)+k4(i));
Te(i)=T0+h/6*(c1(i)+2*c2(i)+2*c3(i)+c4(i));
P1(i)=P0+h/6*(d1(i)+2*d2(i)+2*d3(i)+d4(i));
XA0=XA1(i); T0=Te(i); P0=P1(i);
end
disp('| i | XA | Temp. | P |')
disp('---------------------------------------------------')
for p=1:length(X)
fprintf('| %1.0f | %3.4f | %3.4f | %3.4f
|\n',X(p),XA1(p),Te(p),P1(p))
disp('---------------------------------------------------')
end
for i=1:length(X)
Temperatura(i)=Te(i)/T0;
Presion(i)=P1(i)/P0;
end
disp('-------------------------------')
disp(' t | T/T0 | P/P0 |')
disp('-------------------------------')
for p=1:length(X)
CORIÑAUPA ZEVALLOS CLAUDIA ISABEL (IQ)
fprintf(' %2.2f | %3.4f | %3.4f
|\n',X(p),Temperatura(p),Presion(p))
disp('-------------------------------')
end
%DIAGRAMA DE TIEMPO vs. CONVERSIÓN
subplot(2,2,1), plot(X,XA1,'o-g'), grid on
title('GRAFICO TIEMPO vs. CONVERSIÓN'), legend('t - XA')
xlabel('TIEMPO'), ylabel('CONVERSIÓN')
%DIAGRAMA DE TIEMPO vs. T/T0
subplot(2,2,2), plot(X,Temperatura,'s-r'), grid on
title('GRAFICO TIEMPO vs. T/T0'), legend('t - T/T0')
xlabel('TIEMPO'), ylabel('T/T0 (K)')
%DIAGRAMA DE TIEMPO vs. P/P0
subplot(2,2,3:4), plot(X,Presion,'*-m'), grid on
title('GRAFICO TIEMPO vs. P/P0'), legend('t - P/P0')
xlabel('TIEMPO'), ylabel('P/P0 (Pa)')
end

corriendo programa:
CORIÑAUPA ZEVALLOS CLAUDIA ISABEL (IQ)

También podría gustarte