Escolar Documentos
Profissional Documentos
Cultura Documentos
1
) (
) (
) ( '
2
'
2
s
K
s G
s q
s h
p
onde:
AR
R K
p
0
Exemplo 3 Bloco S-function
EQ/UFRJ
dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
Passando as equaes para o formato Matlab:
Exemplo 3 Bloco S-function
EQ/UFRJ
onde:
Fi: vazo de alimentao do reator (ft3/h)
Cai: concentrao da alimentao do reator (lbm/ft3)
Ca: concentrao no reator (varivel)
k: dado pela equao k = k0*exp(-E/(R*T))
V: volume do reator
F: vazo de sada (ft3/h)
Cp: calor especifico = 0.75 btu/lbm.R
ro: densidade =50 lb/ft3
Ti: temperatura de alimentao (R)
T: temperatura do reator
DeltaH: calor de reao = -30000 BTU/ lbm
U: coeficiente de troca trmica =150 BTU/(h.ft2.R)
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
onde:
A: rea de troca trmica = 250 ft2
Tc: temperatura do fluido de alimentao (R)
E: energia de ativao = 30000 BTU/lbm
R: constante dos gases = 1.99 BTU/lbm.R
parmetros freqentemente alterados
parmetros raramente alterados
parmetros calculados
Legenda:
Exemplo 3 Bloco S-function
EQ/UFRJ
Exemplo 3 Bloco S-function
EQ/UFRJ
Parmetros
freqentemente
alterados
Parmetros raramente alterados
(mscara)
Biblioteca
Functions & Tables
Exemplo 3 Bloco S-function
EQ/UFRJ
Parmetros calculados
Exemplo 3 Bloco S-function
EQ/UFRJ
Fi
Cai
Ca
Ko
V
F
Cp
ro
Ti
T
DeltaH
U
A
Tc
E
R
Em resumo:
Exemplo 3 Bloco S-function
EQ/UFRJ
Configurando o bloco S-function:
Nome do arquivo com as
equaes
Parmetros alterados
pela mscara
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando uma mscara:
Exemplo 3 Bloco S-function
EQ/UFRJ
Localizao do arquivo com as equaes:
O arquivo com as equaes deve estar localizado no mesmo
local dos arquivos Simulink!
O Current Directory do Matlab deve apontar para
esse local!
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando o arquivo com as equaes:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina
%
switch flag
case 0 % Dimensiona o sistema e inicializa os estados
% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando o arquivo com as equaes:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina
%
switch flag
case 0 % Dimensiona o sistema e inicializa os estados
% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';
sys a sada do modelo, cujo significado depende de flag
x0 o vetor de condies iniciais (funciona apenas quando flag = 0 )
t o tempo de simulao
x o vetor de estados do modelo
u o vetor de entradas do modelo (recebido do bloco Mux)
flag um parmetro que informa o tipo de informao que o integrador
espera receber a cada chamado
U,...,k0 so os parmetros adicionais que podem ser passados funo
atravs de uma mascara (devem estar declarados na configurao
do bloco S-function).
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando o arquivo com as equaes:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina
%
switch flag
case 0 % Dimensiona o sistema e inicializa os estados
% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina
%
switch flag
case 0 % Dimensiona o sistema e inicializa os estados
% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';
continua...
sys = [ nmero de estados contnuos
nmero de estados discretos
nmero de sadas
nmero de entradas
marcador de alimentao direta
tempo de amostragem ]
Exemplo 3 Bloco S-function
EQ/UFRJ
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina
%
switch flag
case 0 % Dimensiona o sistema e inicializa os estados
% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';
continua...
Estimativas iniciais para o clculo do sistema de equaes diferenciais
(clculo numrico)
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas
% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas
Ca = x(1);
T = x(2);
V = x(3);
k = k0*exp(-E/(R*T));
dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
sys = [dCa; dT; dV];
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas
% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas
Ca = x(1);
T = x(2);
V = x(3);
k = k0*exp(-E/(R*T));
dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
sys = [dCa; dT; dV];
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas
% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas
Ca = x(1);
T = x(2);
V = x(3);
k = k0*exp(-E/(R*T));
dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
sys = [dCa; dT; dV];
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas
% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas
Ca = x(1);
T = x(2);
V = x(3);
k = k0*exp(-E/(R*T));
dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
sys = [dCa; dT; dV];
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 3 % Calcula as sadas
sys = [x(1) x(2) x(3)];
otherwise
sys = [];
end
Exemplo 3 Bloco S-function
EQ/UFRJ
Carlos Andr Vaz Junior
cavazjunior@gmail.com
http://www.eq.ufrj.br/h2cin/carlosandre