source: branches/gui/sample/stage_separators/Column_Reactive_Diagram.mso @ 788

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

added samples in mso version

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