Documente Academic
Documente Profesional
Documente Cultură
//3)Parmetros da Concentraes
//4)Modelagem
// 4.1)Definio das Constantes da Reao
txt=['']
dados=x_mdialog(['ENTRADA DO USURIO';'';'Qual opo de entrada de dados ser
usada?';'';'[1] Constantes Cinticas da Reao (para a temperatura desejada)';'';'[2] Energias
de ativao e Constantes de Proporcionalidade'],txt,[''])
opcao=evstr(dados(1))
R=8.314;
// 4.1.1)Para o usurio que deseja inserir as constantes cinticas da reao (para a dada
temperatura de operao)
if (opcao==1)
txt=['1a REAO - Constante Cintica da Reao DIRETA:';'
Constante
Cintica da Reao INVERSA:';'2a REAO - Constante Cintica da Reao DIRETA:';'
Constante Cintica da reao INVERSA:'];
paramcin=x_mdialog(['CONSTANTES DA REAO';'';'Defina os parmetros de
constantes cinticas (SI):'],txt,['';'';'';''])
CKd1=evstr(paramcin(1))
CKi1=evstr(paramcin(2))
CKd2=evstr(paramcin(3))
CKi2=evstr(paramcin(4))
A1d=evstr(paramcin(2))
A1i=evstr(paramcin(3))
Ea2=evstr(paramcin(4))
A2d=evstr(paramcin(5))
A2i=evstr(paramcin(6))
CKd1 = A1d*exp(-1*Ea1/(R*T));
CKi1 = A1i*exp(-1*Ea1/(R*T));
CKd2 = A2d*exp(-1*Ea2/(R*T));
CKi2 = A2i*exp(-1*Ea2/(R*T));
end
//5)Equacionamento do CSTR
// 5.1)Equao Principal
mode(-1);
function [dC]=fun(t, C)
dC(1)=(1/tau)*Cin(1) - (1/tau)*C(1) - Coefa*(CKd1*(C(1)^Coefa)*(C(2)^Coefb) CKi1*(C(3)^Coefc)*(C(4)^Coefd)); // dC/dt = 1/tau.(Cin-C) - r1
dC(2)=(1/tau)*Cin(2) - (1/tau)*C(2) - Coefb*(CKd1*(C(1)^Coefa)*(C(2)^Coefb) CKi1*(C(3)^Coefc)*(C(4)^Coefd)); // dC/dt = 1/tau.(Cin-C) - r1
dC(3)=(1/tau)*Cin(3) - (1/tau)*C(3) + Coefc*((CKd1*(C(1)^Coefa)*(C(2)^Coefb) CKi1*(C(3)^Coefc)*(C(4)^Coefd))-(CKd2*(C(3)^Coefc)*(C(4)^Coefd) CKi2*(C(5)^Coefe))); // dC/dt = 1/tau.(Cin-C) + r1 - r2
dC(4)=(1/tau)*Cin(4) - (1/tau)*C(4) + Coefd*((CKd1*(C(1)^Coefa)*(C(2)^Coefb) CKi1*(C(3)^Coefc)*(C(4)^Coefd))-(CKd2*(C(3)^Coefc)*(C(4)^Coefd) CKi2*(C(5)^Coefe))); // dC/dt = 1/tau.(Cin-C) + r1 - r2
dC(5)=(1/tau)*Cin(5) - (1/tau)*C(5) + Coefe*(CKd2*(C(3)^Coefc)*(C(4)^Coefd) CKi2*(C(5)^Coefe)); // dC/dt = 1/tau.(Cin-C) + r2
endfunction
// 5.2)Entrada de dados relativos ao tempo
C0=C_start;
txt=['Tempo Inicial';'Passo';'Tempo Final '];
tempo=x_mdialog(['FORNEA AS INFORMAES DE TEMPO';''],txt,['';'';''])
t0=evstr(tempo(1))
passo=evstr(tempo(2))
tf=evstr(tempo(3))
t=[t0:passo:tf];
tpontos=(tf-t0)/passo + 1;
// 5.3)Equao para clculo das derivadas
%ODEOPTIONS=[1,0,0,%inf,0,2,500,12,5,1,-1,-1];
C=ode(C0,t0,t,fun);
//6)Plotando o grfico de tempo X concentraes
scf(1);
subplot(221),plot2d(t,C(1,:),3,leg='CA');
xtitle("","Tempo (s)", "Concentraes (mol/m3)");
subplot(222),plot2d(t,C(2,:),4,leg='CB');
xtitle("","Tempo (s)", "Concentraes (mol/m3)");
subplot(223),plot2d(t,C(3,:),5,leg='CC');
xtitle("","Tempo (s)", "Concentraes (mol/m3)");
subplot(224),plot2d(t,C(4,:),6,leg='CD');
xtitle("","Tempo (s)", "Concentraes (mol/m3)");
subplot(225),plot2d(t,C(5,:),7,leg='CE');
xtitle("","Tempo (s)", "Concentraes (mol/m3)");
//scf(2);
//*************************Colocar esses valores em janela para o
usurio**************************
xa=1-(C(1,tpontos)/Cin(1));
mprintf(' O valor da concentrao Ca : %f\n',C(1,tpontos));
mprintf(' O valor da converso xa : %f\n\n',xa);
xb=1-(C(2,tpontos)/Cin(2));
mprintf(' O valor da concentrao Cb : %f\n',C(2,tpontos));
mprintf(' O valor da converso xb : %f\n\n',xb);
mprintf(' O valor da concentrao Cc : %f\n\n',C(3,tpontos));
mprintf(' O valor da concentrao Cd : %f\n\n',C(4,tpontos));
mprintf(' O valor da concentrao Ce : %f\n\n',C(5,tpontos));
show_window()
//7)Fechando
clear
mclose('all');