source: trunk/sample/stage_separators/sample_column_packed.mso @ 848

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

Improved packed column models

File size: 4.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* Sample file for column model
17*--------------------------------------------------------------------
18*
19* This sample file needs VRTherm DEMO(www.vrtech.com.br) to run
20* SectionColumn_Test and needs VRTherm full to run the distillation
21* column flowsheet.
22*
23*----------------------------------------------------------------------
24* Author: Paula B. Staudt
25* $Id: sample_column.mso 650 2008-10-01 01:00:48Z arge $
26*--------------------------------------------------------------------*#
27
28using "stage_separators/column";
29
30FlowSheet Packed_kettle_cond_Test
31        PARAMETERS
32        PP      as Plugin(Brief="Physical Properties",
33                Type="PP",
34                Components = [ "isobutane", "n-pentane", "propylene",
35                "benzene", "isobutene" ],
36                LiquidModel = "PR",
37                VapourModel = "PR"
38        );
39        NComp   as Integer;
40       
41        VARIABLES
42        Qc as energy_source (Brief="Heat rate removed from condenser");
43        Qr as energy_source (Brief="Heat rate supplied to reboiler");
44       
45        SET
46        NComp = PP.NumberOfComponents;
47
48        DEVICES
49        col as PackedDistillation_kettle_cond;
50        feed as source;
51        zero as stream;
52       
53        CONNECTIONS
54        feed.Outlet to col.stage(5).Inlet;
55        zero to col.reb.Inlet;
56        zero to col.stage([1:4]).Inlet;
57        zero to col.stage([6:col.NStages]).Inlet;
58        Qc.OutletQ to col.cond.InletQ;
59        Qr.OutletQ to col.reb.InletQ;
60       
61        SPECIFY
62        feed.F = 100 * 'kmol/h';
63        feed.T = 290 * 'K';
64        feed.P = 160 * 'kPa';
65        feed.Composition = 1/NComp;
66       
67        zero.F = 0 * 'kmol/h';
68        zero.T = 300 * 'K';
69        zero.P = 1 * 'atm';
70        zero.z = 1/NComp;
71        zero.v = 0;
72        zero.h = 0 * 'J/mol';
73       
74        col.sptop.frac = 0.5;
75       
76        # Top product is not vapour
77        col.cond.OutletV.F = 0 * 'kmol/h';
78        # Top pump head
79        col.pump1.dP = 16 * 'kPa';
80       
81        # Reboiler heat duty
82        Qr.OutletQ.Q = 396 * 'kW';
83        # Condenser heat duty with "control"
84        Qc.OutletQ.Q = -442 * (1 - (2.598378e+02 - col.cond.OutletL.T/'K')) * 'kW';     
85       
86        EQUATIONS
87        # Top product with "level" control
88        col.sptop.Outlet1.F = 37.752 * (1 - (1 - col.cond.Level/'m')) * 'kmol/h';
89        # Bottom product with "level control"
90        col.reb.OutletL.F = 62.248 * (1 - (1 - col.reb.Level/'m')) * 'kmol/h';
91
92        SET
93        col.H = 3.5 * 'm';
94        col.NStages = 8;
95        col.stage.Q = 0 * 'kW';
96        col.stage.d = 2 * 'm';
97        col.stage.e = 0.951;
98        col.stage.a = 112.6 * 'm^2/m^3';
99        col.stage.Qsil = 0.06;
100
101        col.cond.V = 2 * 'm^3';
102        col.cond.Across = 1 * 'm^2';
103        col.reb.V = 2 * 'm^3';
104        col.reb.Across = 1 * 'm^2';
105       
106        INITIAL
107        # condenser
108        col.cond.OutletL.T = 2.598378e+02 *'K';
109        col.cond.Level = 1 * 'm';
110        col.cond.OutletL.z([1:4]) = [4.518400e-01, 1.708575e-04, 2.244475e-01, 1.631225e-07];
111
112        # reboiler
113        col.reb.OutletL.T = 3.012623e+02 *'K';
114        col.reb.Level = 1 * 'm';
115        col.reb.OutletL.z([1:4]) = [1.427043e-01, 3.212848e-01, 1.000000e-03, 3.212951e-01];
116       
117        # column temperature profile
118        col.stage.OutletL.T = [
119        2.664324e+02, 2.687355e+02, 2.698580e+02, 2.719116e+02, 2.808709e+02, 2.842556e+02, 2.864917e+02, 2.897741e+02
120        ] * 'K';
121        # column composition profile
122        col.stage.OutletL.z(1) = [
123        4.905185e-01, 4.824167e-01, 4.607714e-01, 4.160374e-01, 2.793557e-01, 2.869225e-01, 2.782148e-01, 2.428228e-01
124        ];
125        col.stage.OutletL.z(2) = [
126        8.173933e-04, 3.823858e-03, 1.699175e-02, 6.914792e-02, 1.894137e-01, 1.920648e-01, 2.028405e-01, 2.452413e-01
127        ];
128        col.stage.OutletL.z(3) = [
129        1.124650e-01, 8.229149e-02, 7.390680e-02, 6.892480e-02, 5.469634e-02, 2.433898e-02, 1.011607e-02, 3.786648e-03
130        ];
131        col.stage.OutletL.z(4) = [
132        2.763991e-06, 5.093503e-05, 8.938594e-04, 1.444641e-02, 1.694725e-01, 1.688101e-01, 1.703407e-01, 1.857067e-01
133        ];
134        # Initial liquid holdup (m^3/m^3)
135        col.stage.hl = 0.1;
136
137        OPTIONS
138        DAESolver(RelativeAccuracy=1e-2);
139        TimeStep = 10;
140        TimeEnd = 600;
141        TimeUnit = 'min';
142end
Note: See TracBrowser for help on using the repository browser.