![]() |
function hdif=reacten(s,tmp,in,out,rs,t) % Reacten: General purpose reactor module % function hdif=reacten(s,tmp,in,out,rs,t) % General purpose reactor module: % The number of inlet and exit streams can be any integer >0. % Argument List: % Argument Gives % s vector of states of the exit stream(s). % ('v', 'l', or 's') % tmp temperatures of exit streams in Tdeg. % in the indices of the inlet stream(s). % out the indices of the exit stream(s). % rs the reaction rates. % t The fraction of each compound in the product % that goes into each stream, except that the % last stream need not be given. Each row should % correspond to one exit stream. If tmp and out % are scalars, t does not need to be given. % reacten returns the sum of the enthalpies of the % exit streams minus the sum of the enthalpies % of the inlet streams. % Ex: reacten('vs',[312 25],1:2,3:4,[.94 0.21],[1 1 0]); % % JWD, SHD & OKB, TYLC % global ne stoic nstr=length(out); if nstr==1 % If there is only one exit stream, use reacte. if length(tmp)~=1 % Check first to see that there is exactly one exit temperature disp('The number of streams out is one, but the length of tmp is:') disp(length(tmp)) return end hdif=reacte(s,tmp,in,out,rs) return end if nargin<=5 disp('Your number of exit streams is:') disp(nstr) disp('You must give the fraction of each compound out for all except') disp('the last of those streams as a sixth argument.') end [nrt,nct]=size(t); if nrt==nstr-1 & nrt>0 % the zeros in the line below are included so that sum sums columns % when t is a vector and there are two exits. t=[t;1-sum([t;zeros(1,nct)])]; end sne=size(ne); nc=sne(2)-3; % these zeros are needed for the same reason as above NS=sum([ne(in,4:(nc+3));zeros(1,nc)]); nout=NS+(rs*stoic); k=find(abs(nout)>eps); str=ne(in(1),:); setne(s(1),in(1),tmp(1),nout(k),k) if nstr>1 for j=2:nstr sepe(s(j),s(1),tmp(j),tmp(1),in(1),out([j 1]),t(j,:)); end rem=nout.*t(1,:); l=find(abs(rem)>eps); setne(s(1),out(1),tmp(1),rem(l),l); ne(in(1),:)=str; end hdif=sum(ne(out,3))-sum(ne(in,3));
Also see The Reactor Functions: reacte, reacten. Back to Chapter 5.