source: branches/new_gui/sample/stage_separators/Sample_Rectifier~.mso @ 891

Last change on this file since 891 was 891, checked in by gerson bicca, 13 years ago

samples for pressure changers

File size: 6.1 KB
Line 
1#*----------------------------------------------
2* FlowSheet generated automaticaly by EMSO-GUI
3*----------------------------------------------*#
4
5using "streams";
6using "controllers/PIDs";
7using "pressure_changers/valve";
8using "controllers/heat_flow";
9using "stage_separators/reboiler";
10using "stage_separators/column";
11
12FlowSheet Sample_Rectifier
13        PARAMETERS
14        PP as Plugin(Brief="Physical Properties",
15                Type="PP",
16                Components = ["propylene","propane"],
17                LiquidModel = "PR",
18                VapourModel = "PR"
19        );
20        NComp as Integer;
21        SET
22        NComp = PP.NumberOfComponents;
23
24        DEVICES
25        feed as simple_source;
26
27        SET
28        feed.ValidPhases = "Vapour-Liquid";
29
30        SPECIFY
31        feed.MolarComposition(1) = 0.4;
32        feed.MolarComposition(2) = 0.6;
33        feed.F = 612.4 * 'kmol/h';
34        feed.T_Cdeg = 50 * 'K';
35        feed.P = 2068 * 'kPa';
36
37        INITIAL
38
39        GUESS
40
41        DEVICES
42        LiquidOut as simple_sink;
43
44        SET
45
46        SPECIFY
47
48        INITIAL
49
50        GUESS
51
52        DEVICES
53        PIDT_condenser as PID;
54
55        SET
56        PIDT_condenser.PID_Select = "Ideal_AW";
57        PIDT_condenser.Action = "Reverse";
58        PIDT_condenser.Mode = "Automatic";
59        PIDT_condenser.Clip = "Clipped";
60        PIDT_condenser.alpha = 0.2;
61        PIDT_condenser.beta = 1;
62        PIDT_condenser.bias = 0.5;
63        PIDT_condenser.derivTime = 10 * 's';
64        PIDT_condenser.intTime = 100 * 's';
65        PIDT_condenser.gain = 5;
66        PIDT_condenser.gamma = 1;
67        PIDT_condenser.tau = 1 * 's';
68        PIDT_condenser.tauSet = 1 * 's';
69        PIDT_condenser.MinInput = 250;
70        PIDT_condenser.MaxInput = 380;
71        PIDT_condenser.MinOutput = 0;
72        PIDT_condenser.MaxOutput = 1;
73
74        SPECIFY
75        PIDT_condenser.SetPoint = (273+45);
76
77        INITIAL
78
79        GUESS
80
81        DEVICES
82        PIDT_reboiler as PID;
83
84        SET
85        PIDT_reboiler.PID_Select = "Ideal_AW";
86        PIDT_reboiler.Action = "Reverse";
87        PIDT_reboiler.Mode = "Automatic";
88        PIDT_reboiler.Clip = "Clipped";
89        PIDT_reboiler.alpha = 0.2;
90        PIDT_reboiler.beta = 1;
91        PIDT_reboiler.bias = 0.2;
92        PIDT_reboiler.derivTime = 1 * 's';
93        PIDT_reboiler.intTime = 10 * 's';
94        PIDT_reboiler.gain = 3;
95        PIDT_reboiler.gamma = 1;
96        PIDT_reboiler.tau = 1 * 's';
97        PIDT_reboiler.tauSet = 1 * 's';
98        PIDT_reboiler.MinInput = 200;
99        PIDT_reboiler.MaxInput = 400;
100        PIDT_reboiler.MinOutput = 0;
101        PIDT_reboiler.MaxOutput = 1;
102
103        SPECIFY
104        PIDT_reboiler.SetPoint = (58+273);
105
106        INITIAL
107
108        GUESS
109
110        DEVICES
111        PIDL_reboiler as PID;
112
113        SET
114        PIDL_reboiler.PID_Select = "Ideal_AW";
115        PIDL_reboiler.Action = "Direct";
116        PIDL_reboiler.Mode = "Automatic";
117        PIDL_reboiler.Clip = "Clipped";
118        PIDL_reboiler.alpha = 1;
119        PIDL_reboiler.beta = 1;
120        PIDL_reboiler.bias = 0;
121        PIDL_reboiler.derivTime = 0 * 's';
122        PIDL_reboiler.intTime = 20 * 's';
123        PIDL_reboiler.gain = 5;
124        PIDL_reboiler.gamma = 1;
125        PIDL_reboiler.tau = 1 * 's';
126        PIDL_reboiler.tauSet = 1 * 's';
127        PIDL_reboiler.MinInput = 0.1;
128        PIDL_reboiler.MaxInput = 0.8;
129        PIDL_reboiler.MinOutput = 0;
130        PIDL_reboiler.MaxOutput = 1;
131
132        SPECIFY
133        PIDL_reboiler.SetPoint = 0.5;
134
135        INITIAL
136
137        GUESS
138
139        DEVICES
140        Valve_Distillate as valve_flow;
141
142        SET
143        Valve_Distillate.MinFlow = 0 * 'kmol/h';
144        Valve_Distillate.MaxFlow = 4000 * 'kmol/h';
145
146        SPECIFY
147
148        INITIAL
149
150        GUESS
151
152        DEVICES
153        distillate_stream as sink;
154
155        SET
156
157        SPECIFY
158
159        INITIAL
160
161        GUESS
162
163        DEVICES
164        Valve_Bottom as valve_flow;
165
166        SET
167        Valve_Bottom.MinFlow = 0 * 'kmol/h';
168        Valve_Bottom.MaxFlow = 600 * 'kmol/h';
169
170        SPECIFY
171
172        INITIAL
173
174        GUESS
175
176        DEVICES
177        PIDL_condenser as PID;
178
179        SET
180        PIDL_condenser.PID_Select = "Ideal_AW";
181        PIDL_condenser.Action = "Direct";
182        PIDL_condenser.Mode = "Automatic";
183        PIDL_condenser.Clip = "Clipped";
184        PIDL_condenser.alpha = 1;
185        PIDL_condenser.beta = 1;
186        PIDL_condenser.bias = 0;
187        PIDL_condenser.derivTime = 0 * 's';
188        PIDL_condenser.intTime = 20 * 's';
189        PIDL_condenser.gain = 2;
190        PIDL_condenser.gamma = 1;
191        PIDL_condenser.tau = 1 * 's';
192        PIDL_condenser.tauSet = 1 * 's';
193        PIDL_condenser.MinInput = 0.1;
194        PIDL_condenser.MaxInput = 0.8;
195        PIDL_condenser.MinOutput = 0;
196        PIDL_condenser.MaxOutput = 1;
197
198        SPECIFY
199        PIDL_condenser.SetPoint = 0.5;
200
201        INITIAL
202
203        GUESS
204
205        DEVICES
206        heat_condenser as heat_flow;
207
208        SET
209        heat_condenser.MinHeatFlow = -600 * 'kW';
210        heat_condenser.MaxHeatFlow = 0 * 'kW';
211
212        SPECIFY
213
214        INITIAL
215
216        GUESS
217
218        DEVICES
219        heat_reboiler as heat_flow;
220
221        SET
222        heat_reboiler.MinHeatFlow = 0 * 'kW';
223        heat_reboiler.MaxHeatFlow = 450 * 'kW';
224
225        SPECIFY
226
227        INITIAL
228
229        GUESS
230
231        DEVICES
232        vapour_s1 as simple_sink2;
233
234        SET
235
236        SPECIFY
237
238        INITIAL
239
240        GUESS
241
242        DEVICES
243        reboiler_R1 as reboiler;
244
245        SET
246        reboiler_R1.Initial_Temperature = 335 * 'K';
247        reboiler_R1.Initial_Composition(1) = 0.01;
248        reboiler_R1.Initial_Composition(2) = 0.99;
249
250        SPECIFY
251
252        INITIAL
253
254        GUESS
255
256        DEVICES
257        T1 as Rectifier;
258
259        SET
260        T1.FeedTrayLocation(1) = 9;
261        T1.NumberOfTrays = 14;
262        T1.WeirLength = 0.53 * 'm';
263        T1.WeirHeight = 0.038 * 'm';
264        T1.TrayLiquidPasses = 2;
265        T1.HeatSupply = 0 * 'kW';
266        T1.PlateArea = 3.94 * 'ft^2';
267        T1.HolesArea = 0.394 * 'ft^2';
268        T1.INITIALIZATION.TopTemperature = 328 * 'K';
269        T1.INITIALIZATION.BottomTemperature = 330 * 'K';
270        T1.INITIALIZATION.LevelFraction = 1;
271        T1.CONDENSER.Initial_Temperature = 318 * 'K';
272
273        SPECIFY
274        T1.VapourDrawOffFlow = 0 * 'kmol/h';
275        T1.LiquidDrawOffFlow = 0 * 'kmol/h';
276        T1.MurphreeEff = 1;
277        T1.CONDENSER.OutletVapour.F = 0 * 'kmol/h';
278        T1.SPLITTER.FlowRatios(1) = 0.45;
279
280        INITIAL
281
282        GUESS
283
284        CONNECTIONS
285        Valve_Distillate.Outlet to distillate_stream.Inlet;
286        Valve_Bottom.Outlet to LiquidOut.Inlet;
287        PIDL_reboiler.Output to Valve_Bottom.FlowFraction;
288        PIDL_condenser.Output to Valve_Distillate.FlowFraction;
289        PIDT_condenser.Output to heat_condenser.HeatFlowFraction;
290        PIDT_reboiler.Output to heat_reboiler.HeatFlowFraction;
291        heat_reboiler.HeatFlow to reboiler_R1.InletQ;
292        reboiler_R1.OutletLiquid to Valve_Bottom.Inlet;
293        reboiler_R1.LI to PIDL_reboiler.Input;
294        reboiler_R1.TI to PIDT_reboiler.Input;
295        feed.Outlet to T1.FeedTray;
296        T1.VapourDistillate to vapour_s1.Inlet;
297        T1.TI_cond to PIDT_condenser.Input;
298        T1.LiquidDistillate to Valve_Distillate.Inlet;
299        T1.LiquidOutlet to reboiler_R1.InletLiquid;
300        reboiler_R1.OutletVapour to T1.VapourInlet;
301        T1.LI_cond to PIDL_condenser.Input;
302        heat_condenser.HeatFlow to T1.Q_cond;
303
304        OPTIONS
305        Dynamic = true;
306        TimeStep = 0.1;
307        TimeEnd = 12;
308        TimeUnit = 'h';
309        Integration = "original";
310        NLASolver(
311                File = "sundials",
312                RelativeAccuracy = 1e-2,
313                AbsoluteAccuracy = 1e-6,
314                MaxIterations = 100
315        );
316        DAESolver(
317                File = "sundials",
318                RelativeAccuracy = 1e-2,
319                AbsoluteAccuracy = 1e-6,
320                EventAccuracy = 1e-2
321        );
322end
Note: See TracBrowser for help on using the repository browser.