source: mso/eml/stage_separators/reboiler.mso @ 38

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

Included reactive distillation column

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.2 KB
RevLine 
[1]1#*-------------------------------------------------------------------
2* Model of a dynamic reboiler
3*--------------------------------------------------------------------
4*
5*       Streams:
6*               * a liquid inlet stream
7*               * a liquid outlet stream
8*               * a vapour outlet stream
9*               * a feed stream
10*
11*       Assumptions:
12*               * perfect mixing of both phases
13*               * thermodynamics equilibrium
14*               * no liquid entrainment in the vapour stream
15*
16*       Specify:
17*               * the Feed stream
18*               * the Liquid inlet stream
19*               * the outlet flows: OutletV.F and OutletL.F
20*
21*       Initial:
22*               * the reboiler temperature (OutletL.T)
23*               * the reboiler liquid level (Ll)
24*               * (NoComps - 1) OutletL (OR OutletV) compositions
25*
26*
27*----------------------------------------------------------------------
28* Author: Paula B. Staudt
29* $Id: reboiler.mso 38 2006-10-23 20:26:39Z paula $
30*--------------------------------------------------------------------*#
31
32using "streams";
33
34Model reboiler
35        PARAMETERS
36ext PP as CalcObject;
37ext NComp as Integer;
38        Across as area (Brief="Cross Section Area of reboiler");
39        V as volume (Brief="Total volume of reboiler");
40
41        VARIABLES
42in      Inlet as stream; # (Brief="Feed Stream");
43in      InletL as stream; # (Brief="Liquid inlet stream");
44out     OutletL as stream_therm; # (Brief="Liquid outlet stream");
45out     OutletV as stream_therm; # (Brief="Vapour outlet stream");
46in      Q as heat_rate (Brief="Heat supplied");
47
48        M(NComp) as mol (Brief="Molar Holdup in the tray");
49        ML as mol (Brief="Molar liquid holdup");
50        MV as mol (Brief="Molar vapour holdup");
51        E as energy (Brief="Total Energy Holdup on tray");
52        vL as volume_mol (Brief="Liquid Molar Volume");
53        vV as volume_mol (Brief="Vapour Molar volume");
54        Level as length (Brief="Level of liquid phase");
55        rhoV as dens_mass (Brief="Vapour Density");
56
57        EQUATIONS
58        "Component Molar Balance"
59        diff(M)= Inlet.F*Inlet.z + InletL.F*InletL.z
60                - OutletL.F*OutletL.z - OutletV.F*OutletV.z;
61       
62        "Energy Balance"
63        diff(E) = Inlet.F*Inlet.h + InletL.F*InletL.h
64                - OutletL.F*OutletL.h - OutletV.F*OutletV.h + Q;
65       
66        "Molar Holdup"
67        M = ML*OutletL.z + MV*OutletV.z;
68       
69        "Energy Holdup"
70        E = ML*OutletL.h + MV*OutletV.h - OutletL.P*V;
71       
72        "Mol fraction normalisation"
73        sum(OutletL.z)=1.0;
74        sum(OutletL.z)=sum(OutletV.z);
75
76        "Vapour Density"
77        rhoV = PP.VapourDensity(OutletV.T, OutletV.P, OutletV.z);
78
79        "Liquid Volume"
80        vL = PP.LiquidVolume(OutletL.T, OutletL.P, OutletL.z);
81       
82        "Vapour Volume"
83        vV = PP.VapourVolume(OutletV.T, OutletV.P, OutletV.z);
84       
85        "Chemical Equilibrium"
86        PP.LiquidFugacityCoefficient(OutletL.T, OutletL.P, OutletL.z)*OutletL.z =
87                PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, OutletV.z)*OutletV.z;
88
89        "Mechanical Equilibrium"
90        OutletL.P = OutletV.P;
91       
92        "Thermal Equilibrium"
93        OutletL.T = OutletV.T;
94       
95        "Geometry Constraint"
96        V = ML*vL + MV*vV;
97       
98        "Level of liquid phase"
99        Level = ML*vL/Across;
100               
101        "vaporization fraction"
102        OutletV.v = 1.0;
103        OutletL.v = 0.0;
104end
105
106#*----------------------------------------------------------------------
107* Model of a  Steady State reboiler with no thermodynamics equilibrium
108*---------------------------------------------------------------------*#
109Model reboilerSteady
110        PARAMETERS
111ext PP as CalcObject;
112ext NComp as Integer;
113        DP as press_delta (Brief="Pressure Drop in the reboiler");
114
115        VARIABLES
116in      InletL as stream; #(Brief="Liquid inlet stream");
117out     OutletV as stream_therm; #(Brief="Vapour outlet stream");
118in      Q as heat_rate (Brief="Heat supplied");
119        vV as volume_mol (Brief="Vapour Molar volume");
120        rhoV as dens_mass (Brief="Vapour Density");
121
122        EQUATIONS
123        "Molar Balance"
124        InletL.F = OutletV.F;
125        InletL.z = OutletV.z;
126       
127        "Vapour Volume"
128        vV = PP.VapourVolume(OutletV.T, OutletV.P, OutletV.z);
129       
130        "Vapour Density"
131        rhoV = PP.VapourDensity(OutletV.T, OutletV.P, OutletV.z);
132
133        "Energy Balance"
134        InletL.F*InletL.h + Q = OutletV.F*OutletV.h;
135       
136        "Pressure"
137        DP = InletL.P - OutletV.P;
138
139        "Vapourisation Fraction"
140        OutletV.v = 1.0;
141end
142
[38]143#*-------------------------------------------------------------------
144* Model of a dynamic reboiler with reaction
145*-------------------------------------------------------------------*#
146Model reboilerReact
147        PARAMETERS
148ext PP as CalcObject;
149ext NComp as Integer;
150        Across as area (Brief="Cross Section Area of reboiler");
151        V as volume (Brief="Total volume of reboiler");
152
153        stoic(NComp) as Real(Brief="Stoichiometric matrix");
154        Hr as energy_mol;
155        Pstartup as pressure;
156
157        VARIABLES
158in      Inlet as stream;                        #(Brief="Feed Stream");
159in      InletL as stream;                       #(Brief="Liquid inlet stream");
160out     OutletL as stream_therm;        #(Brief="Liquid outlet stream");
161out     OutletV as stream_therm;        #(Brief="Vapour outlet stream");
162
163        Q as heat_rate (Brief="Heat supplied");
164        M(NComp) as mol (Brief="Molar Holdup in the tray");
165        ML as mol (Brief="Molar liquid holdup");
166        MV as mol (Brief="Molar vapour holdup");
167        E as energy (Brief="Total Energy Holdup on tray");
168        vL as volume_mol (Brief="Liquid Molar Volume");
169        vV as volume_mol (Brief="Vapour Molar volume");
170        Level as length (Brief="Level of liquid phase");
171        Vol as volume;
172        startup as Real;
173        rhoV as dens_mass;
174        r as reaction_mol (Brief = "Reaction resulting ethyl acetate", Unit = "mol/l/s");
175        C(NComp) as conc_mol (Brief = "Molar concentration", Lower = -1);
176
177        EQUATIONS
178        "Molar Concentration"
179        OutletL.z = vL * C;
180       
181        "Component Molar Balance"
182        diff(M)= Inlet.F*Inlet.z + InletL.F*InletL.z
183                - OutletL.F*OutletL.z - OutletV.F*OutletV.z + stoic*r*ML*vL;
184       
185        "Energy Balance"
186        diff(E) = Inlet.F*Inlet.h + InletL.F*InletL.h
187                - OutletL.F*OutletL.h - OutletV.F*OutletV.h + Q + Hr * r * vL*ML;
188       
189        "Molar Holdup"
190        M = ML*OutletL.z + MV*OutletV.z;
191       
192        "Energy Holdup"
193        E = ML*OutletL.h + MV*OutletV.h - OutletL.P*V;
194       
195        "Mol fraction normalisation"
196        sum(OutletL.z)=1.0;
197       
198        "Liquid Volume"
199        vL = PP.LiquidVolume(OutletL.T, OutletL.P, OutletL.z);
200        "Vapour Volume"
201        vV = PP.VapourVolume(OutletV.T, OutletV.P, OutletV.z); 
202        "Vapour Density"
203        rhoV = PP.VapourDensity(OutletV.T, OutletV.P, OutletV.z);
204       
205        "Level of liquid phase"
206        Level = ML*vL/Across;
207
208        Vol = ML*vL;
209       
210        "vaporization fraction "
211        OutletV.v = 1.0;
212        OutletL.v = 0.0;
213       
214        "Mechanical Equilibrium"
215        OutletL.P = OutletV.P;
216       
217        "Thermal Equilibrium"
218        OutletL.T = OutletV.T; 
219       
220        "Geometry Constraint"
221        V = ML*vL + MV*vV;             
222
223        "Chemical Equilibrium"
224        PP.LiquidFugacityCoefficient(OutletL.T, OutletL.P, OutletL.z)*OutletL.z =
225        PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, OutletV.z)*OutletV.z;
226
227        sum(OutletL.z)=sum(OutletV.z);
228       
229end
Note: See TracBrowser for help on using the repository browser.