Changeset 513 for trunk/eml/stage_separators
 Timestamp:
 May 13, 2008, 4:07:40 PM (15 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/eml/stage_separators/tray.mso
r511 r513 121 121 * the liquid height (Level) OR the liquid flow OutletL.F 122 122 * (NoComps  1) OutletL compositions 123 124 == Options == 125 You can choose the equation for the liquid outlet flow and the vapour 126 inlet flow calculation through the VapourFlowModel and LiquidFlowModel 127 switchers. 128 129 == References == 130 * ELGUE, S.; PRAT, L.; CABASSUD, M.; LANN, J. L.; CéZERAC, J. Dynamic models for startup operations of batch distillation columns with experimental validation. Computers and Chemical Engineering, v. 28, p. 27352747, 2004. 131 * FEEHERY, W. F. Dynamic Optimization with Path Constraints. Tese (Doutorado)  Massachusetts Institute of Technology, June 1998. 132 * KLINGBERG, A. Modeling and Optimization of Batch Distillation. Dissertação (Mestrado)  Department of Automatic Control, Lund Institute of Technology, Lund, Sweden, fev. 2000. 133 * OLSEN, I.; ENDRESTOL, G. O.; SIRA, T. A rigorous and efficient distillation column model for engineering and training simulators. Computers and Chemical Engineering,v. 21, n. Suppl, p. S193S198, 1997. 134 * REEPMEYER, F.; REPKE, J.U.; WOZNY, G. Analysis of the startup process for reactive distillation. Chemical Engineering Technology, v. 26, p. 8186, 2003. 135 * ROFFEL, B.; BETLEM, B.; RUIJTER, J. de. First principles dynamic modeling and multivariable control of a cryogenic distillation column process. Computers and Chemical Engineering, v. 24, p. 111123, 2000. 136 * WANG, L.; LI, P.; WOZNY, G.; WANG, S. A startup model for simulation of batch distillation starting from a cold state. Computers and Chemical Engineering, v. 27, p.14851497, 2003. 123 137 "; 124 138 … … 131 145 alfa as fraction (Brief="Dry pressure drop coefficient"); 132 146 w as Real (Brief="Feehery's correlation coefficient", Unit='1/m^4', Default=1); 147 btray as Real (Brief="Elgue's correlation coefficient", Unit='kg/m/mol^2', Default=1); 148 fw as Real (Brief = "Olsen's correlation coefficient", Default=1); 149 Np as Real (Brief = "Number of liquid passes in the tray", Default=1); 133 150 Mw(NComp) as molweight (Brief = "Component Mol Weight"); 134 151 135 152 VapourFlow as Switcher(Valid = ["on", "off"], Default = "on"); 136 153 LiquidFlow as Switcher(Valid = ["on", "off"], Default = "on"); 137 VapourFlowModel as Switcher(Valid = ["Reepmeyer", "Feehery ", "Roffel"], Default = "Reepmeyer");138 # LiquidFlow as Switcher(Valid = ["on", "off"], Default = "on");154 VapourFlowModel as Switcher(Valid = ["Reepmeyer", "Feehery_Fv", "Roffel_Fv", "Klingberg", "Wang_Fv", "Elgue"], Default = "Reepmeyer"); 155 LiquidFlowModel as Switcher(Valid = ["default", "Wang_Fl", "Olsen", "Feehery_Fl", "Roffel_Fl"], Default = "default"); 139 156 140 157 SET … … 145 162 rhoV as dens_mass; 146 163 164 btemp as Real (Brief="Temporary variable of Roffel's liquid flow equation"); 165 147 166 EQUATIONS 148 167 "Liquid Density" … … 153 172 switch LiquidFlow 154 173 case "on": 155 "Francis Equation" 156 # OutletL.F*vL = 1.84*'m^0.5/s'*lw*((Level(beta*hw))/(beta))^1.5; 157 OutletL.F*vL = 1.84*'1/s'*lw*((Level(beta*hw))/(beta))^2; 174 switch LiquidFlowModel 175 case "default": 176 "Francis Equation" 177 OutletL.F*vL = 1.84*'1/s'*lw*((Level(beta*hw))/(beta))^2; 178 179 case "Wang_Fl": 180 OutletL.F*vL = 1.84*'m^0.5/s'*lw*((Level(beta*hw))/(beta))^1.5; 181 182 case "Olsen": 183 OutletL.F / 'mol/s'= lw*Np*rhoL/sum(Mw*OutletV.z)/(0.665*fw)^1.5 * ((ML*sum(Mw*OutletL.z)/rhoL/Ap)hw)^1.5 * 'm^0.5/mol'; 184 185 case "Feehery_Fl": 186 OutletL.F = lw*rhoL/sum(Mw*OutletL.z) * ((Levelhw)/750/'mm')^1.5 * 'm^2/s'; 187 188 case "Roffel_Fl": 189 OutletL.F = 2/3*sqrt(2*g)*rhoL/sum(Mw*OutletL.z)*lw*(2*btemp1)*(ML*sum(Mw*OutletL.z)/(Ap*1.3)/rhoL/(2*btemp1))^1.5; 190 end 158 191 when Level < (beta * hw) switchto "off"; 159 192 … … 163 196 when Level > (beta * hw) + 1e6*'m' switchto "on"; 164 197 end 198 199 btemp = 1  0.3593/'Pa^0.0888545'*(OutletV.F*sum(Mw*OutletV.z)/(Ap*1.3)/sqrt(rhoV))^0.177709; #/'(kg/m)^0.0888545/s^0.177709'; 165 200 166 201 switch VapourFlow … … 170 205 InletV.F*vV = sqrt((InletV.P  OutletV.P)/(rhoV*alfa))*Ah; 171 206 172 case "Feehery ":207 case "Feehery_Fv": 173 208 InletV.F = rhoV/Ap/w/sum(Mw*OutletV.z) * sqrt(((InletV.P  OutletV.P)(rhoV*g*ML*vL/Ap))/rhoV); 174 209 175 case "Roffel": 176 InletV.F^1.08 * 0.0013 * 'kg/m/mol^1.08/s^0.92' = (InletV.P  OutletV.P)  (beta*sum(M*Mw)/(Ap*1)*g) * (rhoV*Ah/sum(Mw*OutletV.z))^1.08 * 'm^1.08/mol^1.08'; 210 case "Roffel_Fv": 211 InletV.F^1.08 * 0.0013 * 'kg/m/mol^1.08/s^0.92*1e5' = (InletV.P  OutletV.P)*1e5  (beta*sum(M*Mw)/(Ap*1.3)*g*1e5) * (rhoV*Ah/sum(Mw*OutletV.z))^1.08 * 'm^1.08/mol^1.08'; 212 213 case "Klingberg": 214 InletV.F * vV = Ap * sqrt(((InletV.P  OutletV.P)rhoL*g*Level)/rhoV); 215 216 case "Wang_Fv": 217 InletV.F * vV = Ap * sqrt(((InletV.P  OutletV.P)rhoL*g*Level)/rhoV*alfa); 218 219 case "Elgue": 220 InletV.F = sqrt((InletV.P  OutletV.P)/btray); 177 221 end 178 222 when InletV.F < 1e6 * 'kmol/h' switchto "off";
Note: See TracChangeset
for help on using the changeset viewer.