source: mso/sample/stage_separators/sample_column.mso @ 100

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

Updated sample_column and sample_tank to run with VRTherm DEMO

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.0 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 88 2006-12-11 13:31:56Z paula $
26*--------------------------------------------------------------------*#
27
28using "stage_separators/column";
29
30# column section with 2 trays
31FlowSheet SectionColumn_Test_with2tray
32        PARAMETERS
33        PP      as CalcObject(Brief="Physical Properties",File="vrpp");
34        NComp   as Integer;
35
36        SET
37        PP.Components = [ "isobutane", "benzene"];
38        PP.LiquidModel = "PR";
39        PP.VapourModel = "PR";
40        NComp = PP.NumberOfComponents;
41       
42        DEVICES
43        sec as Section_Column;
44        feed as stream_therm;
45        reb as stream_therm;
46        cond as stream_therm;
47        zero as stream;
48       
49        CONNECTIONS
50        feed to sec.trays(2).Inlet;
51        zero to sec.trays(1).Inlet;
52        reb to sec.trays(2).InletV;
53        cond to sec.trays(1).InletL;
54       
55        SPECIFY
56        feed.F = 113.4 * "kmol/h";
57        feed.T = 291 * "K";
58        feed.P = 168.3 * "kPa";
59        feed.z = [0.5, 0.5];
60        feed.v = 0;
61
62        zero.F = 0 * "kmol/h";
63        zero.T = 300 * "K";
64        zero.P = 1 * "atm";
65        zero.z = [0.5, 0.5];
66        zero.v = 0;
67        zero.h = 0 * "J/mol";
68       
69        cond.F = 68 * "kmol/h";
70        cond.P = 150 * "kPa";
71        cond.T = 281.75 * "K";
72        cond.v = 0.0;
73        cond.z = [0.6664, 0.3336];
74
75        reb.F = 153 * "kmol/h";
76        reb.P = 185 * "kPa";
77        reb.T = 328.12 * "K";
78        reb.z = [0.001848, 0.9982];
79        reb.v = 1.0;
80       
81        sec.trays.Emv = 1;
82
83        SET
84        sec.NTrays = 2;
85        #COLUMN
86        sec.trays.V = 4 * "ft^3";
87        sec.trays.Ah = 0.394 * "ft^2";
88        sec.trays.lw = 20.94 * "in";
89        sec.trays.hw = 0.125 * "ft";
90        sec.trays.Q = 0 * "kW";
91        sec.trays.beta = 0.6;
92        sec.trays.alfa = 4;
93        sec.trays.Ap = 3.94 * "ft^2";
94
95        INITIAL
96        sec.trays.OutletL.T = 290 *"K";
97        sec.trays.Level = 0.9 * sec.trays.hw;
98        sec.trays.OutletL.z(1) = 0.5;
99       
100        OPTIONS
101        #relativeAccuracy = 1e-3;
102        NLASolver = "sundials";
103        time = [0:10:1000];
104end
105
106# column section with 8 trays
107FlowSheet SectionColumn_Test_with8tray
108        PARAMETERS
109        PP      as CalcObject(Brief="Physical Properties",File="vrpp");
110        NComp   as Integer;
111
112        SET
113        PP.Components = [ "isobutane", "benzene"];
114        PP.LiquidModel = "PR";
115        PP.VapourModel = "PR";
116        PP.Derivatives = 0;
117        NComp = PP.NumberOfComponents;
118       
119        DEVICES
120        sec as Section_Column;
121        feed as stream_therm;
122        reb as stream_therm;
123        cond as stream_therm;
124        zero as stream;
125       
126        CONNECTIONS
127        feed to sec.trays(5).Inlet;
128       
129        zero to sec.trays([1:4]).Inlet;
130        zero to sec.trays([6:8]).Inlet;
131       
132        reb to sec.trays(8).InletV;
133        cond to sec.trays(1).InletL;
134       
135        SPECIFY
136        feed.F = 113.4 * "kmol/h";
137        feed.T = 291 * "K";
138        feed.P = 168.3 * "kPa";
139        feed.z = [0.5, 0.5];
140        feed.v = 0;
141
142        zero.F = 0 * "kmol/h";
143        zero.T = 300 * "K";
144        zero.P = 1 * "atm";
145        zero.z = [0.5, 0.5];
146        zero.v = 0;
147        zero.h = 0 * "J/mol";
148       
149        cond.F = 68 * "kmol/h";
150        cond.P = 150 * "kPa";
151        cond.T = 281.75 * "K";
152        cond.v = 0.0;
153        cond.z = [0.6664, 0.3336];
154
155        reb.F = 153 * "kmol/h";
156        reb.P = 185 * "kPa";
157        reb.T = 328.12 * "K";
158        reb.z = [0.001848, 0.9982];
159        reb.v = 1.0;
160       
161        sec.trays.Emv = 1;
162
163        SET
164        sec.NTrays = 8;
165        #COLUMN
166        sec.trays.V = 4 * "ft^3";
167        sec.trays.Ah = 0.394 * "ft^2";
168        sec.trays.lw = 20.94 * "in";
169        sec.trays.hw = 0.125 * "ft";
170        sec.trays.Q = 0 * "kW";
171        sec.trays.beta = 0.6;
172        sec.trays.alfa = 4;
173        sec.trays.Ap = 3.94 * "ft^2";
174
175        INITIAL
176        sec.trays.OutletL.T = [290:(330-290)/(sec.NTrays-1):330] *"K";
177        sec.trays.Level = 0.3 * sec.trays.hw;
178        sec.trays.OutletL.z(1) = 0.5;
179       
180        OPTIONS
181        relativeAccuracy = 1e-5;
182        time = [0:1:100];
183end
184
185
186FlowSheet Distillation_kettle_cond_Test
187        PARAMETERS
188        PP      as CalcObject(Brief="Physical Properties",File="vrpp");
189        NComp   as Integer;
190       
191        VARIABLES
192        Qc as heat_rate (Brief="Heat rate removed from condenser");
193        Qr as heat_rate (Brief="Heat rate supplied to reboiler");
194       
195        SET
196        PP.Components = [ "isobutane", "n-pentane", "propylene",
197                "benzene", "isobutene" ];
198        PP.LiquidModel = "PR";
199        PP.VapourModel = "PR";
200        PP.Derivatives = 1;
201        NComp = PP.NumberOfComponents;
202
203        DEVICES
204        col as Distillation_kettle_cond;
205        feed as streamTP;
206        zero as stream;
207       
208        CONNECTIONS
209        feed to col.trays(5).Inlet;
210        zero to col.reb.Inlet;
211        zero to col.trays([1:4]).Inlet;
212        zero to col.trays([6:col.NTrays]).Inlet;
213        Qc to col.cond.Q;
214        Qr to col.reb.Q;
215       
216        SPECIFY
217        feed.F = 113.4 * "kmol/h";
218        feed.T = 291 * "K";
219        feed.P = 168.3 * "kPa";
220        feed.z = 1/NComp;
221       
222        zero.F = 0 * "kmol/h";
223        zero.T = 300 * "K";
224        zero.P = 1 * "atm";
225        zero.z = 1/NComp;
226        zero.v = 0;
227        zero.h = 0 * "J/mol";
228       
229        col.sptop.Outlet2.F = 85 * "kmol/h";
230        col.reb.OutletL.F = 28.4 * "kmol/h";
231        col.sptop.frac = 0.444445;
232        col.cond.OutletV.F = 0 * "kmol/h";
233        Qr = 3.7743e6 * "kJ/h";
234        Qc = -3.71e6 * "kJ/h";
235        col.pump1.dP = 16 * "kPa";
236        col.trays.Emv = 1;
237       
238        SET
239        col.NTrays = 8;
240        col.cond.V = 2 * "m^3";
241        col.cond.Across = 1 * "m^2";
242        col.trays.V = 4 * "ft^3";
243        col.trays.Ah = 0.394 * "ft^2";
244        col.trays.lw = 20.94 * "in";
245        col.trays.hw = 0.125 * "ft";
246        col.trays.Q = 0 * "kW";
247        col.trays.beta = 0.6;
248        col.trays.alfa = 4;
249        col.trays.Ap = 3.94 * "ft^2";
250        col.reb.V = 2 * "m^3";
251        col.reb.Across = 1 * "m^2";
252       
253        INITIAL
254        # condenser
255        col.cond.OutletL.T = 260 *"K";
256        col.cond.Level = 1 * "m";
257        col.cond.OutletL.z([1:4]) = [0.65, 0.05, 0.01, 0.01];
258
259        # reboiler
260        col.reb.OutletL.T = 330 *"K";
261        col.reb.Level = 1 * "m";
262        col.reb.OutletL.z([1:4]) = [0.1, 0.7, 0.01, 0.01];
263
264        # column trays
265        col.trays.OutletL.T = [290:(330-290)/(col.NTrays-1):330] * "K";
266        col.trays.Level = 1.2 * col.trays.hw;
267        col.trays.OutletL.z([1:4]) = [0.5, 0.05, 0.01, 0.01];
268
269        OPTIONS
270        relativeAccuracy = 1e-3;
271        time = [0:0.01:1, 2:50];
272end
Note: See TracBrowser for help on using the repository browser.