#*------------------------------------------------------------------- * 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. * *--------------------------------------------------------------------- * Expressing Cj=hj(X) *---------------------------------------------------------------------- * Solved problem from Fogler (1999) * Problem number: 3-7 * Page: 87 (Brazilian edition, 2002) *---------------------------------------------------------------------- * * Description: * Expressing of the molar concentration as function of molar * conversion for a continuous reactor which occurs the oxidation * reaction: * 2SO2 + O2 -> 2SO3 * * Assumptions: * * steady-state * * isotermic and isobaric system * * gaseous phase * * Specify: * * the inlet stream (z,P,T) * * the parameters of reaction * * the outlet conversion * *---------------------------------------------------------------------- * Author: Christiano D. W. Guerra and Rodolfo Rodrigues * $Id: oxidation_of_so2.mso 574 2008-07-25 14:18:50Z rafael $ *--------------------------------------------------------------------*# using "types"; #*--------------------------------------------------------------------- * Model of a stream *--------------------------------------------------------------------*# Model stream PARAMETERS outer NComp as Integer (Brief="Number of chemical components", Lower=1); VARIABLES C(NComp)as conc_mol(Brief="Concentration", DisplayUnit='mol/l', Lower=0); z(NComp)as fraction(Brief="Molar fraction"); end #*--------------------------------------------------------------------- * Example 3-7: Cj=hj(X) *--------------------------------------------------------------------*# FlowSheet pfr PARAMETERS NComp as Integer; stoic(NComp) as Real(Brief="Stoichiometric coefficients"); k as Real (Brief="Specific rate of reaction", Unit='l/mol/s'); R as Real (Brief="Universal gas constant", Unit='atm*l/mol/K', Default=0.082); VARIABLES Inlet as stream; # Inlet stream Outlet as stream; # Outlet stream X as fraction (Brief="Molar conversion"); r as reaction_mol (Brief="Rate of reaction of A", DisplayUnit='mol/l/s'); T as temperature (Brief="Temperature"); P as pressure (Brief="Pressure"); Theta(NComp)as Real (Brief="Parameter Theta"); epsilon as Real (Brief="Parameter epsilon"); EQUATIONS "Change time in X" X = time*'1/s'; "Outlet molar fraction" Outlet.C = Outlet.z*sum(Outlet.C); "Inlet concentration" Inlet.C = Inlet.z*P/(R*T); "Outlet concentration" Outlet.C = Inlet.C(1)*(Theta + stoic*X)/(1 + epsilon*X); "Parameter Theta" Theta = Inlet.z/Inlet.z(1); "Parameter epsilon" epsilon = Inlet.z(1)*sum(stoic); "Rate of reaction" (-r) = k*Outlet.C(1)*Outlet.C(2); SET NComp = 4; # A, B, C and I stoic = [-1.0, -0.5, 1.0, 0.0]; k = 200*'l/mol/s'; SPECIFY Inlet.z = [0.28, 0.1512, 0.0, 0.5688]; P = 1485*'kPa'; T = (227 + 273.15)*'K'; OPTIONS TimeStep = 0.005; TimeEnd = 0.995; end