#*------------------------------------------------------------------- * EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC. * * This LIBRARY is free software; you can distribute it and/or modify * it under the therms of the ALSOC FREE LICENSE as available at * http://www.enq.ufrgs.br/alsoc. * * EMSO Copyright (C) 2004 - 2007 ALSOC, original code * from http://www.rps.eng.br Copyright (C) 2002-2004. * All rights reserved. * * EMSO is distributed under the therms of the ALSOC LICENSE as * available at http://www.enq.ufrgs.br/alsoc. * *--------------------------------------------------------------------- * Multiple reactions in a CSTR *---------------------------------------------------------------------- * Solved problem from Fogler (1999) * Problem number: 8-12 * Page: 460 (Brazilian version) *---------------------------------------------------------------------- * * Description: * There are these reactions in series: * A -> B -> C * This sample calculates the outlet molar concentration as * function of the time in a CSTR. It is possible to identify the MSS * (Multiple Steady-State). * * Assumptions * * elementary reactions * * steady-state * * isobaric system * * gaseous phase * * Specify: * * the inlet stream * * the kinetic parameters * * the parameters of components * *---------------------------------------------------------------------- * Author: Christiano D. W. Guerra and Rodolfo Rodrigues * $Id: series_reactions.mso 574 2008-07-25 14:18:50Z rafael $ *--------------------------------------------------------------------*# using "types"; FlowSheet multiple_reactions PARAMETERS NComp as Integer (Brief="Number of components", Lower=1); NReac as Integer (Brief="Number of reactions"); stoic(NComp,NReac)as Real (Brief="Stoichiometric coefficients"); DH(NReac) as enth_mol (Brief="Enthapy of formation in reaction"); vo as flow_vol (Brief="Volumetric flow"); Cp as cp_mol (Brief="Heat capacity"); UA as Real (Brief="Heat change", Unit='J/min/K'); tau as time_min (Brief="Residence time"); Ta as temperature (Brief="Surface temperature"); Tr_ko(NReac)as temperature (Brief="Reference temperature for ko"); ko(NReac) as Real (Brief="Frequency factor", Unit='1/min'); E(NReac) as energy_mol (Brief="Activation energy"); R as Real (Brief="Universal gas constant", Unit='cal/mol/K', Default=1.987); VARIABLES C(NComp) as conc_mol (Brief="Molar concentration", Lower=-1e-6); Generated as energy_mol (Brief="Generated heat"); Removed as energy_mol (Brief="Removed heat"); T as temperature (Brief="Temperature of the Reactor"); kappa as Real (Brief="Kappa parameter"); Tc as temperature (Brief="Temperature of reactor surface"); k(NReac) as Real (Brief="Specific rate of reaction", Unit='1/min'); Co as conc_mol (Brief="Initial concentration of A"); To as temperature (Brief="Initial temperature"); EQUATIONS "Temperature profile" diff(T) = 2*'K/min'; "Parameter kappa" kappa = UA/(vo*Co)/Cp; "Specific rate of reaction" k = ko*exp(E/R*(1/Tr_ko - 1/T)); "Molar concentration of A" C(1) = Co/(1+tau*k(1)); "Generated term" Generated = (-DH(1))*k(1)*tau/(1 + k(1)*tau) + (-DH(2))*k(1)*k(2)*tau^2/(1 + tau*k(1))/(1 + tau*k(2)); "Temperature of reactor surface" Tc = (To + kappa * Ta)/(1 + kappa); "Molar concentration of B" C(2) = tau*k(1)*C(1)/(1 + tau*k(2)); "Molar concentration of C" Co = sum(C); "Removed term" Removed = Cp*(1 + kappa)*(T - Tc); SET NComp = 3; # A, B, and C NReac = 2; # A->B->C DH = [-5.50e4, -7.15e4]*'J/mol'; vo = 1000*'m^3/min'; ko = [ 3.30, 4.58]/'min'; E = [9.9e3, 2.7e4]*'cal/mol'; Tr_ko = [300, 500]*'K'; Cp = 200*'J/mol/K'; UA = 4e4*'J/min/K'; tau = 0.01*'min'; Ta = 330*'K'; SPECIFY To = 283*'K'; Co= 0.3*'mol/m^3'; INITIAL "Temperature" T = 283*'K'; OPTIONS TimeStep = 2; TimeEnd = 225; TimeUnit = 'min'; end