source: trunk/sample/stage_separators/Section_Column_Three_Inputs.mso

Last change on this file was 1000, checked in by cenpes, 6 years ago
File size: 6.8 KB
Line 
1#*----------------------------------------------
2* FlowSheet generated automaticaly by EMSO-GUI
3*----------------------------------------------*#
4
5using "streams.mso";
6using "controllers/PIDs.mso";
7using "pressure_changers/valve.mso";
8using "controllers/heat_flow.mso";
9using "stage_separators/column.mso";
10
11FlowSheet Section_Column_Three_Inputs
12        PARAMETERS
13        PP as Plugin(Brief="Physical Properties",
14                Type="PP",
15                Components = ["propylene","propane"],
16                LiquidModel = "PR",
17                VapourModel = "PR"
18        );
19        NComp as Integer;
20        SET
21        NComp = PP.NumberOfComponents;
22
23        DEVICES
24        feed1 as simple_source;
25        LiquidOut as simple_sink;
26        PIDT_condenser as PID;
27        PIDT_reboiler as PID;
28        PIDL_reboiler as PID;
29        splitter_S1 as splitter_column;
30        Valve_Distillate as valve_flow;
31        distillate_stream as sink;
32        pump_P1 as pump2;
33        Valve_Bottom as valve_flow;
34        PIDL_condenser as PID;
35        heat_condenser as heat_flow;
36        heat_reboiler as heat_flow;
37        feed2 as simple_source;
38        feed3 as simple_source;
39        column_T1 as Section_Column3;
40        reboiler_R1 as reboiler;
41        condenser_C1 as condenser;
42        vapour_s1 as simple_sink2;
43
44        CONNECTIONS
45        splitter_S1.Distillate to Valve_Distillate.Inlet;
46        Valve_Distillate.Outlet to distillate_stream.Inlet;
47        splitter_S1.Reflux to pump_P1.Inlet;
48        Valve_Bottom.Outlet to LiquidOut.Inlet;
49        PIDL_reboiler.Output to Valve_Bottom.FlowFraction;
50        PIDL_condenser.Output to Valve_Distillate.FlowFraction;
51        PIDT_condenser.Output to heat_condenser.HeatFlowFraction;
52        PIDT_reboiler.Output to heat_reboiler.HeatFlowFraction;
53        feed3.Outlet to column_T1.FeedTrayThree;
54        feed2.Outlet to column_T1.FeedTrayTwo;
55        feed1.Outlet to column_T1.FeedTrayOne;
56        pump_P1.Outlet to column_T1.LiquidInlet;
57        column_T1.VapourOutlet to condenser_C1.InletVapour;
58        condenser_C1.OutletLiquid to splitter_S1.Inlet;
59        heat_condenser.HeatFlow to condenser_C1.InletQ;
60        condenser_C1.TI to PIDT_condenser.Input;
61        condenser_C1.LI to PIDL_condenser.Input;
62        reboiler_R1.OutletVapour to column_T1.VapourInlet;
63        column_T1.LiquidOutlet to reboiler_R1.InletLiquid;
64        heat_reboiler.HeatFlow to reboiler_R1.InletQ;
65        reboiler_R1.TI to PIDT_reboiler.Input;
66        reboiler_R1.OutletLiquid to Valve_Bottom.Inlet;
67        reboiler_R1.LI to PIDL_reboiler.Input;
68        condenser_C1.OutletVapour to vapour_s1.Inlet;
69
70        SET
71        feed1.ValidPhases = "Vapour-Liquid" ;
72        PIDT_condenser.PID_Select = "Ideal_AW" ;
73        PIDT_condenser.Action = "Reverse" ;
74        PIDT_condenser.Mode = "Automatic" ;
75        PIDT_condenser.Clip = "Clipped" ;
76        PIDT_condenser.alpha = 0.2 ;
77        PIDT_condenser.beta = 1 ;
78        PIDT_condenser.bias = 0.5 ;
79        PIDT_condenser.derivTime = 10 * 's' ;
80        PIDT_condenser.intTime = 100 * 's' ;
81        PIDT_condenser.gain = 5 ;
82        PIDT_condenser.gamma = 1 ;
83        PIDT_condenser.tau = 1 * 's' ;
84        PIDT_condenser.tauSet = 1 * 's' ;
85        PIDT_condenser.MinInput = 250 ;
86        PIDT_condenser.MaxInput = 380 ;
87        PIDT_condenser.MinOutput = 0 ;
88        PIDT_condenser.MaxOutput = 1 ;
89        PIDT_reboiler.PID_Select = "Ideal_AW" ;
90        PIDT_reboiler.Action = "Reverse" ;
91        PIDT_reboiler.Mode = "Automatic" ;
92        PIDT_reboiler.Clip = "Clipped" ;
93        PIDT_reboiler.alpha = 0.2 ;
94        PIDT_reboiler.beta = 1 ;
95        PIDT_reboiler.bias = 0.2 ;
96        PIDT_reboiler.derivTime = 1 * 's' ;
97        PIDT_reboiler.intTime = 10 * 's' ;
98        PIDT_reboiler.gain = 3 ;
99        PIDT_reboiler.gamma = 1 ;
100        PIDT_reboiler.tau = 1 * 's' ;
101        PIDT_reboiler.tauSet = 1 * 's' ;
102        PIDT_reboiler.MinInput = 200 ;
103        PIDT_reboiler.MaxInput = 400 ;
104        PIDT_reboiler.MinOutput = 0 ;
105        PIDT_reboiler.MaxOutput = 1 ;
106        PIDL_reboiler.PID_Select = "Ideal_AW" ;
107        PIDL_reboiler.Action = "Direct" ;
108        PIDL_reboiler.Mode = "Automatic" ;
109        PIDL_reboiler.Clip = "Clipped" ;
110        PIDL_reboiler.alpha = 1 ;
111        PIDL_reboiler.beta = 1 ;
112        PIDL_reboiler.bias = 0 ;
113        PIDL_reboiler.derivTime = 0 * 's' ;
114        PIDL_reboiler.intTime = 20 * 's' ;
115        PIDL_reboiler.gain = 2 ;
116        PIDL_reboiler.gamma = 1 ;
117        PIDL_reboiler.tau = 1 * 's' ;
118        PIDL_reboiler.tauSet = 1 * 's' ;
119        PIDL_reboiler.MinInput = 0.1 ;
120        PIDL_reboiler.MaxInput = 0.8 ;
121        PIDL_reboiler.MinOutput = 0 ;
122        PIDL_reboiler.MaxOutput = 1 ;
123        Valve_Distillate.MinFlow = 0 * 'kmol/h' ;
124        Valve_Distillate.MaxFlow = 400 * 'kmol/h' ;
125        Valve_Bottom.MinFlow = 0 * 'kmol/h' ;
126        Valve_Bottom.MaxFlow = 1000 * 'kmol/h' ;
127        PIDL_condenser.PID_Select = "Ideal_AW" ;
128        PIDL_condenser.Action = "Direct" ;
129        PIDL_condenser.Mode = "Automatic" ;
130        PIDL_condenser.Clip = "Clipped" ;
131        PIDL_condenser.alpha = 1 ;
132        PIDL_condenser.beta = 1 ;
133        PIDL_condenser.bias = 0 ;
134        PIDL_condenser.derivTime = 0 * 's' ;
135        PIDL_condenser.intTime = 20 * 's' ;
136        PIDL_condenser.gain = 2 ;
137        PIDL_condenser.gamma = 1 ;
138        PIDL_condenser.tau = 1 * 's' ;
139        PIDL_condenser.tauSet = 1 * 's' ;
140        PIDL_condenser.MinInput = 0.1 ;
141        PIDL_condenser.MaxInput = 0.8 ;
142        PIDL_condenser.MinOutput = 0 ;
143        PIDL_condenser.MaxOutput = 1 ;
144        heat_condenser.MinHeatFlow = -300 * 'kW' ;
145        heat_condenser.MaxHeatFlow = 0 * 'kW' ;
146        heat_reboiler.MinHeatFlow = 0 * 'kW' ;
147        heat_reboiler.MaxHeatFlow = 450 * 'kW' ;
148        feed2.ValidPhases = "Vapour-Liquid" ;
149        feed3.ValidPhases = "Vapour-Liquid" ;
150        column_T1.INITIALIZATION.TopTemperature = 321 * 'K' ;
151        column_T1.INITIALIZATION.BottomTemperature = 328 * 'K' ;
152        column_T1.INITIALIZATION.LevelFraction = 0.8 ;
153        column_T1.FeedTrayLocation(1) = 5 ;
154        column_T1.FeedTrayLocation(2) = 11 ;
155        column_T1.FeedTrayLocation(3) = 22 ;
156        column_T1.NumberOfTrays = 30 ;
157        column_T1.LiquidSideStreamLocation = 2 ;
158        column_T1.VapourSideStreamLocation = 2 ;
159        column_T1.WeirLength = 20.95 * 'in' ;
160        column_T1.WeirHeight = 0.125 * 'ft' ;
161        column_T1.TrayLiquidPasses = 1 ;
162        column_T1.HeatSupply = 0 * 'kW' ;
163        column_T1.AerationFraction = 0.4 ;
164        column_T1.DryPdropCoeff = 6 ;
165        column_T1.MurphreeEff = 1 ;
166        reboiler_R1.Initial_Temperature = 335 * 'K' ;
167        reboiler_R1.Initial_Composition(1) = 0.01 ;
168        reboiler_R1.Initial_Composition(2) = 0.99 ;
169        condenser_C1.Initial_Temperature = 320 * 'K' ;
170        condenser_C1.Initial_Composition(1) = 0.7 ;
171        condenser_C1.Initial_Composition(2) = 0.3 ;
172
173        SPECIFY
174        feed1.MolarComposition(1) = 0.4 ;
175        feed1.MolarComposition(2) = 0.6 ;
176        feed1.F = 612.4 * 'kmol/h' ;
177        feed1.T_Cdeg = 50;
178        feed1.P = 2068 * 'kPa' ;
179        PIDT_condenser.SetPoint = (273+30);#(273+45) ;
180        PIDT_reboiler.SetPoint = (58+273) ;
181        PIDL_reboiler.SetPoint = 0.5 ;
182        splitter_S1.RefluxRatio = 20 ;
183        pump_P1.Pincrease = 14 * 'kPa' ;
184        PIDL_condenser.SetPoint = 0.5 ;
185        feed2.MolarComposition(1) = 0.4 ;
186        feed2.MolarComposition(2) = 0.6 ;
187        feed2.F = 6.4 * 'kmol/h' ;
188        feed2.T_Cdeg = 30;
189        feed2.P = 2018 * 'kPa' ;
190        feed3.MolarComposition(1) = 0.1 ;
191        feed3.MolarComposition(2) = 0.9 ;
192        feed3.F = 0.64 * 'kmol/h' ;
193        feed3.T_Cdeg = 30;
194        feed3.P = 2018 * 'kPa' ;
195        column_T1.VapourDrawOffFlow = 0 * 'kmol/h' ;
196        column_T1.LiquidDrawOffFlow = 0 * 'kmol/h' ;
197        condenser_C1.OutletVapour.F = 0 * 'kmol/h' ;
198
199        INITIAL
200
201        GUESS
202
203        OPTIONS
204        Dynamic = true;
205        TimeStep = 0.1;
206        TimeEnd = 1.5;#1.7;
207        TimeUnit = 'h';
208        Integration = "original";
209        NLASolver(
210                File = "sundials",
211                RelativeAccuracy = 1e-2,
212                AbsoluteAccuracy = 1e-6,
213                MaxIterations = 100
214        );
215        DAESolver(
216                File = "dassl",
217                RelativeAccuracy = 1e-2,
218                AbsoluteAccuracy = 1e-6,
219                EventAccuracy = 1e-2
220        );
221end
Note: See TracBrowser for help on using the repository browser.