source: branches/gui/sample/reactors/fogler/chap4/membrane_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: 3.1 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* Membrane reactor
17*----------------------------------------------------------------------
18* Solved problem from Fogler (1999)
19* Problem number: 4-10
20* Page: 164 (Brazilian version, 2002)
21*----------------------------------------------------------------------
22*
23*   Description:
24*               Sample to calculate of the molar flows as function of the
25*       volume in a membrane reactor with a generic reaction of
26*       dehydrogenation:
27*                       A <-> B + C
28*               The membrane is permeable to the B but it is not permeable to
29*       the A and the C.
30*       
31*   Assumptions:
32*               * change time in volume
33*       * steady-state
34*       * isotermic and isobaric system
35*       * gaseous phase
36*
37*       Specify:
38*               * the inlet stream
39*               * the kinetic parameters
40*
41*----------------------------------------------------------------------
42* Author: Christiano D. W. Guerra and Rodolfo Rodrigues
43* $Id: membrane_reactor.mso 574 2008-07-25 14:18:50Z rafael $
44*--------------------------------------------------------------------*#
45
46using "types";
47
48
49FlowSheet reactor
50        PARAMETERS
51        NComp   as Integer              (Brief="Number of chemical components", Lower=1);
52        stoic(NComp)as Real             (Brief="Stoichiometric number");
53        Kc      as conc_mol             (Brief="Equilibrium constant", DisplayUnit='mol/l');
54        kc      as Real                 (Brief="Mass transfer coefficient", Unit='1/min');
55        R               as Real                 (Brief="Universal gas constant", Unit='atm*l/mol/K', Default=0.082);
56       
57        VARIABLES
58        F(NComp)as flow_mol             (Brief="Molar flow", DisplayUnit='mol/min');
59        C(NComp)as conc_mol             (Brief="Molar concentration", DisplayUnit='mol/l', Lower=0);
60        r(NComp)as reaction_mol (Brief="Rate of reaction", DisplayUnit='mol/l/min');
61        Cto             as conc_mol             (Brief="Total inlet concentration", DisplayUnit='mol/l');
62        k               as Real                 (Brief="Specific rate of reaction", Unit='1/min');
63        V               as volume               (Brief="Volume", DisplayUnit='l');
64       
65        T               as temperature  (Brief="Temperatura");
66        P               as pressure             (Brief="Pressure");
67
68        EQUATIONS
69        "Change time in V"
70        V = time*'l/s';
71       
72        "Molar balance for A"
73        diff(F(1))*'s/l' = r(1);
74        "Molar balance for B"
75        diff(F(2))*'s/l' = r(2) - kc*C(2);
76        "Molar balance for C"
77        diff(F(3))*'s/l' = r(3);
78       
79        "Rate of reaction"
80        r = stoic*k*(C(1) - C(2)*C(3)/Kc);
81
82        "Molar concentration"
83        C*sum(F) = Cto*F;
84       
85        "Total molar concentration"
86        Cto = P/(R*T);
87       
88        SET
89        NComp = 3; # A: propane, B: propylene and C: hydrogen
90        stoic = [-1.0, 1.0, 1.0]; # A <-> B + C
91       
92        kc = 0.20*'1/min';
93        Kc = 0.05*'mol/l';
94       
95        SPECIFY
96        P = 8.2*'atm';  # Isobaric system
97        T = 500*'K';    # Isotermic system
98       
99        k = 0.7*'1/min';
100
101        INITIAL
102        "Molar flow"
103        F = [10, 0.0, 0.0]*'mol/min';
104
105        OPTIONS
106        TimeStep = 10;
107        TimeEnd = 500;
108        TimeUnit = 's';
109end
Note: See TracBrowser for help on using the repository browser.