Cinética
Reactores
Químico
%Programa para calcular as trajectorias de um CSTR politropo com reacção exotérmica A<-->B de 1ª ordem
% ex: gr(0,425)
%
function ni=gr(xx,yy) global k0 Ea Ke0 Te teta Q Cp UA Text Ce dH V V=3;Q=10;Te=280;Ce=1;UA=20;Text=293;k0=0.1*10^6;Ea=10000; Ke0=100;dH=-4000;Cp=4.0; teta=V/Q; T=Te-5:750; x=BMEes(T); subplot(1,1,1);hold on;grid on ylim([0 1]); xlim([275 750]); plot(T,x(1,:),'LineWidth',2,'Color',[0 0 0]); plot(T,x(2,:),'LineWidth',2,'Color',[0 0 1]); % Balan?os em Est. Estacionario plot(T,Xe(T),'LineWidth',2,'Color',[0.6 0.2 0]); xo=xx; To=yy; tf=10; [t,xT]=ode45(@BME,[0 tf],[xo To]); plot(xT(:,2),xT(:,1),'g') xlabel('T (K)'); ylabel('X'); title('\bf CSTR c/ reac??o exot?rmica de 1?ordem A \leftrightarrow B') legend('BM','BE','Xeq.','Location','Best') end function dxTdt=BME(t,y) global teta Te Text Cp UA V dH x=y(1); T=y(2); k=k1(T); K=Ke(T); dxdt=-1/teta.*x+k.*(1-x-x./K); dTdt=1./teta.*(Te-T)-k.*(1-x-x./K).*dH/Cp-UA/V/Cp.*(T-Text); dxTdt=[dxdt;dTdt]; end function resposta=Ke(y) global Ke0 dH Te T=y; resposta=Ke0*exp(-dH/1.9872.*(1./T-1/Te)); end function resposta=Xe(y) T=y; resposta=Ke(T)./(1+Ke(T)); end function resposta=k1(y) global k0 Ea T=y; resposta=k0*exp(-Ea/1.9872./T); end function resposta=BMEes(y) global teta Q Cp Te UA Text Ce dH T=y; xm=Ke(T).*k1(T).*teta./(Ke(T)+k1(T)*teta.*(1+Ke(T))); xe=((Q*Cp+UA).*T-Q*Cp*Te-UA*Text)/(Q*Ce*(-dH)); resposta=[xm;xe]; end

