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

Last change on this file since 378 was 378, checked in by gerson bicca, 16 years ago

improved documentation

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.5 KB
RevLine 
[77]1#*-------------------------------------------------------------------
2* EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC.
[1]3*
[77]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*--------------------------------------------------------------------
[1]18* Author: Paula B. Staudt
19* $Id: cstr.mso 378 2007-10-02 14:09:18Z bicca $
20*--------------------------------------------------------------------*#
21
22using "streams";
23
24Model cstr_basic
25
[169]26ATTRIBUTES
[276]27        ATTRIBUTES
[169]28        Pallete         = false;
[276]29        Brief           = "Basic model for a CSTR reactor";
[169]30       
31PARAMETERS
[1]32
[169]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
[352]39in      Inlet   as stream       (Brief="Inlet Stream", PosX=0, PosY=0, Symbol="_{in}");
40out     Outlet  as streamPH     (Brief="Outlet Stream", PosX=1, PosY=1, Symbol="_{out}");
[169]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
[208]49"Molar Concentration"
[1]50        Outlet.z * M = C * Vr;
[169]51
[208]52"Molar fraction"
53    sum(Outlet.z) = 1;
[1]54end
55
56Model cstr_yield as cstr_basic
[169]57
58ATTRIBUTES
[276]59        ATTRIBUTES
[169]60        Pallete         = true;
[302]61        Icon            = "icon/cstr";
[276]62        Brief           = "Model of a CSTR with given yield";
[1]63       
[169]64PARAMETERS
65       
66        yield(NReac) as fraction (Brief="Yield");
67       
68EQUATIONS
69
[1]70        Outlet.z*Outlet.F = Inlet.z*Inlet.F * sumt(stoic*(1-yield));
[169]71
72"Reactor Energy Balance"
[1]73        diff(M*Outlet.h) = Inlet.F*Inlet.h - Outlet.F*Outlet.h - q;
[169]74
[1]75end
76
77
78Model cstr as cstr_basic
79       
[169]80ATTRIBUTES
[276]81        ATTRIBUTES
[169]82        Pallete         = true;
[302]83        Icon            = "icon/cstr";
[276]84        Brief           = "Model of a generic CSTR";
85        Info            = "
[378]86Requires the information of:
87* Reaction values
88* Heat of reaction
89";
[208]90
[169]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"
[1]99        diff(Outlet.z*M) = (Inlet.F*Inlet.z - Outlet.F*Outlet.z) + sumt(stoic*r)*Vr;
100
[169]101"Reactor Energy Balance"
[208]102        diff(M*Outlet.h) = Inlet.F*Inlet.h - Outlet.F*Outlet.h +sum(Hr*sum(stoic*r))*Vr - q; #FIXME sum(sum())
[169]103
[1]104end
Note: See TracBrowser for help on using the repository browser.