source: trunk/eml/reactors/cstr.mso @ 325

Last change on this file since 325 was 325, checked in by Argimiro Resende Secchi, 15 years ago

Set icons positions for most devices.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.5 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* Model of cstr reactor
17*--------------------------------------------------------------------
18* Author: Paula B. Staudt
19* $Id: cstr.mso 325 2007-07-29 00:41:04Z arge $
20*--------------------------------------------------------------------*#
21
22using "streams";
23
24Model cstr_basic
25
26ATTRIBUTES
27        ATTRIBUTES
28        Pallete         = false;
29        Brief           = "Basic model for a CSTR reactor";
30       
31PARAMETERS
32
33outer   NComp                                           as Integer      (Brief = "Number Of Components");
34                NReac                                           as Integer      (Brief = "Number Of Reactions");
35                stoic(NComp, NReac)     as Real                 (Brief = "Stoichiometric Matrix");
36
37VARIABLES
38
39in      Inlet   as stream       (Brief="Inlet Stream", PosX=0, PosY=0);
40out     Outlet  as streamPH     (Brief="Outlet Stream", PosX=1, PosY=1);
41
42        q                       as heat_rate    (Brief="Heat");
43        Vr                      as volume               (Brief="Reacting Volume");
44        M                       as mol                  (Brief = "Molar total amount");
45        C(NComp)        as conc_mol     (Brief="Components concentration");
46
47EQUATIONS
48
49"Molar Concentration"
50        Outlet.z * M = C * Vr;
51
52"Molar fraction"
53    sum(Outlet.z) = 1;
54end
55
56Model cstr_yield as cstr_basic
57
58ATTRIBUTES
59        ATTRIBUTES
60        Pallete         = true;
61        Icon            = "icon/cstr";
62        Brief           = "Model of a CSTR with given yield";
63       
64PARAMETERS
65       
66        yield(NReac) as fraction (Brief="Yield");
67       
68EQUATIONS
69
70        Outlet.z*Outlet.F = Inlet.z*Inlet.F * sumt(stoic*(1-yield));
71
72"Reactor Energy Balance"
73        diff(M*Outlet.h) = Inlet.F*Inlet.h - Outlet.F*Outlet.h - q;
74
75end
76
77
78Model cstr as cstr_basic
79       
80ATTRIBUTES
81        ATTRIBUTES
82        Pallete         = true;
83        Icon            = "icon/cstr";
84        Brief           = "Model of a generic CSTR";
85        Info            = "
86        Requires the information of:
87         * Reaction values
88         * Heat of reaction
89        ";
90
91VARIABLES
92       
93        r(NReac)        as reaction_mol         (Brief="Molar Reaction Rate");
94        Hr(NReac)       as heat_reaction        (Brief="Heat Reaction");
95       
96EQUATIONS
97
98"Component Molar Balance"
99        diff(Outlet.z*M) = (Inlet.F*Inlet.z - Outlet.F*Outlet.z) + sumt(stoic*r)*Vr;
100
101"Reactor Energy Balance"
102        diff(M*Outlet.h) = Inlet.F*Inlet.h - Outlet.F*Outlet.h +sum(Hr*sum(stoic*r))*Vr - q; #FIXME sum(sum())
103
104end
Note: See TracBrowser for help on using the repository browser.