source: branches/gui/sample/reactors/fogler/chap4/semibatch_reactor.mso @ 574

Last change on this file since 574 was 574, checked in by Rafael de Pelegrini Soares, 14 years ago

Updated the models to work with some language constraints

  • Property svn:keywords set to Id
File size: 2.9 KB
Line 
1#*-------------------------------------------------------------------
2* EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC.
3*
4* This LIBRARY is free software; you can distribute it and/or modify
5* it under the therms of the ALSOC FREE LICENSE as available at
6* http://www.enq.ufrgs.br/alsoc.
7*
8* EMSO Copyright (C) 2004 - 2007 ALSOC, original code
9* from http://www.rps.eng.br Copyright (C) 2002-2004.
10* All rights reserved.
11*
12* EMSO is distributed under the therms of the ALSOC LICENSE as
13* available at http://www.enq.ufrgs.br/alsoc.
14*
15*---------------------------------------------------------------------
16* Semibatch isotermic reactor
17*----------------------------------------------------------------------
18* Solved problem from Fogler (1999)
19* Problem number: 4-11
20* Page: 171 (Brazilian version, 2002)
21*----------------------------------------------------------------------
22*
23*   Description:
24*               Sample to calculate of the molar concentrations and conversions
25*       as function of the time in a semibatch (or semicontinuous) reactor
26*       with a irreversible second-order reaction:
27*                       CNBr + CH3NH2 -> CH3Br + NCNH2
28*       
29*   Assumptions:
30*               * elementary reaction
31*               * steady-state
32*       * isotermic and isobaric system
33*       * liquid phase
34*
35*       Specify:
36*               * the inlet stream
37*               * the kinetic parameters
38*
39*----------------------------------------------------------------------
40* Author: Christiano D. W. Guerra and Rodolfo Rodrigues
41* $Id: semibatch_reactor.mso 574 2008-07-25 14:18:50Z rafael $
42*--------------------------------------------------------------------*#
43
44using "types";
45
46
47FlowSheet reactor
48        PARAMETERS
49        NComp           as Integer              (Brief="Number of chemical components", Lower=1);
50        stoic(NComp)as Real                     (Brief="Stoichiometric number");
51        Vo                      as volume               (Brief="Initial volume");
52        vo                      as flow_vol     (Brief="Inlet volumetric flow");
53        Cao             as conc_mol             (Brief="Initial concentration of A");
54       
55        VARIABLES
56        C(NComp)        as conc_mol             (Brief="Concentration", DisplayUnit='mol/l', Lower=0);
57        Co(NComp)       as conc_mol             (Brief="Inlet concentration", DisplayUnit='mol/l', Lower=0);
58       
59        r(NComp)        as reaction_mol (Brief="Rate of reaction", DisplayUnit='mol/l/s');
60        k                       as Real                 (Brief="Specific rate of reaction", Unit='l/mol/s');
61        V                       as volume               (Brief="Volume", DisplayUnit='l');
62        X                       as fraction     (Brief="Molar conversion");
63       
64        EQUATIONS
65        "Molar balance"
66        diff(C) = r + (Co - C)*vo/V; # Co = Inlet condition
67       
68        "Volume"
69        diff(V) = vo;
70       
71        "Rate of reaction"
72        r = stoic*k*C(1)*C(2);
73       
74        "Molar conversion"
75        X = 1 - (C(1)*V)/(Cao*Vo); # Cao = Initial condition
76
77        SET
78        NComp = 4;      # A: cyanogen bromide, B: methylamine,
79                                # C: methyl bromide and D: cyanamide
80        stoic = [-1.0, -1.0, 1.0, 1.0]; # A + B -> C + D
81       
82        Vo = 5.00*'l';
83        vo = 0.05*'l/s';
84        Cao= 0.05*'mol/l'; # Initial condition
85       
86        SPECIFY
87        k = 2.2*'l/mol/s';
88       
89        Co = [0.0, 0.025, 0.0, 0.0]*'mol/l';
90
91        INITIAL
92        "Molar concentration"
93        C = [0.05, 0.0, 0.0, 0.0]*'mol/l';
94        "Volume"
95        V = Vo;
96
97        OPTIONS
98        TimeStep = 5;
99        TimeEnd = 500;
100end
Note: See TracBrowser for help on using the repository browser.