source: branches/newlanguage/sample/reactors/sample_pfr.mso @ 137

Last change on this file since 137 was 82, checked in by Paula Bettio Staudt, 16 years ago

Updated reactors sample files header

  • Property svn:keywords set to Id
File size: 2.3 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* Sample file for model pfr
17*
18*
19* Adiabatic Production of Acetic Anhydride with a PFR
20*
21* Based on Example 8-6 of Elements of Chemical Reaction Engineering
22* Second Edition H. Scott Fogler
23*
24*
25*--------------------------------------------------------------------
26*
27* This sample file needs VRTherm (www.vrtech.com.br) to run.
28*
29*----------------------------------------------------------------------
30* Author: Rafael de P. Soares
31*         Paula B. Staudt
32* $Id: sample_pfr.mso 82 2006-12-08 20:11:44Z paula $
33*--------------------------------------------------------------------*#
34
35using "reactors/pfr";
36
37FlowSheet PFR_AceticAnhydride
38        PARAMETERS
39        PP   as CalcObject(Brief="Physical Properties",File="vrpp");
40        NComp as Integer;
41
42        DEVICES
43        s1   as streamTP;
44        Reac as pfr;
45
46        SET
47        PP.Components = ["acetone", "acetic anhydride", "methane" ];
48        PP.LiquidModel = "PR";
49        PP.VapourModel = "PR";
50       
51        NComp = PP.NumberOfComponents;
52       
53        Reac.NDisc = 10;
54        Reac.Across = 0.7 * "in^2";
55        Reac.L = 2.28 * "m";
56        Reac.NReac = 1;
57
58        # Reaction 1: A -> B + C
59        Reac.stoic(:,1) = [-1, 1, 1];
60       
61        EQUATIONS
62
63        for z in [1:Reac.NDisc]
64                "Reaction Rate = k*C(1)"
65                Reac.r(1,z)  = exp(34.34 - (34222 * "K") / Reac.str(z).T)*"1/s" * Reac.C(1,z);
66
67                "Heat of reaction"
68                Reac.Hr(1,z) = -80.77 * "kJ/mol";
69
70                "Pressure Drop (no pressure drop)"
71                Reac.str(z+1).P = Reac.str(z).P;
72        end
73
74        SPECIFY
75        s1.F = 138/1000 * "kmol/h";
76        s1.T = 1035 * "K";
77        s1.P = 1.6  * "atm";
78        s1.z = [1, 0, 0];
79
80        "Adiabatic"
81        Reac.q     = 0     * "J/s";
82       
83        CONNECTIONS
84        s1  to  Reac.Inlet;
85       
86        INITIAL
87        for z in [2:Reac.NDisc+1]
88                Reac.str(z).T = Reac.Inlet.T;
89                Reac.str(z).z(1:NComp-1) = Reac.Inlet.z(1:NComp-1);
90        end
91       
92        OPTIONS
93        # This model can be solved in both steady or dynamic
94        #mode = "steady";
95        time = [0:0.05:3] * "s";
96        NLASolver = "sundials";
97        #DAESolver = "dassl";
98end
Note: See TracBrowser for help on using the repository browser.