MATLAB: Where Param is getting defined

differential equationsfsolvereactor

function iflag = CSTR_SS_ex1();
% ask the user for the input parameters, which are
% stored in a structure Param
Param.Q = input('Enter vol. flow rate: ');
Param.V = input('Enter reactor volume: ');
Param.k1 = input('Enter rate constant for rxn.# 1: ');
Param.k2 = input('Enter rate constnt for rxn. # 2: ');
Param.cA_in = input('Enter inlet A concentration: ');
Param.cB_in = input('Enter inlet B concentration: ');
Param.cC_in = input('Enter inlet C concentration: ');
Param.cD_in = input('Enter inlet D concentration: ');
% set the initial guess equal to the inlet values
x0 = zeros(4,1);
x0(1) = Param.cA_in;
x0(2) = Param.cB_in;
x0(3) = Param.cC_in;
x0(4) = Param.cD_in;
% call fsolve to obtain the steady-state concentrations
% Options = optimset('Largescle','off','Display','off');
options = optimset('fsolve');
[x,f]=fsolve(@CSTR_SS_calc_f, x0, options, Param);
% f_norm = norm(f,inf);
% get infinity norm
% report the results
disp(' ');
disp('Steady state concentrations: ');
disp(['[A] = ', num2str(x(1))]);
disp(['[B] = ', num2str(x(2))]);
disp(['[C] = ', num2str(x(3))]);
disp(['[D] = ', num2str(x(4))]);
disp(' ');
% disp(['infinity norm of f = ', num2str(f_norm)]);
end
% =================================================================
% This routine returns the function vector for the steady state CSTR
% example
function f = CSTR_SS_calc_f(x,Param);
% extract the unknowns into meaningful names
cA = x(1);
cB = x(2);
cC = x(3);
cD = x(4);
% compute the reaction rates
r1 = Param.k1*cA*cB;
r2 = Param.k2*cB*cC;
f = zeros(4,1);
f(1) = Param.Q*(Param.cA_in - cA) + Param.V*(-r1);
f(2) = Param.Q*(Param.cB_in - cB) + Param.V*(-r1 - r2);
f(3) = Param.Q*(Param.cC_in - cC) + Param.V*(r1 - r2);
f(4) = Param.Q*(Param.cD_in - cD) + Param.V*(r2);
end

Best Answer

When you run the function.....it will ask for certain inputs which user has to input. These inputs are stored in a structure Param. The inputs user has to enter are vol. flow rate, reactor volume, rate constant for rxn.# 1, rate constnt for rxn. # 2, inlet A concentration, inlet B concentration, inlet C concentration, inlet D concentration.