Changeset 735
- Timestamp:
- Feb 26, 2009, 11:00:39 PM (15 years ago)
- Location:
- branches/gui
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gui/eml/stage_separators/batch_dist.mso
r580 r735 49 49 VARIABLES 50 50 in Inlet as stream (Brief="Feed stream", PosX=0, PosY=0.9385, Symbol="_{in}"); 51 in InletL as stream (Brief="Liquid inlet stream", PosX=0.5, PosY=0.1984, Symbol="_{inL}"); # FIXME52 out OutletV as vapour_stream (Brief="Vapour outlet stream", PosX=1, PosY=0.1984, Symbol="_{outV}");51 in InletLiquid as stream (Brief="Liquid inlet stream", PosX=0.5, PosY=0.1984, Symbol="_{inL}"); # FIXME 52 out OutletVapour as vapour_stream (Brief="Vapour outlet stream", PosX=1, PosY=0.1984, Symbol="_{outV}"); 53 53 in InletQ as power (Brief="Heat supplied", PosX=1, PosY=0.9578, Symbol="_{in}"); 54 54 … … 68 68 69 69 "Component Molar Balance" 70 diff(M)= Inlet.F*Inlet.z + InletL .F*InletL.z - OutletV.F*OutletV.z;70 diff(M)= Inlet.F*Inlet.z + InletLiquid.F*InletLiquid.z - OutletVapour.F*OutletVapour.z; 71 71 72 72 "Energy Balance" 73 diff(E) = Inlet.F*Inlet.h + InletL .F*InletL.h - OutletV.F*OutletV.h + InletQ;73 diff(E) = Inlet.F*Inlet.h + InletLiquid.F*InletLiquid.h - OutletVapour.F*OutletVapour.h + InletQ; 74 74 75 75 "Molar Holdup" 76 M = ML*x + MV*OutletV .z;76 M = ML*x + MV*OutletVapour.z; 77 77 78 78 "Energy Holdup" 79 E = ML*h + MV*OutletV .h - P*V;79 E = ML*h + MV*OutletVapour.h - P*V; 80 80 81 81 "Mol fraction normalisation" 82 82 sum(x)=1.0; 83 sum(x)=sum(OutletV .z);83 sum(x)=sum(OutletVapour.z); 84 84 85 85 "Liquid Volume" … … 87 87 88 88 "Vapour Volume" 89 volV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);89 volV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 90 90 91 91 "Chemical Equilibrium" 92 92 PP.LiquidFugacityCoefficient(T, P, x)*x = 93 PP.VapourFugacityCoefficient(OutletV .T, OutletV.P, OutletV.z)*OutletV.z;93 PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, OutletVapour.z)*OutletVapour.z; 94 94 95 95 "Mechanical Equilibrium" 96 P = OutletV .P;96 P = OutletVapour.P; 97 97 98 98 "Thermal Equilibrium" 99 T = OutletV .T;99 T = OutletVapour.T; 100 100 101 101 "Geometry Constraint" -
branches/gui/eml/stage_separators/column.mso
r729 r735 168 168 # Connecting Intermediate Trays 169 169 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 170 TRAYS([2:NumberOfTrays]).OutletV to TRAYS([1:NumberOfTrays-1]).InletV;171 TRAYS([1:NumberOfTrays-1]).OutletL to TRAYS([2:NumberOfTrays]).InletL;170 TRAYS([2:NumberOfTrays]).OutletVapour to TRAYS([1:NumberOfTrays-1]).InletVapour; 171 TRAYS([1:NumberOfTrays-1]).OutletLiquid to TRAYS([2:NumberOfTrays]).InletLiquid; 172 172 173 173 INITIAL … … 178 178 179 179 "The initial temperature of the TRAYS" 180 TRAYS(i).OutletL .T = INITIALIZATION.TopTemperature+(INITIALIZATION.BottomTemperature-INITIALIZATION.TopTemperature)*((i-1)/(NumberOfTrays-1));180 TRAYS(i).OutletLiquid.T = INITIALIZATION.TopTemperature+(INITIALIZATION.BottomTemperature-INITIALIZATION.TopTemperature)*((i-1)/(NumberOfTrays-1)); 181 181 182 182 "The initial Level of the TRAYS" … … 189 189 190 190 "The initial composition of the TRAYS - Normalized" 191 TRAYS(j).OutletL .z(i) = INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) +(INITIALIZATION.BottomComposition(i)/sum(INITIALIZATION.BottomComposition)-INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) )*((j-1)/(NumberOfTrays-1));191 TRAYS(j).OutletLiquid.z(i) = INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) +(INITIALIZATION.BottomComposition(i)/sum(INITIALIZATION.BottomComposition)-INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) )*((j-1)/(NumberOfTrays-1)); 192 192 end 193 193 … … 223 223 224 224 "Murphree Efficiency" 225 TRAYS(i).OutletV .z = MurphreeEff * (TRAYS(i).yideal - TRAYS(i).InletV.z) + TRAYS(i).InletV.z;225 TRAYS(i).OutletVapour.z = MurphreeEff * (TRAYS(i).yideal - TRAYS(i).InletVapour.z) + TRAYS(i).InletVapour.z; 226 226 227 227 "Level of clear liquid over the weir" … … 232 232 233 233 "Energy Holdup" 234 TRAYS(i).E = TRAYS(i).ML*TRAYS(i).OutletL .h + TRAYS(i).MV*TRAYS(i).OutletV.h - TRAYS(i).OutletL.P*V;234 TRAYS(i).E = TRAYS(i).ML*TRAYS(i).OutletLiquid.h + TRAYS(i).MV*TRAYS(i).OutletVapour.h - TRAYS(i).OutletLiquid.P*V; 235 235 236 236 "Energy Balance" 237 diff(TRAYS(i).E) = ( TRAYS(i).Inlet.F*TRAYS(i).Inlet.h + TRAYS(i).InletL .F*TRAYS(i).InletL.h + TRAYS(i).InletV.F*TRAYS(i).InletV.h- TRAYS(i).OutletL.F*TRAYS(i).OutletL.h - TRAYS(i).OutletV.F*TRAYS(i).OutletV.h237 diff(TRAYS(i).E) = ( TRAYS(i).Inlet.F*TRAYS(i).Inlet.h + TRAYS(i).InletLiquid.F*TRAYS(i).InletLiquid.h + TRAYS(i).InletVapour.F*TRAYS(i).InletVapour.h- TRAYS(i).OutletLiquid.F*TRAYS(i).OutletLiquid.h - TRAYS(i).OutletVapour.F*TRAYS(i).OutletVapour.h 238 238 -TRAYS(i).VapourSideStream.F*TRAYS(i).VapourSideStream.h - TRAYS(i).LiquidSideStream.F*TRAYS(i).LiquidSideStream.h + Q ); 239 239 … … 243 243 case "default": 244 244 "Francis Equation" 245 TRAYS(i).OutletL .F*TRAYS(i).vL = 1.84*'1/s'*lw*((TRAYS(i).Level-(beta*hw))/(beta))^2;245 TRAYS(i).OutletLiquid.F*TRAYS(i).vL = 1.84*'1/s'*lw*((TRAYS(i).Level-(beta*hw))/(beta))^2; 246 246 247 247 case "Wang_Fl": 248 TRAYS(i).OutletL .F*TRAYS(i).vL = 1.84*'m^0.5/s'*lw*((TRAYS(i).Level-(beta*hw))/(beta))^1.5;248 TRAYS(i).OutletLiquid.F*TRAYS(i).vL = 1.84*'m^0.5/s'*lw*((TRAYS(i).Level-(beta*hw))/(beta))^1.5; 249 249 250 250 case "Olsen": 251 TRAYS(i).OutletL .F / 'mol/s'= lw*Np*TRAYS(i).rhoL/sum(Mw*TRAYS(i).OutletV.z)/(0.665*fw)^1.5 * ((TRAYS(i).ML*sum(Mw*TRAYS(i).OutletL.z)/TRAYS(i).rhoL/Ap)-hw)^1.5 * 'm^0.5/mol';251 TRAYS(i).OutletLiquid.F / 'mol/s'= lw*Np*TRAYS(i).rhoL/sum(Mw*TRAYS(i).OutletVapour.z)/(0.665*fw)^1.5 * ((TRAYS(i).ML*sum(Mw*TRAYS(i).OutletLiquid.z)/TRAYS(i).rhoL/Ap)-hw)^1.5 * 'm^0.5/mol'; 252 252 253 253 case "Feehery_Fl": 254 TRAYS(i).OutletL .F = lw*TRAYS(i).rhoL/sum(Mw*TRAYS(i).OutletL.z) * ((TRAYS(i).Level-hw)/750/'mm')^1.5 * 'm^2/s';254 TRAYS(i).OutletLiquid.F = lw*TRAYS(i).rhoL/sum(Mw*TRAYS(i).OutletLiquid.z) * ((TRAYS(i).Level-hw)/750/'mm')^1.5 * 'm^2/s'; 255 255 256 256 case "Roffel_Fl": 257 TRAYS(i).OutletL .F = 2/3*TRAYS(i).rhoL/sum(Mw*TRAYS(i).OutletL.z)*lw*(TRAYS(i).ML*sum(Mw*TRAYS(i).OutletL.z)/(Ap*1.3)/TRAYS(i).rhoL)^1.5*sqrt(2*g/258 (2*(1 - 0.3593/'Pa^0.0888545'*abs(TRAYS(i).OutletV .F*sum(Mw*TRAYS(i).OutletV.z)/(Ap*1.3)/sqrt(TRAYS(i).rhoV))^0.177709)-1)); #/'(kg/m)^0.0888545/s^0.177709';257 TRAYS(i).OutletLiquid.F = 2/3*TRAYS(i).rhoL/sum(Mw*TRAYS(i).OutletLiquid.z)*lw*(TRAYS(i).ML*sum(Mw*TRAYS(i).OutletLiquid.z)/(Ap*1.3)/TRAYS(i).rhoL)^1.5*sqrt(2*g/ 258 (2*(1 - 0.3593/'Pa^0.0888545'*abs(TRAYS(i).OutletVapour.F*sum(Mw*TRAYS(i).OutletVapour.z)/(Ap*1.3)/sqrt(TRAYS(i).rhoV))^0.177709)-1)); #/'(kg/m)^0.0888545/s^0.177709'; 259 259 end 260 260 when TRAYS(i).Level < (beta *hw) switchto "off"; … … 262 262 case "off": 263 263 "Low level" 264 TRAYS(i).OutletL .F = 0 * 'mol/h';264 TRAYS(i).OutletLiquid.F = 0 * 'mol/h'; 265 265 when TRAYS(i).Level > (beta * hw) + 1e-6*'m' switchto "on"; 266 266 end … … 270 270 switch VapourFlowModel 271 271 case "Reepmeyer": 272 TRAYS(i).InletV .F*TRAYS(i).vV = sqrt((TRAYS(i).InletV.P - TRAYS(i).OutletV.P)/(TRAYS(i).rhoV*alfa))*Ah;272 TRAYS(i).InletVapour.F*TRAYS(i).vV = sqrt((TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P)/(TRAYS(i).rhoV*alfa))*Ah; 273 273 274 274 case "Feehery_Fv": 275 TRAYS(i).InletV .F = TRAYS(i).rhoV/Ap/w/sum(Mw*TRAYS(i).OutletV.z) * sqrt(((TRAYS(i).InletV.P - TRAYS(i).OutletV.P)-(TRAYS(i).rhoV*g*TRAYS(i).ML*TRAYS(i).vL/Ap))/TRAYS(i).rhoV);275 TRAYS(i).InletVapour.F = TRAYS(i).rhoV/Ap/w/sum(Mw*TRAYS(i).OutletVapour.z) * sqrt(((TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P)-(TRAYS(i).rhoV*g*TRAYS(i).ML*TRAYS(i).vL/Ap))/TRAYS(i).rhoV); 276 276 277 277 case "Roffel_Fv": 278 TRAYS(i).InletV .F^1.08 * 0.0013 * 'kg/m/mol^1.08/s^0.92*1e5' = (TRAYS(i).InletV.P - TRAYS(i).OutletV.P)*1e5 - (beta*sum(TRAYS(i).M*Mw)/(Ap*1.3)*g*1e5) * (TRAYS(i).rhoV*Ah/sum(Mw*TRAYS(i).OutletV.z))^1.08 * 'm^1.08/mol^1.08';278 TRAYS(i).InletVapour.F^1.08 * 0.0013 * 'kg/m/mol^1.08/s^0.92*1e5' = (TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P)*1e5 - (beta*sum(TRAYS(i).M*Mw)/(Ap*1.3)*g*1e5) * (TRAYS(i).rhoV*Ah/sum(Mw*TRAYS(i).OutletVapour.z))^1.08 * 'm^1.08/mol^1.08'; 279 279 280 280 case "Klingberg": 281 TRAYS(i).InletV .F * TRAYS(i).vV = Ap * sqrt(((TRAYS(i).InletV.P - TRAYS(i).OutletV.P)-TRAYS(i).rhoL*g*TRAYS(i).Level)/TRAYS(i).rhoV);281 TRAYS(i).InletVapour.F * TRAYS(i).vV = Ap * sqrt(((TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P)-TRAYS(i).rhoL*g*TRAYS(i).Level)/TRAYS(i).rhoV); 282 282 283 283 case "Wang_Fv": 284 TRAYS(i).InletV .F * TRAYS(i).vV = Ap * sqrt(((TRAYS(i).InletV.P - TRAYS(i).OutletV.P)-TRAYS(i).rhoL*g*TRAYS(i).Level)/TRAYS(i).rhoV*alfa);284 TRAYS(i).InletVapour.F * TRAYS(i).vV = Ap * sqrt(((TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P)-TRAYS(i).rhoL*g*TRAYS(i).Level)/TRAYS(i).rhoV*alfa); 285 285 286 286 case "Elgue": 287 TRAYS(i).InletV .F = sqrt((TRAYS(i).InletV.P - TRAYS(i).OutletV.P)/btray);287 TRAYS(i).InletVapour.F = sqrt((TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P)/btray); 288 288 end 289 when TRAYS(i).InletV .F < 1e-6 * 'kmol/h' switchto "off";289 when TRAYS(i).InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 290 290 291 291 case "off": 292 TRAYS(i).InletV .F = 0 * 'mol/s';293 when TRAYS(i).InletV .P > TRAYS(i).OutletV.P + TRAYS(i).Level*g*TRAYS(i).rhoL + 1e-1 * 'atm' switchto "on";292 TRAYS(i).InletVapour.F = 0 * 'mol/s'; 293 when TRAYS(i).InletVapour.P > TRAYS(i).OutletVapour.P + TRAYS(i).Level*g*TRAYS(i).rhoL + 1e-1 * 'atm' switchto "on"; 294 294 end 295 295 … … 311 311 * the feed stream of each tray (Inlet); 312 312 * the Murphree eficiency for each tray Emv; 313 * the InletL stream of the top tray;314 * the InletV stream of the bottom tray.313 * the InletLiquid stream of the top tray; 314 * the InletVapour stream of the bottom tray. 315 315 316 316 == Initial Conditions == 317 * the TRAYS temperature (OutletL .T);318 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);319 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray.317 * the TRAYS temperature (OutletLiquid.T); 318 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 319 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray. 320 320 "; 321 321 … … 338 338 CONNECTIONS 339 339 340 LiquidConnector to TRAYS(1).InletL ;341 VapourConnector to TRAYS(NumberOfTrays).InletV ;340 LiquidConnector to TRAYS(1).InletLiquid; 341 VapourConnector to TRAYS(NumberOfTrays).InletVapour; 342 342 343 343 EQUATIONS … … 386 386 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 387 387 "Liquid Outlet Flow" 388 LiquidOutlet.F = TRAYS(NumberOfTrays).OutletL .F;388 LiquidOutlet.F = TRAYS(NumberOfTrays).OutletLiquid.F; 389 389 390 390 "Liquid Outlet Temperature" 391 LiquidOutlet.T = TRAYS(NumberOfTrays).OutletL .T;391 LiquidOutlet.T = TRAYS(NumberOfTrays).OutletLiquid.T; 392 392 393 393 "Liquid Outlet Pressure" 394 LiquidOutlet.P = TRAYS(NumberOfTrays).OutletL .P;394 LiquidOutlet.P = TRAYS(NumberOfTrays).OutletLiquid.P; 395 395 396 396 "Liquid Outlet Composition" 397 LiquidOutlet.z = TRAYS(NumberOfTrays).OutletL .z;397 LiquidOutlet.z = TRAYS(NumberOfTrays).OutletLiquid.z; 398 398 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 399 399 # Equating Outlet Vapour Variables 400 400 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 401 401 "Vapour Outlet Flow" 402 VapourOutlet.F = TRAYS(1).OutletV .F;402 VapourOutlet.F = TRAYS(1).OutletVapour.F; 403 403 404 404 "Vapour Outlet Temperature" 405 VapourOutlet.T = TRAYS(1).OutletV .T;405 VapourOutlet.T = TRAYS(1).OutletVapour.T; 406 406 407 407 "Vapour Outlet Pressure" 408 VapourOutlet.P = TRAYS(1).OutletV .P;408 VapourOutlet.P = TRAYS(1).OutletVapour.P; 409 409 410 410 "Vapour Outlet Composition" 411 VapourOutlet.z = TRAYS(1).OutletV .z;411 VapourOutlet.z = TRAYS(1).OutletVapour.z; 412 412 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 413 413 # Equating Outlet Vapour Side Stream Variables … … 459 459 * the pump pressure difference; 460 460 * the heat supllied in reboiler and condenser; 461 * the condenser vapor outlet flow (OutletV .F);462 * the reboiler liquid outlet flow (OutletL .F);461 * the condenser vapor outlet flow (OutletVapour.F); 462 * the reboiler liquid outlet flow (OutletLiquid.F); 463 463 * both splitter outlet flows OR one of the splitter outlet flows and the splitter frac. 464 464 465 465 == Initial Conditions == 466 * the TRAYS temperature (OutletL .T);467 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);468 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;469 470 * the condenser temperature (OutletL .T);466 * the TRAYS temperature (OutletLiquid.T); 467 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 468 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 469 470 * the condenser temperature (OutletLiquid.T); 471 471 * the condenser liquid level (Level); 472 * (NoComps - 1) OutletL (OR OutletV) compositions;473 474 * the reboiler temperature (OutletL .T);472 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 473 474 * the reboiler temperature (OutletLiquid.T); 475 475 * the reboiler liquid level (Level); 476 * (NoComps - 1) OutletL (OR OutletV) compositions.476 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 477 477 "; 478 478 … … 516 516 517 517 case "on": 518 CONDENSER.InletV .F*TRAYS(1).vV = alfaTopo *Ah * sqrt(2*(TRAYS(1).OutletV.P -519 CONDENSER.OutletL .P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV));520 when CONDENSER.InletV .F < 1e-6 * 'kmol/h' switchto "off";518 CONDENSER.InletVapour.F*TRAYS(1).vV = alfaTopo *Ah * sqrt(2*(TRAYS(1).OutletVapour.P - 519 CONDENSER.OutletLiquid.P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV)); 520 when CONDENSER.InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 521 521 522 522 case "off": 523 CONDENSER.InletV .F = 0 * 'mol/s';524 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-1 * 'atm' switchto "on";523 CONDENSER.InletVapour.F = 0 * 'mol/s'; 524 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-1 * 'atm' switchto "on"; 525 525 526 526 end … … 562 562 CONNECTIONS 563 563 #vapor 564 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;565 TRAYS(1).OutletV to CONDENSER.InletV;564 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 565 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 566 566 567 567 #liquid 568 CONDENSER.OutletL to SPLITTER.Inlet;568 CONDENSER.OutletLiquid to SPLITTER.Inlet; 569 569 SPLITTER.Outlet2 to PUMP.Inlet; 570 PUMP.Outlet to TRAYS(1).InletL ;571 TRAYS(NumberOfTrays).OutletL to REBOILER.InletL;570 PUMP.Outlet to TRAYS(1).InletLiquid; 571 TRAYS(NumberOfTrays).OutletLiquid to REBOILER.InletLiquid; 572 572 573 573 #Connectors 574 CONDENSER.OutletV to ConnectorCondenserVout;574 CONDENSER.OutletVapour to ConnectorCondenserVout; 575 575 SPLITTER.Outlet1 to ConnectorSplitterOut; 576 REBOILER.OutletL to ConnectorReboilerLout;576 REBOILER.OutletLiquid to ConnectorReboilerLout; 577 577 578 578 ConnectorHeatReboiler to REBOILER.InletQ; … … 598 598 599 599 == Initial Conditions == 600 * the TRAYS temperature (OutletL .T);601 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);602 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;603 604 * the top tank temperature (OutletL .T);600 * the TRAYS temperature (OutletLiquid.T); 601 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 602 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 603 604 * the top tank temperature (OutletLiquid.T); 605 605 * the top tank liquid level (Level); 606 * (NoComps - 1) OutletL (OR OutletV) compositions;607 608 * the bottom tank temperature (OutletL .T);606 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 607 608 * the bottom tank temperature (OutletLiquid.T); 609 609 * the bottom tank liquid level (Level); 610 * (NoComps - 1) OutletL (OR OutletV) compositions.610 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 611 611 "; 612 612 … … 690 690 691 691 case "on": 692 CONDENSER.InletV .F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletV.P -693 CONDENSER.OutletL .P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV));694 when CONDENSER.InletV .F < 1e-6 * 'kmol/h' switchto "off";692 CONDENSER.InletVapour.F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletVapour.P - 693 CONDENSER.OutletLiquid.P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV)); 694 when CONDENSER.InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 695 695 696 696 case "off": 697 CONDENSER.InletV .F = 0 * 'mol/s';698 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-1 * 'atm' switchto "on";697 CONDENSER.InletVapour.F = 0 * 'mol/s'; 698 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-1 * 'atm' switchto "on"; 699 699 700 700 end … … 702 702 CONNECTIONS 703 703 #vapor 704 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;705 TRAYS(1).OutletV to CONDENSER.InletV;704 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 705 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 706 706 707 707 #liquid 708 CONDENSER.OutletL to ACCUMULATOR_TOP.Inlet;708 CONDENSER.OutletLiquid to ACCUMULATOR_TOP.Inlet; 709 709 ACCUMULATOR_TOP.Outlet to SPLITTER_TOP.Inlet; 710 710 SPLITTER_TOP.Outlet2 to PUMP.Inlet; 711 PUMP.Outlet to TRAYS(1).InletL ;712 TRAYS(NumberOfTrays).OutletL to ACCUMULATOR_BOTTOM.Inlet;711 PUMP.Outlet to TRAYS(1).InletLiquid; 712 TRAYS(NumberOfTrays).OutletLiquid to ACCUMULATOR_BOTTOM.Inlet; 713 713 ACCUMULATOR_BOTTOM.Outlet to SPLITTER_BOTTOM.Inlet; 714 SPLITTER_BOTTOM.Outlet2 to REBOILER.InletL ;714 SPLITTER_BOTTOM.Outlet2 to REBOILER.InletLiquid; 715 715 716 716 #Connectors … … 734 734 * the Murphree eficiency for each tray Emv; 735 735 * the pump head; 736 * the condenser vapor outlet flow (OutletV .F);736 * the condenser vapor outlet flow (OutletVapour.F); 737 737 * the heat supllied in bottom tank; 738 738 * the heat supllied in condenser and reboiler; … … 740 740 741 741 == Initial Conditions == 742 * the TRAYS temperature (OutletL .T);743 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);744 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;745 746 * the condenser temperature (OutletL .T);742 * the TRAYS temperature (OutletLiquid.T); 743 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 744 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 745 746 * the condenser temperature (OutletLiquid.T); 747 747 * the condenser liquid level (Level); 748 * (NoComps - 1) OutletL (OR OutletV) compositions;749 750 * the bottom tank temperature (OutletL .T);748 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 749 750 * the bottom tank temperature (OutletLiquid.T); 751 751 * the bottom tank liquid level (Level); 752 * (NoComps - 1) OutletL (OR OutletV) compositions.752 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 753 753 "; 754 754 … … 834 834 switch CondenserVapourFlow 835 835 case "on": 836 CONDENSER.InletV .F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletV.P -837 CONDENSER.OutletL .P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV));838 when CONDENSER.InletV .F < 1e-6 * 'kmol/h' switchto "off";836 CONDENSER.InletVapour.F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletVapour.P - 837 CONDENSER.OutletLiquid.P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV)); 838 when CONDENSER.InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 839 839 840 840 case "off": 841 CONDENSER.InletV .F = 0 * 'mol/s';842 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-1 * 'atm' switchto "on";841 CONDENSER.InletVapour.F = 0 * 'mol/s'; 842 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-1 * 'atm' switchto "on"; 843 843 end 844 844 845 845 CONNECTIONS 846 846 #vapor 847 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;848 TRAYS(1).OutletV to CONDENSER.InletV;847 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 848 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 849 849 850 850 #liquid 851 CONDENSER.OutletL to SPLITTER_TOP.Inlet;851 CONDENSER.OutletLiquid to SPLITTER_TOP.Inlet; 852 852 SPLITTER_TOP.Outlet2 to PUMP.Inlet; 853 PUMP.Outlet to TRAYS(1).InletL ;854 TRAYS(NumberOfTrays).OutletL to ACCUMULATOR_BOTTOM.Inlet;853 PUMP.Outlet to TRAYS(1).InletLiquid; 854 TRAYS(NumberOfTrays).OutletLiquid to ACCUMULATOR_BOTTOM.Inlet; 855 855 ACCUMULATOR_BOTTOM.Outlet to SPLITTER_BOTTOM.Inlet; 856 SPLITTER_BOTTOM.Outlet2 to REBOILER.InletL ;856 SPLITTER_BOTTOM.Outlet2 to REBOILER.InletLiquid; 857 857 858 858 #Connectors … … 860 860 ConnectorHeatReboiler to REBOILER.InletQ; 861 861 ConnectorHeatBottomAccumulator to ACCUMULATOR_BOTTOM.InletQ; 862 CONDENSER.OutletV to ConnectorCondenserVout;862 CONDENSER.OutletVapour to ConnectorCondenserVout; 863 863 SPLITTER_TOP.Outlet1 to ConnectorSplitterTop; 864 864 SPLITTER_BOTTOM.Outlet1 to ConnectorSplitterBottom; … … 880 880 * the heat supllied in the top tank; 881 881 * the condenser pressure drop; 882 * the reboiler liquid outlet flow (OutletL .F);882 * the reboiler liquid outlet flow (OutletLiquid.F); 883 883 * both splitter outlet flows OR one of the splitter outlet flows and the splitter frac. 884 884 885 885 == Initial Conditions == 886 * the TRAYS temperature (OutletL .T);887 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);888 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;889 890 * the top tank temperature (OutletL .T);886 * the TRAYS temperature (OutletLiquid.T); 887 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 888 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 889 890 * the top tank temperature (OutletLiquid.T); 891 891 * the top tank liquid level (Level); 892 * (NoComps - 1) OutletL (OR OutletV) compositions;893 894 * the reboiler temperature (OutletL .T);892 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 893 894 * the reboiler temperature (OutletLiquid.T); 895 895 * the reboiler liquid level (Level); 896 * (NoComps - 1) OutletL (OR OutletV) compositions.896 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 897 897 "; 898 898 … … 969 969 switch CondenserVapourFlow 970 970 case "on": 971 CONDENSER.InletV .F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletV.P -972 CONDENSER.OutletL .P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV));973 when CONDENSER.InletV .F < 1e-6 * 'kmol/h' switchto "off";971 CONDENSER.InletVapour.F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletVapour.P - 972 CONDENSER.OutletLiquid.P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV)); 973 when CONDENSER.InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 974 974 975 975 case "off": 976 CONDENSER.InletV .F = 0 * 'mol/s';977 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-1 * 'atm' switchto "on";976 CONDENSER.InletVapour.F = 0 * 'mol/s'; 977 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-1 * 'atm' switchto "on"; 978 978 end 979 979 980 980 CONNECTIONS 981 981 #vapor 982 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;983 TRAYS(1).OutletV to CONDENSER.InletV;982 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 983 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 984 984 985 985 #liquid 986 CONDENSER.OutletL to ACCUMULATOR.Inlet;986 CONDENSER.OutletLiquid to ACCUMULATOR.Inlet; 987 987 ACCUMULATOR.Outlet to SPLITTER.Inlet; 988 988 SPLITTER.Outlet2 to PUMP.Inlet; 989 PUMP.Outlet to TRAYS(1).InletL ;990 TRAYS(NumberOfTrays).OutletL to REBOILER.InletL;989 PUMP.Outlet to TRAYS(1).InletLiquid; 990 TRAYS(NumberOfTrays).OutletLiquid to REBOILER.InletLiquid; 991 991 992 992 #Connectors … … 996 996 997 997 SPLITTER.Outlet1 to ConnectorSplitterOut; 998 REBOILER.OutletL to ConnectorReboilerLout;998 REBOILER.OutletLiquid to ConnectorReboilerLout; 999 999 1000 1000 end … … 1010 1010 * the feed stream of each tray (Inlet); 1011 1011 * the Murphree eficiency for each tray Emv; 1012 * the InletV stream of the bottom tray unless its flow;1012 * the InletVapour stream of the bottom tray unless its flow; 1013 1013 * the pump pressure difference; 1014 1014 * the heat supllied in the condenser; 1015 * the condenser vapor outlet flow (OutletV .F);1015 * the condenser vapor outlet flow (OutletVapour.F); 1016 1016 * both splitter outlet flows OR one of the splitter outlet flows and the splitter frac. 1017 1017 1018 1018 == Initial Conditions == 1019 * the TRAYS temperature (OutletL .T);1020 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);1021 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;1022 1023 * the condenser temperature (OutletL .T);1019 * the TRAYS temperature (OutletLiquid.T); 1020 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 1021 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 1022 1023 * the condenser temperature (OutletLiquid.T); 1024 1024 * the condenser liquid level (Level); 1025 * (NoComps - 1) OutletL (OR OutletV) compositions;1025 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 1026 1026 "; 1027 1027 … … 1069 1069 1070 1070 case "on": 1071 CONDENSER.InletV .F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletV.P -1072 CONDENSER.OutletL .P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV));1073 when CONDENSER.InletV .F < 1e-6 * 'kmol/h' switchto "off";1071 CONDENSER.InletVapour.F*TRAYS(1).vV = alfaTopo * Ah * sqrt(2*(TRAYS(1).OutletVapour.P - 1072 CONDENSER.OutletLiquid.P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV)); 1073 when CONDENSER.InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 1074 1074 1075 1075 case "off": 1076 CONDENSER.InletV .F = 0 * 'mol/s';1077 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-1 * 'atm' switchto "on";1076 CONDENSER.InletVapour.F = 0 * 'mol/s'; 1077 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-1 * 'atm' switchto "on"; 1078 1078 1079 1079 end … … 1093 1093 ConnectorSplitterOut.z = LiquidDistillate.z; 1094 1094 1095 LiquidOutlet.F= TRAYS(NumberOfTrays).OutletL .F;1096 LiquidOutlet.T = TRAYS(NumberOfTrays).OutletL .T;1097 LiquidOutlet.P = TRAYS(NumberOfTrays).OutletL .P;1098 LiquidOutlet.z = TRAYS(NumberOfTrays).OutletL .z;1095 LiquidOutlet.F= TRAYS(NumberOfTrays).OutletLiquid.F; 1096 LiquidOutlet.T = TRAYS(NumberOfTrays).OutletLiquid.T; 1097 LiquidOutlet.P = TRAYS(NumberOfTrays).OutletLiquid.P; 1098 LiquidOutlet.z = TRAYS(NumberOfTrays).OutletLiquid.z; 1099 1099 1100 1100 VapourConnector.F= VapourInlet.F; … … 1120 1120 CONNECTIONS 1121 1121 #vapor 1122 TRAYS(1).OutletV to CONDENSER.InletV;1122 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 1123 1123 1124 1124 #liquid 1125 CONDENSER.OutletL to SPLITTER.Inlet;1125 CONDENSER.OutletLiquid to SPLITTER.Inlet; 1126 1126 SPLITTER.Outlet2 to PUMP.Inlet; 1127 PUMP.Outlet to TRAYS(1).InletL ;1127 PUMP.Outlet to TRAYS(1).InletLiquid; 1128 1128 1129 1129 #Connectors 1130 1130 ConnectorHeatCondenser to CONDENSER.InletQ; 1131 VapourConnector to TRAYS(NumberOfTrays).InletV ;1131 VapourConnector to TRAYS(NumberOfTrays).InletVapour; 1132 1132 SPLITTER.Outlet1 to ConnectorSplitterOut; 1133 CONDENSER.OutletV to ConnectorCondenserVout;1133 CONDENSER.OutletVapour to ConnectorCondenserVout; 1134 1134 1135 1135 end … … 1145 1145 * the feed stream of each tray (Inlet); 1146 1146 * the Murphree eficiency for each tray Emv; 1147 * the InletV stream of the bottom tray unless its flow;1147 * the InletVapour stream of the bottom tray unless its flow; 1148 1148 * the pump head; 1149 1149 * the condenser pressure drop; … … 1153 1153 1154 1154 == Initial Conditions == 1155 * the TRAYS temperature (OutletL .T);1156 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);1157 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;1158 1159 * the top tank temperature (OutletL .T);1155 * the TRAYS temperature (OutletLiquid.T); 1156 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 1157 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 1158 1159 * the top tank temperature (OutletLiquid.T); 1160 1160 * the top tank liquid level (Level); 1161 * (NoComps - 1) OutletL (OR OutletV) compositions;1161 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 1162 1162 "; 1163 1163 … … 1206 1206 HeatToAccumulator = ConnectorHeatAccumulator; 1207 1207 1208 LiquidOutlet.F= TRAYS(NumberOfTrays).OutletL .F;1209 LiquidOutlet.T = TRAYS(NumberOfTrays).OutletL .T;1210 LiquidOutlet.P = TRAYS(NumberOfTrays).OutletL .P;1211 LiquidOutlet.z = TRAYS(NumberOfTrays).OutletL .z;1208 LiquidOutlet.F= TRAYS(NumberOfTrays).OutletLiquid.F; 1209 LiquidOutlet.T = TRAYS(NumberOfTrays).OutletLiquid.T; 1210 LiquidOutlet.P = TRAYS(NumberOfTrays).OutletLiquid.P; 1211 LiquidOutlet.z = TRAYS(NumberOfTrays).OutletLiquid.z; 1212 1212 1213 1213 VapourConnector.F= VapourInlet.F; … … 1240 1240 1241 1241 case "on": 1242 CONDENSER.InletV .F*TRAYS(1).vV = alfaTopo *Ah * sqrt(2*(TRAYS(1).OutletV.P -1243 CONDENSER.OutletL .P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV));1244 when CONDENSER.InletV .F < 1e-6 * 'kmol/h' switchto "off";1242 CONDENSER.InletVapour.F*TRAYS(1).vV = alfaTopo *Ah * sqrt(2*(TRAYS(1).OutletVapour.P - 1243 CONDENSER.OutletLiquid.P + 1e-8 * 'atm') / (alfa*TRAYS(1).rhoV)); 1244 when CONDENSER.InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 1245 1245 1246 1246 case "off": 1247 CONDENSER.InletV .F = 0 * 'mol/s';1248 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-1 * 'atm' switchto "on";1247 CONDENSER.InletVapour.F = 0 * 'mol/s'; 1248 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-1 * 'atm' switchto "on"; 1249 1249 1250 1250 end … … 1252 1252 CONNECTIONS 1253 1253 #vapor 1254 TRAYS(1).OutletV to CONDENSER.InletV;1254 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 1255 1255 1256 1256 #liquid 1257 CONDENSER.OutletL to ACCUMULATOR.Inlet;1257 CONDENSER.OutletLiquid to ACCUMULATOR.Inlet; 1258 1258 ACCUMULATOR.Outlet to SPLITTER.Inlet; 1259 1259 SPLITTER.Outlet2 to PUMP.Inlet; 1260 PUMP.Outlet to TRAYS(1).InletL ;1260 PUMP.Outlet to TRAYS(1).InletLiquid; 1261 1261 1262 1262 #Connectors 1263 VapourConnector to TRAYS(NumberOfTrays).InletV ;1263 VapourConnector to TRAYS(NumberOfTrays).InletVapour; 1264 1264 ConnectorHeatCondenser to CONDENSER.InletQ; 1265 1265 SPLITTER.Outlet1 to ConnectorSplitterTop; … … 1279 1279 * the Murphree eficiency for each tray Emv; 1280 1280 * the vapour flow leaving the top of the column; 1281 * the InletL stream of the top tray;1281 * the InletLiquidiquid stream of the top tray; 1282 1282 * the heat supllied in the reboiler; 1283 * the reboiler liquid outlet flow (OutletL .F);1283 * the reboiler liquid outlet flow (OutletLiquid.F); 1284 1284 1285 1285 == Initial Conditions == 1286 * the TRAYS temperature (OutletL .T);1287 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);1288 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;1289 1290 * the reboiler temperature (OutletL .T);1286 * the TRAYS temperature (OutletLiquid.T); 1287 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 1288 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 1289 1290 * the reboiler temperature (OutletLiquid.T); 1291 1291 * the reboiler liquid level (Level); 1292 * (NoComps - 1) OutletL (OR OutletV) compositions.1292 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 1293 1293 "; 1294 1294 … … 1325 1325 CONNECTIONS 1326 1326 #vapor 1327 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;1327 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 1328 1328 1329 1329 #liquid 1330 TRAYS(NumberOfTrays).OutletL to REBOILER.InletL;1330 TRAYS(NumberOfTrays).OutletLiquid to REBOILER.InletLiquid; 1331 1331 1332 1332 #Connectors 1333 REBOILER.OutletL to ConnectorReboilerLout;1334 LiquidConnector to TRAYS(1).InletL ;1333 REBOILER.OutletLiquid to ConnectorReboilerLout; 1334 LiquidConnector to TRAYS(1).InletLiquid; 1335 1335 ConnectorHeatReboiler to REBOILER.InletQ; 1336 1336 … … 1346 1346 LiquidConnector.h = LiquidInlet.h; 1347 1347 1348 VapourOutlet.F= TRAYS(1).OutletV .F;1349 VapourOutlet.T = TRAYS(1).OutletV .T;1350 VapourOutlet.P = TRAYS(1).OutletV .P;1351 VapourOutlet.z = TRAYS(1).OutletV .z;1348 VapourOutlet.F= TRAYS(1).OutletVapour.F; 1349 VapourOutlet.T = TRAYS(1).OutletVapour.T; 1350 VapourOutlet.P = TRAYS(1).OutletVapour.P; 1351 VapourOutlet.z = TRAYS(1).OutletVapour.z; 1352 1352 1353 1353 # Reboiler Connector Equations … … 1383 1383 * the Murphree eficiency for each tray (Emv); 1384 1384 * the vapour flow leaving the top of the column; 1385 * the InletL stream of the top tray;1385 * the InletLiquidiquid stream of the top tray; 1386 1386 * the heat supllied in bottom tank; 1387 1387 * the heat supllied in the reboiler; … … 1389 1389 1390 1390 == Initial Conditions == 1391 * the TRAYS temperature (OutletL .T);1392 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);1393 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;1394 1395 * the bottom tank temperature (OutletL .T);1391 * the TRAYS temperature (OutletLiquid.T); 1392 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 1393 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 1394 1395 * the bottom tank temperature (OutletLiquid.T); 1396 1396 * the bottom tank liquid level (Level); 1397 * (NoComps - 1) OutletL (OR OutletV) compositions.1397 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 1398 1398 "; 1399 1399 … … 1434 1434 CONNECTIONS 1435 1435 #vapor 1436 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;1436 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 1437 1437 1438 1438 #liquid 1439 TRAYS(NumberOfTrays).OutletL to ACCUMULATOR.Inlet;1439 TRAYS(NumberOfTrays).OutletLiquid to ACCUMULATOR.Inlet; 1440 1440 ACCUMULATOR.Outlet to SPLITTER.Inlet; 1441 SPLITTER.Outlet2 to REBOILER.InletL ;1441 SPLITTER.Outlet2 to REBOILER.InletLiquid; 1442 1442 1443 1443 #Connectors 1444 LiquidConnector to TRAYS(1).InletL ;1444 LiquidConnector to TRAYS(1).InletLiquid; 1445 1445 ConnectorHeatReboiler to REBOILER.InletQ; 1446 1446 ConnectorHeatAccumulator to ACCUMULATOR.InletQ; … … 1464 1464 LiquidConnector.h = LiquidInlet.h; 1465 1465 1466 VapourOutlet.F= TRAYS(1).OutletV .F;1467 VapourOutlet.T = TRAYS(1).OutletV .T;1468 VapourOutlet.P = TRAYS(1).OutletV .P;1469 VapourOutlet.z = TRAYS(1).OutletV .z;1466 VapourOutlet.F= TRAYS(1).OutletVapour.F; 1467 VapourOutlet.T = TRAYS(1).OutletVapour.T; 1468 VapourOutlet.P = TRAYS(1).OutletVapour.P; 1469 VapourOutlet.z = TRAYS(1).OutletVapour.z; 1470 1470 1471 1471 VapourDrawOff.F*VapSideTrayIndex= TRAYS.VapourSideStream.F; … … 1497 1497 * the pump pressure difference; 1498 1498 * the heat supllied in reboiler and condenser; 1499 * the condenser vapor outlet flow (OutletV .F);1500 * the reboiler liquid outlet flow (OutletL .F);1499 * the condenser vapor outlet flow (OutletVapour.F); 1500 * the reboiler liquid outlet flow (OutletLiquid.F); 1501 1501 * both splitter outlet flows OR one of the splitter outlet flows and the splitter frac. 1502 1502 1503 1503 == Initial Conditions == 1504 * the TRAYS temperature (OutletL .T);1505 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletL .F);1506 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray;1507 1508 * the condenser temperature (OutletL .T);1504 * the TRAYS temperature (OutletLiquid.T); 1505 * the TRAYS liquid level (Level) OR the TRAYS liquid flow (OutletLiquid.F); 1506 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray; 1507 1508 * the condenser temperature (OutletLiquid.T); 1509 1509 * the condenser liquid level (Level); 1510 * (NoComps - 1) OutletL (OR OutletV) compositions;1511 1512 * the reboiler temperature (OutletL .T);1510 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 1511 1512 * the reboiler temperature (OutletLiquid.T); 1513 1513 * the reboiler liquid level (Level); 1514 * (NoComps - 1) OutletL (OR OutletV) compositions.1514 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 1515 1515 "; 1516 1516 … … 1623 1623 CONNECTIONS 1624 1624 #vapor 1625 REBOILER.OutletV to TRAYS(NumberOfTrays).InletV;1626 TRAYS(1).OutletV to CONDENSER.InletV;1627 TRAYS([2:NumberOfTrays]).OutletV to TRAYS([1:NumberOfTrays-1]).InletV;1625 REBOILER.OutletVapour to TRAYS(NumberOfTrays).InletVapour; 1626 TRAYS(1).OutletVapour to CONDENSER.InletVapour; 1627 TRAYS([2:NumberOfTrays]).OutletVapour to TRAYS([1:NumberOfTrays-1]).InletVapour; 1628 1628 1629 1629 #liquid 1630 CONDENSER.OutletL to SPLITTER.Inlet;1630 CONDENSER.OutletLiquid to SPLITTER.Inlet; 1631 1631 SPLITTER.Outlet2 to PUMP.Inlet; 1632 PUMP.Outlet to TRAYS(1).InletL ;1633 TRAYS([1:NumberOfTrays-1]).OutletL to TRAYS([2:NumberOfTrays]).InletL;1634 TRAYS(NumberOfTrays).OutletL to REBOILER.InletL;1632 PUMP.Outlet to TRAYS(1).InletLiquid; 1633 TRAYS([1:NumberOfTrays-1]).OutletLiquid to TRAYS([2:NumberOfTrays]).InletLiquid; 1634 TRAYS(NumberOfTrays).OutletLiquid to REBOILER.InletLiquid; 1635 1635 1636 1636 #Connectors 1637 CONDENSER.OutletV to ConnectorCondenserVout;1637 CONDENSER.OutletVapour to ConnectorCondenserVout; 1638 1638 SPLITTER.Outlet1 to ConnectorSplitterOut; 1639 REBOILER.OutletL to ConnectorReboilerLout;1639 REBOILER.OutletLiquid to ConnectorReboilerLout; 1640 1640 1641 1641 INITIAL … … 1646 1646 1647 1647 "The initial temperature of the TRAYS" 1648 TRAYS(i).OutletL .T = INITIALIZATION.TopTemperature+(INITIALIZATION.BottomTemperature-INITIALIZATION.TopTemperature)*((i-1)/(NumberOfTrays-1));1648 TRAYS(i).OutletLiquid.T = INITIALIZATION.TopTemperature+(INITIALIZATION.BottomTemperature-INITIALIZATION.TopTemperature)*((i-1)/(NumberOfTrays-1)); 1649 1649 1650 1650 "The initial Level of the TRAYS" … … 1657 1657 1658 1658 "The initial composition of the TRAYS - Normalized" 1659 TRAYS(j).OutletL .z(i) = INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) +(INITIALIZATION.BottomComposition(i)/sum(INITIALIZATION.BottomComposition)-INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) )*((j-1)/(NumberOfTrays-1));1659 TRAYS(j).OutletLiquid.z(i) = INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) +(INITIALIZATION.BottomComposition(i)/sum(INITIALIZATION.BottomComposition)-INITIALIZATION.TopComposition(i)/sum(INITIALIZATION.TopComposition) )*((j-1)/(NumberOfTrays-1)); 1660 1660 end 1661 1661 … … 1667 1667 1668 1668 "Murphree Efficiency" 1669 TRAYS(i).OutletV .z = MurphreeEff * (TRAYS(i).yideal - TRAYS(i).InletV.z) + TRAYS(i).InletV.z;1669 TRAYS(i).OutletVapour.z = MurphreeEff * (TRAYS(i).yideal - TRAYS(i).InletVapour.z) + TRAYS(i).InletVapour.z; 1670 1670 1671 1671 "Energy Holdup" 1672 TRAYS(i).E = TRAYS(i).ML*TRAYS(i).OutletL .h + TRAYS(i).MV*TRAYS(i).OutletV.h - TRAYS(i).OutletL.P*V;1672 TRAYS(i).E = TRAYS(i).ML*TRAYS(i).OutletLiquid.h + TRAYS(i).MV*TRAYS(i).OutletVapour.h - TRAYS(i).OutletLiquid.P*V; 1673 1673 1674 1674 "Component Molar Balance" 1675 diff(TRAYS(i).M)=TRAYS(i).Inlet.F*TRAYS(i).Inlet.z + TRAYS(i).InletL .F*TRAYS(i).InletL.z + TRAYS(i).InletV.F*TRAYS(i).InletV.z- TRAYS(i).OutletL.F*TRAYS(i).OutletL.z - TRAYS(i).OutletV.F*TRAYS(i).OutletV.z-1675 diff(TRAYS(i).M)=TRAYS(i).Inlet.F*TRAYS(i).Inlet.z + TRAYS(i).InletLiquid.F*TRAYS(i).InletLiquid.z + TRAYS(i).InletVapour.F*TRAYS(i).InletVapour.z- TRAYS(i).OutletLiquid.F*TRAYS(i).OutletLiquid.z - TRAYS(i).OutletVapour.F*TRAYS(i).OutletVapour.z- 1676 1676 TRAYS(i).LiquidSideStream.F*TRAYS(i).LiquidSideStream.z-TRAYS(i).VapourSideStream.F*TRAYS(i).VapourSideStream.z + stoic*TRAYS(i).r3*TRAYS(i).ML*TRAYS(i).vL; 1677 1677 1678 1678 "Energy Balance" 1679 diff(TRAYS(i).E) = ( TRAYS(i).Inlet.F*TRAYS(i).Inlet.h + TRAYS(i).InletL .F*TRAYS(i).InletL.h + TRAYS(i).InletV.F*TRAYS(i).InletV.h- TRAYS(i).OutletL.F*TRAYS(i).OutletL.h - TRAYS(i).OutletV.F*TRAYS(i).OutletV.h1679 diff(TRAYS(i).E) = ( TRAYS(i).Inlet.F*TRAYS(i).Inlet.h + TRAYS(i).InletLiquid.F*TRAYS(i).InletLiquid.h + TRAYS(i).InletVapour.F*TRAYS(i).InletVapour.h- TRAYS(i).OutletLiquid.F*TRAYS(i).OutletLiquid.h - TRAYS(i).OutletVapour.F*TRAYS(i).OutletVapour.h 1680 1680 -TRAYS(i).VapourSideStream.F*TRAYS(i).VapourSideStream.h - TRAYS(i).LiquidSideStream.F*TRAYS(i).LiquidSideStream.h + Q ) + Hr * TRAYS(i).r3 *TRAYS(i). vL*TRAYS(i).ML; 1681 1681 … … 1691 1691 case "on": 1692 1692 "Pressure Drop through the condenser" 1693 CONDENSER.InletV .F*TRAYS(1).vV / 'm^2' =1694 sqrt((TRAYS(1).OutletV .P - CONDENSER.OutletL.P + 1e-8 * 'atm')/(TRAYS(1).rhoV*alfacond));1695 when TRAYS(1).OutletV .P < CONDENSER.OutletL.P switchto "off";1693 CONDENSER.InletVapour.F*TRAYS(1).vV / 'm^2' = 1694 sqrt((TRAYS(1).OutletVapour.P - CONDENSER.OutletLiquid.P + 1e-8 * 'atm')/(TRAYS(1).rhoV*alfacond)); 1695 when TRAYS(1).OutletVapour.P < CONDENSER.OutletLiquid.P switchto "off"; 1696 1696 1697 1697 case "off": 1698 1698 "Prato selado" 1699 CONDENSER.InletV .F = 0.0 * 'mol/s';1700 when TRAYS(1).OutletV .P > CONDENSER.OutletL.P + 1e-3 * 'atm' switchto "on";1699 CONDENSER.InletVapour.F = 0.0 * 'mol/s'; 1700 when TRAYS(1).OutletVapour.P > CONDENSER.OutletLiquid.P + 1e-3 * 'atm' switchto "on"; 1701 1701 end 1702 1702 … … 1706 1706 case "on": 1707 1707 "Francis Equation" 1708 TRAYS(i).OutletL .F*TRAYS(i).vL = 1.84*'1/s'*lw*((TRAYS(i).Level-(beta*hw)+1e-6*'m')/(beta))^2;1708 TRAYS(i).OutletLiquid.F*TRAYS(i).vL = 1.84*'1/s'*lw*((TRAYS(i).Level-(beta*hw)+1e-6*'m')/(beta))^2; 1709 1709 when TRAYS(i).Level < (beta * hw) switchto "off"; 1710 1710 1711 1711 case "off": 1712 1712 "Low level" 1713 TRAYS(i).OutletL .F = 0 * 'mol/h';1713 TRAYS(i).OutletLiquid.F = 0 * 'mol/h'; 1714 1714 when TRAYS(i).Level > (beta * hw) + 1e-6*'m' switchto "on"; 1715 1715 end … … 1717 1717 switch TrayVapourFlow 1718 1718 case "on": 1719 TRAYS(i).InletV .F*TRAYS(i).vV = sqrt((TRAYS(i).InletV.P - TRAYS(i).OutletV.P - TRAYS(i).Level*g*TRAYS(i).rhoL + 1e-8 * 'atm')/(TRAYS(i).rhoV*alfa))*Ah;1720 when TRAYS(i).InletV .P < TRAYS(i).OutletV.P + TRAYS(i).Level*g*TRAYS(i).rhoL switchto "off";1719 TRAYS(i).InletVapour.F*TRAYS(i).vV = sqrt((TRAYS(i).InletVapour.P - TRAYS(i).OutletVapour.P - TRAYS(i).Level*g*TRAYS(i).rhoL + 1e-8 * 'atm')/(TRAYS(i).rhoV*alfa))*Ah; 1720 when TRAYS(i).InletVapour.P < TRAYS(i).OutletVapour.P + TRAYS(i).Level*g*TRAYS(i).rhoL switchto "off"; 1721 1721 1722 1722 case "off": 1723 TRAYS(i).InletV .F = 0 * 'mol/s';1724 when TRAYS(i).InletV .P > TRAYS(i).OutletV.P + TRAYS(i).Level*g*TRAYS(i).rhoL + 3e-2 * 'atm' switchto "on";1723 TRAYS(i).InletVapour.F = 0 * 'mol/s'; 1724 when TRAYS(i).InletVapour.P > TRAYS(i).OutletVapour.P + TRAYS(i).Level*g*TRAYS(i).rhoL + 3e-2 * 'atm' switchto "on"; 1725 1725 end 1726 1726 … … 1739 1739 1740 1740 "Reboiler Temperature indicator" 1741 TRI * 'K' = REBOILER.OutletL .T;1741 TRI * 'K' = REBOILER.OutletLiquid.T; 1742 1742 1743 1743 "Reboiler Level indicator" … … 1745 1745 1746 1746 "Condenser Temperature indicator" 1747 TCI * 'K' = CONDENSER.OutletL .T;1747 TCI * 'K' = CONDENSER.OutletLiquid.T; 1748 1748 1749 1749 "Condenser Level indicator" … … 1794 1794 == Specify == 1795 1795 * the feed stream of each tray (Inlet); 1796 * the InletL stream of the top tray;1797 * the InletV stream of the bottom tray;1796 * the InletLiquid stream of the top tray; 1797 * the InletVapour stream of the bottom tray; 1798 1798 * the total pressure drop (dP) of the section. 1799 1799 1800 1800 == Initial Conditions == 1801 * the stages temperature (OutletL .T);1801 * the stages temperature (OutletLiquid.T); 1802 1802 * the stages liquid holdup; 1803 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray.1803 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray. 1804 1804 "; 1805 1805 … … 1844 1844 CONNECTIONS 1845 1845 1846 STAGES([2:NumberOfStages]).OutletV to STAGES([1:NumberOfStages-1]).InletV;1847 STAGES([1:NumberOfStages-1]).OutletL to STAGES([2:NumberOfStages]).InletL;1846 STAGES([2:NumberOfStages]).OutletVapour to STAGES([1:NumberOfStages-1]).InletVapour; 1847 STAGES([1:NumberOfStages-1]).OutletLiquid to STAGES([2:NumberOfStages]).InletLiquid; 1848 1848 1849 1849 EQUATIONS … … 1861 1861 1862 1862 "Energy Balance" 1863 diff(STAGES(i).E) = ( STAGES(i).Inlet.F*STAGES(i).Inlet.h + STAGES(i).InletL .F*STAGES(i).InletL.h + STAGES(i).InletV.F*STAGES(i).InletV.h- STAGES(i).OutletL.F*STAGES(i).OutletL.h1864 - STAGES(i).OutletV .F*STAGES(i).OutletV.h + HeatSupply );1863 diff(STAGES(i).E) = ( STAGES(i).Inlet.F*STAGES(i).Inlet.h + STAGES(i).InletLiquid.F*STAGES(i).InletLiquid.h + STAGES(i).InletVapour.F*STAGES(i).InletVapour.h- STAGES(i).OutletLiquid.F*STAGES(i).OutletLiquid.h 1864 - STAGES(i).OutletVapour.F*STAGES(i).OutletVapour.h + HeatSupply ); 1865 1865 1866 1866 "Energy Holdup" 1867 STAGES(i).E = STAGES(i).ML*STAGES(i).OutletL .h + STAGES(i).MV*STAGES(i).OutletV.h - STAGES(i).OutletL.P*V;1867 STAGES(i).E = STAGES(i).ML*STAGES(i).OutletLiquid.h + STAGES(i).MV*STAGES(i).OutletVapour.h - STAGES(i).OutletLiquid.P*V; 1868 1868 1869 1869 "Geometry Constraint" … … 1871 1871 1872 1872 "Volume flow rate of vapor, m^3/m^2/s" 1873 STAGES(i).uV * ((ColumnArea)*VoidFraction - STAGES(i).Al) = STAGES(i).OutletV .F * STAGES(i).vV;1873 STAGES(i).uV * ((ColumnArea)*VoidFraction - STAGES(i).Al) = STAGES(i).OutletVapour.F * STAGES(i).vV; 1874 1874 1875 1875 "Liquid holdup" … … 1901 1901 1902 1902 "The initial temperature of the STAGES" 1903 STAGES(i).OutletL .T = INITIALIZATION.TopStageTemperature+(INITIALIZATION.BottomStageTemperature-INITIALIZATION.TopStageTemperature)*((i-1)/(NumberOfStages-1));1903 STAGES(i).OutletLiquid.T = INITIALIZATION.TopStageTemperature+(INITIALIZATION.BottomStageTemperature-INITIALIZATION.TopStageTemperature)*((i-1)/(NumberOfStages-1)); 1904 1904 1905 1905 "The Liquid Holdup of the STAGES" … … 1913 1913 1914 1914 "The initial composition of the TRAYS" 1915 STAGES(j).OutletL .z(i) = INITIALIZATION.TopStageComposition(i)/sum(INITIALIZATION.TopStageComposition) +(INITIALIZATION.BottomStageComposition(i)/sum(INITIALIZATION.BottomStageComposition)-INITIALIZATION.TopStageComposition(i)/sum(INITIALIZATION.TopStageComposition) )*((j-1)/(NumberOfStages-1));1915 STAGES(j).OutletLiquid.z(i) = INITIALIZATION.TopStageComposition(i)/sum(INITIALIZATION.TopStageComposition) +(INITIALIZATION.BottomStageComposition(i)/sum(INITIALIZATION.BottomStageComposition)-INITIALIZATION.TopStageComposition(i)/sum(INITIALIZATION.TopStageComposition) )*((j-1)/(NumberOfStages-1)); 1916 1916 1917 1917 end … … 1933 1933 == Specify == 1934 1934 * the feed stream of each tray (Inlet); 1935 * the InletL stream of the top tray;1936 * the InletV stream of the bottom tray;1935 * the InletLiquid stream of the top tray; 1936 * the InletVapour stream of the bottom tray; 1937 1937 * the total pressure drop (dP) of the section. 1938 1938 1939 1939 == Initial Conditions == 1940 * the stages temperature (OutletL .T);1940 * the stages temperature (OutletLiquid.T); 1941 1941 * the stages liquid holdup; 1942 * (NoComps - 1) OutletL (OR OutletV) compositions for each tray.1942 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each tray. 1943 1943 "; 1944 1944 … … 1956 1956 CONNECTIONS 1957 1957 1958 LiquidConnector to STAGES(1).InletL ;1959 VapourConnector to STAGES(NumberOfStages).InletV ;1958 LiquidConnector to STAGES(1).InletLiquid; 1959 VapourConnector to STAGES(NumberOfStages).InletVapour; 1960 1960 1961 1961 EQUATIONS … … 1975 1975 VapourConnector.h = VapourInlet.h; 1976 1976 1977 LiquidOutlet.F= STAGES(NumberOfStages).OutletL .F;1978 LiquidOutlet.T = STAGES(NumberOfStages).OutletL .T;1979 LiquidOutlet.P = STAGES(NumberOfStages).OutletL .P;1980 LiquidOutlet.z = STAGES(NumberOfStages).OutletL .z;1981 1982 VapourOutlet.F= STAGES(1).OutletV .F;1983 VapourOutlet.T = STAGES(1).OutletV .T;1984 VapourOutlet.P = STAGES(1).OutletV .P;1985 VapourOutlet.z = STAGES(1).OutletV .z;1977 LiquidOutlet.F= STAGES(NumberOfStages).OutletLiquid.F; 1978 LiquidOutlet.T = STAGES(NumberOfStages).OutletLiquid.T; 1979 LiquidOutlet.P = STAGES(NumberOfStages).OutletLiquid.P; 1980 LiquidOutlet.z = STAGES(NumberOfStages).OutletLiquid.z; 1981 1982 VapourOutlet.F= STAGES(1).OutletVapour.F; 1983 VapourOutlet.T = STAGES(1).OutletVapour.T; 1984 VapourOutlet.P = STAGES(1).OutletVapour.P; 1985 VapourOutlet.z = STAGES(1).OutletVapour.z; 1986 1986 1987 1987 end … … 1998 1998 * the total pressure drop (dP) of the packing; 1999 1999 * the heat supllied in reboiler and condenser; 2000 * the condenser vapor outlet flow (OutletV .F);2001 * the reboiler liquid outlet flow (OutletL .F);2000 * the condenser vapor outlet flow (OutletVapour.F); 2001 * the reboiler liquid outlet flow (OutletLiquid.F); 2002 2002 * both splitter outlet flows OR one of the splitter outlet flows and the splitter frac. 2003 2003 2004 2004 == Initial Conditions == 2005 * the stages temperature (OutletL .T);2005 * the stages temperature (OutletLiquid.T); 2006 2006 * the stages initial molar holdup; 2007 * (NoComps - 1) OutletL (OR OutletV) compositions for each stage;2008 2009 * the condenser temperature (OutletL .T);2007 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions for each stage; 2008 2009 * the condenser temperature (OutletLiquid.T); 2010 2010 * the condenser liquid level (Level); 2011 * (NoComps - 1) OutletL (OR OutletV) compositions;2012 2013 * the reboiler temperature (OutletL .T);2011 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions; 2012 2013 * the reboiler temperature (OutletLiquid.T); 2014 2014 * the reboiler liquid level (Level); 2015 * (NoComps - 1) OutletL (OR OutletV) compositions.2015 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 2016 2016 "; 2017 2017 … … 2051 2051 2052 2052 #vapor 2053 REBOILER.OutletV to STAGES(NumberOfStages).InletV;2054 STAGES(1).OutletV to CONDENSER.InletV;2053 REBOILER.OutletVapour to STAGES(NumberOfStages).InletVapour; 2054 STAGES(1).OutletVapour to CONDENSER.InletVapour; 2055 2055 2056 2056 #liquid 2057 CONDENSER.OutletL to SPLITTER.Inlet;2057 CONDENSER.OutletLiquid to SPLITTER.Inlet; 2058 2058 SPLITTER.Outlet2 to PUMP.Inlet; 2059 PUMP.Outlet to STAGES(1).InletL ;2060 STAGES(NumberOfStages).OutletL to REBOILER.InletL;2059 PUMP.Outlet to STAGES(1).InletLiquid; 2060 STAGES(NumberOfStages).OutletLiquid to REBOILER.InletLiquid; 2061 2061 2062 2062 #Connectors … … 2064 2064 ConnectorHeatCondenser to CONDENSER.InletQ; 2065 2065 2066 CONDENSER.OutletV to ConnectorCondenserVout;2066 CONDENSER.OutletVapour to ConnectorCondenserVout; 2067 2067 SPLITTER.Outlet1 to ConnectorSplitterOut; 2068 REBOILER.OutletL to ConnectorReboilerLout;2068 REBOILER.OutletLiquid to ConnectorReboilerLout; 2069 2069 2070 2070 EQUATIONS … … 2092 2092 switch VapourFlow 2093 2093 case "on": 2094 STAGES(NumberOfStages).InletV .F*STAGES(NumberOfStages).vV = sqrt((REBOILER.OutletV.P - STAGES(NumberOfStages).OutletV.P)/2094 STAGES(NumberOfStages).InletVapour.F*STAGES(NumberOfStages).vV = sqrt((REBOILER.OutletVapour.P - STAGES(NumberOfStages).OutletVapour.P)/ 2095 2095 (STAGES(NumberOfStages).rhoV*ResistanceCoeff*20))*(ColumnArea*VoidFraction - STAGES(NumberOfStages).Al); 2096 when STAGES(NumberOfStages).InletV .F < 1e-6 * 'kmol/h' switchto "off";2096 when STAGES(NumberOfStages).InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 2097 2097 2098 2098 case "off": 2099 STAGES(NumberOfStages).InletV .F = 0 * 'mol/s';2100 when REBOILER.OutletV .P > STAGES(NumberOfStages).OutletV.P + 1e-1 * 'atm' switchto "on";2101 end 2102 2103 end 2104 2099 STAGES(NumberOfStages).InletVapour.F = 0 * 'mol/s'; 2100 when REBOILER.OutletVapour.P > STAGES(NumberOfStages).OutletVapour.P + 1e-1 * 'atm' switchto "on"; 2101 end 2102 2103 end 2104 -
branches/gui/eml/stage_separators/condenser.mso
r721 r735 32 32 == Specify == 33 33 * the inlet stream; 34 * the outlet flows: OutletV .F and OutletL.F;34 * the outlet flows: OutletVapour.F and OutletLiquid.F; 35 35 * the heat supply. 36 36 37 37 == Initial Conditions == 38 * the condenser temperature (OutletL .T);38 * the condenser temperature (OutletLiquid.T); 39 39 * the condenser liquid level (Level); 40 * (NoComps - 1) OutletL (OR OutletV) compositions.40 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 41 41 "; 42 42 … … 53 53 54 54 VARIABLES 55 in InletV as stream (Brief="Vapour inlet stream", PosX=0.15, PosY=0, Symbol="_{inV}");56 out OutletL as liquid_stream (Brief="Liquid outlet stream", PosX=0.4513, PosY=1, Symbol="_{outL}");57 out OutletV as vapour_stream (Brief="Vapour outlet stream", PosX=0.4723, PosY=0, Symbol="_{outV}");55 in InletVapour as stream (Brief="Vapour inlet stream", PosX=0.15, PosY=0, Symbol="_{inV}"); 56 out OutletLiquid as liquid_stream (Brief="Liquid outlet stream", PosX=0.4513, PosY=1, Symbol="_{outL}"); 57 out OutletVapour as vapour_stream (Brief="Vapour outlet stream", PosX=0.4723, PosY=0, Symbol="_{outV}"); 58 58 in InletQ as power (Brief="Cold supplied", PosX=1, PosY=0, Symbol="_{in}"); 59 59 … … 69 69 70 70 Level = Initial_Level; 71 OutletL .T = Initial_Temperature;72 OutletL .z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition);71 OutletLiquid.T = Initial_Temperature; 72 OutletLiquid.z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition); 73 73 74 74 EQUATIONS 75 75 "Component Molar Balance" 76 diff(M) = InletV .F*InletV.z - OutletL.F*OutletL.z- OutletV.F*OutletV.z;76 diff(M) = InletVapour.F*InletVapour.z - OutletLiquid.F*OutletLiquid.z- OutletVapour.F*OutletVapour.z; 77 77 78 78 "Energy Balance" 79 diff(E) = InletV .F*InletV.h - OutletL.F*OutletL.h- OutletV.F*OutletV.h + InletQ;79 diff(E) = InletVapour.F*InletVapour.h - OutletLiquid.F*OutletLiquid.h- OutletVapour.F*OutletVapour.h + InletQ; 80 80 81 81 "Molar Holdup" 82 M = ML*OutletL .z + MV*OutletV.z;82 M = ML*OutletLiquid.z + MV*OutletVapour.z; 83 83 84 84 "Energy Holdup" 85 E = ML*OutletL .h + MV*OutletV.h - OutletV.P*V;85 E = ML*OutletLiquid.h + MV*OutletVapour.h - OutletVapour.P*V; 86 86 87 87 "Mol fraction normalisation" 88 sum(OutletL .z)=1.0;89 sum(OutletL .z)=sum(OutletV.z);88 sum(OutletLiquid.z)=1.0; 89 sum(OutletLiquid.z)=sum(OutletVapour.z); 90 90 91 91 "Liquid Volume" 92 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);92 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 93 93 94 94 "Vapour Volume" 95 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);95 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 96 96 97 97 "Chemical Equilibrium" 98 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z =99 PP.VapourFugacityCoefficient(OutletV .T, OutletV.P, OutletV.z)*OutletV.z;98 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = 99 PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, OutletVapour.z)*OutletVapour.z; 100 100 101 101 "Thermal Equilibrium" 102 OutletL .T = OutletV.T;102 OutletLiquid.T = OutletVapour.T; 103 103 104 104 "Mechanical Equilibrium" 105 OutletV .P = OutletL.P;105 OutletVapour.P = OutletLiquid.P; 106 106 107 107 "Geometry Constraint" … … 138 138 139 139 VARIABLES 140 in InletV as stream (Brief="Vapour inlet stream", PosX=0.3431, PosY=0, Symbol="_{inV}");141 out OutletL as liquid_stream (Brief="Liquid outlet stream", PosX=0.34375, PosY=1, Symbol="_{outL}");140 in InletVapour as stream (Brief="Vapour inlet stream", PosX=0.3431, PosY=0, Symbol="_{inV}"); 141 out OutletLiquid as liquid_stream (Brief="Liquid outlet stream", PosX=0.34375, PosY=1, Symbol="_{outL}"); 142 142 in InletQ as power (Brief="Cold supplied", PosX=1, PosY=0.5974, Symbol="_{in}"); 143 143 DP as press_delta (Brief="Pressure Drop in the condenser",Default=0); … … 146 146 147 147 "Molar Balance" 148 InletV .F = OutletL.F;149 InletV .z = OutletL.z;148 InletVapour.F = OutletLiquid.F; 149 InletVapour.z = OutletLiquid.z; 150 150 151 151 "Energy Balance" 152 InletV .F*InletV.h = OutletL.F*OutletL.h + InletQ;152 InletVapour.F*InletVapour.h = OutletLiquid.F*OutletLiquid.h + InletQ; 153 153 154 154 "Pressure" 155 DP = InletV .P - OutletL.P;155 DP = InletVapour.P - OutletLiquid.P; 156 156 157 157 end … … 174 174 * the reaction related variables; 175 175 * the inlet stream; 176 * the outlet flows: OutletV .F and OutletL.F;176 * the outlet flows: OutletVapour.F and OutletLiquid.F; 177 177 * the heat supply. 178 178 179 179 == Initial Conditions == 180 * the condenser temperature (OutletL .T);180 * the condenser temperature (OutletLiquid.T); 181 181 * the condenser liquid level (Level); 182 * (NoComps - 1) OutletL (OR OutletV) compositions.182 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 183 183 "; 184 184 … … 198 198 VARIABLES 199 199 200 in InletV as stream (Brief="Vapour inlet stream", PosX=0.1164, PosY=0, Symbol="_{inV}");201 out OutletL as liquid_stream (Brief="Liquid outlet stream", PosX=0.4513, PosY=1, Symbol="_{outL}");202 out OutletV as vapour_stream (Brief="Vapour outlet stream", PosX=0.4723, PosY=0, Symbol="_{outV}");200 in InletVapour as stream (Brief="Vapour inlet stream", PosX=0.1164, PosY=0, Symbol="_{inV}"); 201 out OutletLiquid as liquid_stream (Brief="Liquid outlet stream", PosX=0.4513, PosY=1, Symbol="_{outL}"); 202 out OutletVapour as vapour_stream (Brief="Vapour outlet stream", PosX=0.4723, PosY=0, Symbol="_{outV}"); 203 203 InletQ as power (Brief="Cold supplied", PosX=1, PosY=0.6311, Symbol="_{in}"); 204 204 … … 217 217 218 218 Level = Initial_Level; 219 OutletL .T = Initial_Temperature;220 OutletL .z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition);219 OutletLiquid.T = Initial_Temperature; 220 OutletLiquid.z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition); 221 221 222 222 EQUATIONS 223 223 "Molar Concentration" 224 OutletL .z = vL * C;224 OutletLiquid.z = vL * C; 225 225 226 226 "Reaction" 227 r3 = exp(-7150*'K'/OutletL .T)*(4.85e4*C(1)*C(2) - 1.23e4*C(3)*C(4)) * 'l/mol/s';227 r3 = exp(-7150*'K'/OutletLiquid.T)*(4.85e4*C(1)*C(2) - 1.23e4*C(3)*C(4)) * 'l/mol/s'; 228 228 229 229 "Component Molar Balance" 230 diff(M) = InletV .F*InletV.z - OutletL.F*OutletL.z - OutletV.F*OutletV.z + stoic*r3*ML*vL;230 diff(M) = InletVapour.F*InletVapour.z - OutletLiquid.F*OutletLiquid.z - OutletVapour.F*OutletVapour.z + stoic*r3*ML*vL; 231 231 232 232 "Energy Balance" 233 diff(E) = InletV .F*InletV.h - OutletL.F*OutletL.h- OutletV.F*OutletV.h + InletQ + Hr * r3 * ML*vL;233 diff(E) = InletVapour.F*InletVapour.h - OutletLiquid.F*OutletLiquid.h- OutletVapour.F*OutletVapour.h + InletQ + Hr * r3 * ML*vL; 234 234 235 235 "Molar Holdup" 236 M = ML*OutletL .z + MV*OutletV.z;236 M = ML*OutletLiquid.z + MV*OutletVapour.z; 237 237 238 238 "Energy Holdup" 239 E = ML*OutletL .h + MV*OutletV.h - OutletV.P*V;239 E = ML*OutletLiquid.h + MV*OutletVapour.h - OutletVapour.P*V; 240 240 241 241 "Mol fraction normalisation" 242 sum(OutletL .z)=1.0;242 sum(OutletLiquid.z)=1.0; 243 243 244 244 "Liquid Volume" 245 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);245 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 246 246 247 247 "Vapour Volume" 248 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);248 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 249 249 250 250 "Thermal Equilibrium" 251 OutletL .T = OutletV.T;251 OutletLiquid.T = OutletVapour.T; 252 252 253 253 "Mechanical Equilibrium" 254 OutletV .P = OutletL.P;254 OutletVapour.P = OutletLiquid.P; 255 255 256 256 "Geometry Constraint" … … 263 263 264 264 "Chemical Equilibrium" 265 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z =266 PP.VapourFugacityCoefficient(OutletV .T, OutletV.P, OutletV.z)*OutletV.z;267 268 sum(OutletL .z)=sum(OutletV.z);265 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = 266 PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, OutletVapour.z)*OutletVapour.z; 267 268 sum(OutletLiquid.z)=sum(OutletVapour.z); 269 269 270 270 end -
branches/gui/eml/stage_separators/reboiler.mso
r721 r735 36 36 * the inlet stream; 37 37 * the liquid inlet stream; 38 * the outlet flows: OutletV .F and OutletL.F;38 * the outlet flows: OutletVapour.F and OutletLiquid.F; 39 39 * the heat supply. 40 40 41 41 == Initial Conditions == 42 42 43 * the reboiler temperature (OutletL .T);43 * the reboiler temperature (OutletLiquid.T); 44 44 * the reboiler liquid level (Level); 45 * (NoComps - 1) OutletL (OR OutletV) compositions.45 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 46 46 "; 47 47 … … 58 58 VARIABLES 59 59 60 in InletL as stream (Brief="Liquid inlet stream", PosX=0.15, PosY=1, Symbol="_{inL}");61 out OutletL as liquid_stream (Brief="Liquid outlet stream", PosX=0.40, PosY=1, Symbol="_{outL}");62 out OutletV as vapour_stream (Brief="Vapour outlet stream", PosX=0.40, PosY=0, Symbol="_{outV}");60 in InletLiquid as stream (Brief="Liquid inlet stream", PosX=0.15, PosY=1, Symbol="_{inL}"); 61 out OutletLiquid as liquid_stream (Brief="Liquid outlet stream", PosX=0.40, PosY=1, Symbol="_{outL}"); 62 out OutletVapour as vapour_stream (Brief="Vapour outlet stream", PosX=0.40, PosY=0, Symbol="_{outV}"); 63 63 in InletQ as power (Brief="Heat supplied", PosX=1, PosY=0, Symbol="_{in}"); 64 64 … … 75 75 76 76 Level = Initial_Level; 77 OutletL .T = Initial_Temperature;78 OutletL .z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition);77 OutletLiquid.T = Initial_Temperature; 78 OutletLiquid.z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition); 79 79 80 80 EQUATIONS 81 81 "Component Molar Balance" 82 diff(M)= InletL .F*InletL.z - OutletL.F*OutletL.z - OutletV.F*OutletV.z;82 diff(M)= InletLiquid.F*InletLiquid.z - OutletLiquid.F*OutletLiquid.z - OutletVapour.F*OutletVapour.z; 83 83 84 84 "Energy Balance" 85 diff(E) = InletL .F*InletL.h - OutletL.F*OutletL.h - OutletV.F*OutletV.h + InletQ;85 diff(E) = InletLiquid.F*InletLiquid.h - OutletLiquid.F*OutletLiquid.h - OutletVapour.F*OutletVapour.h + InletQ; 86 86 87 87 "Molar Holdup" 88 M = ML*OutletL .z + MV*OutletV.z;88 M = ML*OutletLiquid.z + MV*OutletVapour.z; 89 89 90 90 "Energy Holdup" 91 E = ML*OutletL .h + MV*OutletV.h - OutletL.P*V;91 E = ML*OutletLiquid.h + MV*OutletVapour.h - OutletLiquid.P*V; 92 92 93 93 "Mol fraction normalisation" 94 sum(OutletL .z)=1.0;95 sum(OutletL .z)=sum(OutletV.z);94 sum(OutletLiquid.z)=1.0; 95 sum(OutletLiquid.z)=sum(OutletVapour.z); 96 96 97 97 "Vapour Density" 98 rhoV = PP.VapourDensity(OutletV .T, OutletV.P, OutletV.z);98 rhoV = PP.VapourDensity(OutletVapour.T, OutletVapour.P, OutletVapour.z); 99 99 100 100 "Liquid Volume" 101 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);101 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 102 102 103 103 "Vapour Volume" 104 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);104 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 105 105 106 106 "Chemical Equilibrium" 107 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z = PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, OutletV.z)*OutletV.z;107 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, OutletVapour.z)*OutletVapour.z; 108 108 109 109 "Mechanical Equilibrium" 110 OutletL .P = OutletV.P;110 OutletLiquid.P = OutletVapour.P; 111 111 112 112 "Thermal Equilibrium" 113 OutletL .T = OutletV.T;113 OutletLiquid.T = OutletVapour.T; 114 114 115 115 "Geometry Constraint" … … 136 136 137 137 == Specify == 138 * the InletL stream;139 * the heat supply OR the outlet temperature (OutletV .T);138 * the InletLiquid stream; 139 * the heat supply OR the outlet temperature (OutletVapour.T); 140 140 "; 141 141 … … 146 146 147 147 VARIABLES 148 in InletL as stream (Brief="Liquid inlet stream", PosX=0.3345, PosY=1, Symbol="_{inL}");149 out OutletV as vapour_stream (Brief="Vapour outlet stream", PosX=0.3369, PosY=0, Symbol="_{outV}");148 in InletLiquid as stream (Brief="Liquid inlet stream", PosX=0.3345, PosY=1, Symbol="_{inL}"); 149 out OutletVapour as vapour_stream (Brief="Vapour outlet stream", PosX=0.3369, PosY=0, Symbol="_{outV}"); 150 150 in InletQ as power (Brief="Heat supplied", PosX=1, PosY=0.6111, Symbol="_{in}"); 151 151 vV as volume_mol (Brief="Vapour Molar volume"); … … 155 155 156 156 "Molar Balance" 157 InletL .F = OutletV.F;158 InletL .z = OutletV.z;157 InletLiquid.F = OutletVapour.F; 158 InletLiquid.z = OutletVapour.z; 159 159 160 160 "Vapour Volume" 161 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);161 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 162 162 163 163 "Vapour Density" 164 rhoV = PP.VapourDensity(OutletV .T, OutletV.P, OutletV.z);164 rhoV = PP.VapourDensity(OutletVapour.T, OutletVapour.P, OutletVapour.z); 165 165 166 166 "Energy Balance" 167 InletL .F*InletL.h + InletQ = OutletV.F*OutletV.h;167 InletLiquid.F*InletLiquid.h + InletQ = OutletVapour.F*OutletVapour.h; 168 168 169 169 "Pressure" 170 DP = InletL .P - OutletV.P;170 DP = InletLiquid.P - OutletVapour.P; 171 171 172 172 end … … 195 195 196 196 VARIABLES 197 in InletL as stream(Brief="Liquid inlet stream", PosX=0.3345, PosY=1, Symbol="_{inL}");198 out OutletV as vapour_stream(Brief="Vapour outlet stream", PosX=0.3369, PosY=0, Symbol="_{outV}");197 in InletLiquid as stream(Brief="Liquid inlet stream", PosX=0.3345, PosY=1, Symbol="_{inL}"); 198 out OutletVapour as vapour_stream(Brief="Vapour outlet stream", PosX=0.3369, PosY=0, Symbol="_{outV}"); 199 199 in InletQ as power (Brief="Heat supplied", PosX=1, PosY=0.6111, Symbol="_{in}"); 200 200 201 201 EQUATIONS 202 202 "Molar Balance" 203 InletL .F = OutletV.F;204 InletL .z = OutletV.z;203 InletLiquid.F = OutletVapour.F; 204 InletLiquid.z = OutletVapour.z; 205 205 206 206 "Energy Balance" 207 InletL .F*InletL.h + InletQ = OutletV.F*OutletV.h;207 InletLiquid.F*InletLiquid.h + InletQ = OutletVapour.F*OutletVapour.h; 208 208 209 209 "Pressure" 210 DP = InletL .P - OutletV.P;210 DP = InletLiquid.P - OutletVapour.P; 211 211 212 212 "Fake Vapourisation Fraction" 213 OutletV .v = 1.0;213 OutletVapour.v = 1.0; 214 214 215 215 "Fake output temperature" 216 OutletV .T = 300*'K';216 OutletVapour.T = 300*'K'; 217 217 218 218 "Pressure Drop through the reboiler" 219 OutletV .F = k*InletQ;219 OutletVapour.F = k*InletQ; 220 220 end 221 221 … … 239 239 * the inlet stream; 240 240 * the liquid inlet stream; 241 * the outlet flows: OutletV .F and OutletL.F;241 * the outlet flows: OutletVapour.F and OutletLiquid.F; 242 242 * the heat supply. 243 243 244 244 == Initial Conditions == 245 * the reboiler temperature (OutletL .T);245 * the reboiler temperature (OutletLiquid.T); 246 246 * the reboiler liquid level (Level); 247 * (NoComps - 1) OutletL (OR OutletV) compositions.247 * (NoComps - 1) OutletLiquid (OR OutletVapour) compositions. 248 248 "; 249 249 … … 262 262 263 263 VARIABLES 264 in InletL as stream (Brief="Liquid inlet stream", PosX=0, PosY=0.5254, Symbol="_{inL}");265 out OutletL as liquid_stream (Brief="Liquid outlet stream", PosX=0.2413, PosY=1, Symbol="_{outL}");266 out OutletV as vapour_stream (Brief="Vapour outlet stream", PosX=0.5079, PosY=0, Symbol="_{outV}");264 in InletLiquid as stream (Brief="Liquid inlet stream", PosX=0, PosY=0.5254, Symbol="_{inL}"); 265 out OutletLiquid as liquid_stream (Brief="Liquid outlet stream", PosX=0.2413, PosY=1, Symbol="_{outL}"); 266 out OutletVapour as vapour_stream (Brief="Vapour outlet stream", PosX=0.5079, PosY=0, Symbol="_{outV}"); 267 267 InletQ as power (Brief="Heat supplied", PosX=1, PosY=0.6123, Symbol="_{in}"); 268 268 … … 282 282 283 283 Level = Initial_Level; 284 OutletL .T = Initial_Temperature;285 OutletL .z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition);284 OutletLiquid.T = Initial_Temperature; 285 OutletLiquid.z(1:NComp-1) = Initial_Composition(1:NComp-1)/sum(Initial_Composition); 286 286 287 287 EQUATIONS 288 288 "Molar Concentration" 289 OutletL .z = vL * C;289 OutletLiquid.z = vL * C; 290 290 291 291 "Reaction" 292 r3 = exp(-7150*'K'/OutletL .T)*(4.85e4*C(1)*C(2) - 1.23e4*C(3)*C(4)) * 'l/mol/s';292 r3 = exp(-7150*'K'/OutletLiquid.T)*(4.85e4*C(1)*C(2) - 1.23e4*C(3)*C(4)) * 'l/mol/s'; 293 293 294 294 "Component Molar Balance" 295 diff(M)= InletL .F*InletL.z- OutletL.F*OutletL.z - OutletV.F*OutletV.z + stoic*r3*ML*vL;295 diff(M)= InletLiquid.F*InletLiquid.z- OutletLiquid.F*OutletLiquid.z - OutletVapour.F*OutletVapour.z + stoic*r3*ML*vL; 296 296 297 297 "Energy Balance" 298 diff(E) = InletL .F*InletL.h- OutletL.F*OutletL.h - OutletV.F*OutletV.h + InletQ + Hr * r3 * vL*ML;298 diff(E) = InletLiquid.F*InletLiquid.h- OutletLiquid.F*OutletLiquid.h - OutletVapour.F*OutletVapour.h + InletQ + Hr * r3 * vL*ML; 299 299 300 300 "Molar Holdup" 301 M = ML*OutletL .z + MV*OutletV.z;301 M = ML*OutletLiquid.z + MV*OutletVapour.z; 302 302 303 303 "Energy Holdup" 304 E = ML*OutletL .h + MV*OutletV.h - OutletL.P*V;304 E = ML*OutletLiquid.h + MV*OutletVapour.h - OutletLiquid.P*V; 305 305 306 306 "Mol fraction normalisation" 307 sum(OutletL .z)=1.0;307 sum(OutletLiquid.z)=1.0; 308 308 309 309 "Liquid Volume" 310 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);310 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 311 311 312 312 "Vapour Volume" 313 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);313 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 314 314 315 315 "Vapour Density" 316 rhoV = PP.VapourDensity(OutletV .T, OutletV.P, OutletV.z);316 rhoV = PP.VapourDensity(OutletVapour.T, OutletVapour.P, OutletVapour.z); 317 317 318 318 "Level of liquid phase" … … 322 322 323 323 "Mechanical Equilibrium" 324 OutletL .P = OutletV.P;324 OutletLiquid.P = OutletVapour.P; 325 325 326 326 "Thermal Equilibrium" 327 OutletL .T = OutletV.T;327 OutletLiquid.T = OutletVapour.T; 328 328 329 329 "Geometry Constraint" … … 331 331 332 332 "Chemical Equilibrium" 333 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z =334 PP.VapourFugacityCoefficient(OutletV .T, OutletV.P, OutletV.z)*OutletV.z;335 336 sum(OutletL .z)=sum(OutletV.z);333 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = 334 PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, OutletVapour.z)*OutletVapour.z; 335 336 sum(OutletLiquid.z)=sum(OutletVapour.z); 337 337 338 338 end -
branches/gui/eml/stage_separators/tray.mso
r709 r735 47 47 VapourSideStream as vapour_stream (Brief="vapour Sidestream", Hidden=true, Symbol="_{outV}"); 48 48 49 in InletL as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}");50 in InletV as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}");51 out OutletL as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}");52 out OutletV as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}");49 in InletLiquid as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}"); 50 in InletVapour as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}"); 51 out OutletLiquid as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}"); 52 out OutletVapour as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}"); 53 53 54 54 … … 65 65 EQUATIONS 66 66 "Component Molar Balance" 67 diff(M)=Inlet.F*Inlet.z + InletL .F*InletL.z + InletV.F*InletV.z- OutletL.F*OutletL.z - OutletV.F*OutletV.z-67 diff(M)=Inlet.F*Inlet.z + InletLiquid.F*InletLiquid.z + InletVapour.F*InletVapour.z- OutletLiquid.F*OutletLiquid.z - OutletVapour.F*OutletVapour.z- 68 68 LiquidSideStream.F*LiquidSideStream.z-VapourSideStream.F*VapourSideStream.z; 69 69 70 70 "Molar Holdup" 71 M = ML*OutletL .z + MV*OutletV.z;71 M = ML*OutletLiquid.z + MV*OutletVapour.z; 72 72 73 73 "Mol fraction normalisation" 74 sum(OutletL .z)= 1.0;75 sum(OutletL .z)= sum(OutletV.z);74 sum(OutletLiquid.z)= 1.0; 75 sum(OutletLiquid.z)= sum(OutletVapour.z); 76 76 77 77 "Liquid Volume" 78 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);78 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 79 79 80 80 "Vapour Volume" 81 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);81 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 82 82 83 83 "Chemical Equilibrium" 84 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z = PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, yideal)*yideal;84 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, yideal)*yideal; 85 85 86 86 "Thermal Equilibrium" 87 OutletV .T = OutletL.T;87 OutletVapour.T = OutletLiquid.T; 88 88 89 89 "Mechanical Equilibrium" 90 OutletV .P = OutletL.P;90 OutletVapour.P = OutletLiquid.P; 91 91 92 92 "Thermal Equilibrium Vapour Side Stream" 93 OutletV .T = VapourSideStream.T;93 OutletVapour.T = VapourSideStream.T; 94 94 95 95 "Thermal Equilibrium Liquid Side Stream" 96 OutletL .T = LiquidSideStream.T;96 OutletLiquid.T = LiquidSideStream.T; 97 97 98 98 "Mechanical Equilibrium Vapour Side Stream" 99 OutletV .P= VapourSideStream.P;99 OutletVapour.P= VapourSideStream.P; 100 100 101 101 "Mechanical Equilibrium Liquid Side Stream" 102 OutletL .P = LiquidSideStream.P;102 OutletLiquid.P = LiquidSideStream.P; 103 103 104 104 "Composition Liquid Side Stream" 105 OutletL .z= LiquidSideStream.z;105 OutletLiquid.z= LiquidSideStream.z; 106 106 107 107 "Composition Vapour Side Stream" 108 OutletV .z= VapourSideStream.z;108 OutletVapour.z= VapourSideStream.z; 109 109 110 110 end … … 120 120 * the Liquid inlet stream 121 121 * the Vapour inlet stream 122 * the Vapour outlet flow (OutletV .F)122 * the Vapour outlet flow (OutletVapour.F) 123 123 124 124 == Initial == 125 * the plate temperature (OutletL .T)126 * the liquid height (Level) OR the liquid flow OutletL .F127 * (NoComps - 1) OutletL compositions125 * the plate temperature (OutletLiquid.T) 126 * the liquid height (Level) OR the liquid flow OutletLiquid.F 127 * (NoComps - 1) OutletLiquid compositions 128 128 129 129 == Options == … … 149 149 150 150 "Liquid Density" 151 rhoL = PP.LiquidDensity(OutletL .T, OutletL.P, OutletL.z);151 rhoL = PP.LiquidDensity(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 152 152 153 153 "Vapour Density" 154 rhoV = PP.VapourDensity(InletV .T, InletV.P, InletV.z);154 rhoV = PP.VapourDensity(InletVapour.T, InletVapour.P, InletVapour.z); 155 155 156 156 end … … 176 176 * the Liquid inlet stream; 177 177 * the Vapour inlet stream; 178 * the Vapour outlet flow (OutletV .F);178 * the Vapour outlet flow (OutletVapour.F); 179 179 * the reaction related variables. 180 180 181 181 == Initial == 182 * the plate temperature (OutletL .T)183 * the liquid height (Level) OR the liquid flow OutletL .F184 * (NoComps - 1) OutletL compositions182 * the plate temperature (OutletLiquid.T) 183 * the liquid height (Level) OR the liquid flow OutletLiquid.F 184 * (NoComps - 1) OutletLiquid compositions 185 185 "; 186 186 … … 197 197 198 198 199 in InletL as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}");200 in InletV as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}");201 out OutletL as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}");202 out OutletV as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}");199 in InletLiquid as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}"); 200 in InletVapour as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}"); 201 out OutletLiquid as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}"); 202 out OutletVapour as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}"); 203 203 204 204 yideal(NComp) as fraction; … … 221 221 222 222 "Molar Concentration" 223 OutletL .z = vL * C;223 OutletLiquid.z = vL * C; 224 224 225 225 "Reaction" 226 r3 = exp(-7150*'K'/OutletL .T)*(4.85e4*C(1)*C(2) - 1.23e4*C(3)*C(4))*'l/mol/s';226 r3 = exp(-7150*'K'/OutletLiquid.T)*(4.85e4*C(1)*C(2) - 1.23e4*C(3)*C(4))*'l/mol/s'; 227 227 228 228 "Molar Holdup" 229 M = ML*OutletL .z + MV*OutletV.z;229 M = ML*OutletLiquid.z + MV*OutletVapour.z; 230 230 231 231 "Thermal Equilibrium Vapour Side Stream" 232 OutletV .T = VapourSideStream.T;232 OutletVapour.T = VapourSideStream.T; 233 233 234 234 "Thermal Equilibrium Liquid Side Stream" 235 OutletL .T = LiquidSideStream.T;235 OutletLiquid.T = LiquidSideStream.T; 236 236 237 237 "Mechanical Equilibrium Vapour Side Stream" 238 OutletV .P= VapourSideStream.P;238 OutletVapour.P= VapourSideStream.P; 239 239 240 240 "Mechanical Equilibrium Liquid Side Stream" 241 OutletL .P = LiquidSideStream.P;241 OutletLiquid.P = LiquidSideStream.P; 242 242 243 243 "Composition Liquid Side Stream" 244 OutletL .z= LiquidSideStream.z;244 OutletLiquid.z= LiquidSideStream.z; 245 245 246 246 "Composition Vapour Side Stream" 247 OutletV .z= VapourSideStream.z;247 OutletVapour.z= VapourSideStream.z; 248 248 249 249 "Mol fraction normalisation" 250 sum(OutletL .z)= 1.0;250 sum(OutletLiquid.z)= 1.0; 251 251 252 252 "Liquid Volume" 253 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);253 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 254 254 255 255 "Vapour Volume" 256 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);256 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 257 257 258 258 "Thermal Equilibrium" 259 OutletV .T = OutletL.T;259 OutletVapour.T = OutletLiquid.T; 260 260 261 261 "Mechanical Equilibrium" 262 OutletV .P = OutletL.P;262 OutletVapour.P = OutletLiquid.P; 263 263 264 264 Vol = ML*vL; 265 265 266 266 "Liquid Density" 267 rhoL = PP.LiquidDensity(OutletL .T, OutletL.P, OutletL.z);267 rhoL = PP.LiquidDensity(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 268 268 269 269 "Vapour Density" 270 rhoV = PP.VapourDensity(InletV .T, InletV.P, InletV.z);270 rhoV = PP.VapourDensity(InletVapour.T, InletVapour.P, InletVapour.z); 271 271 272 272 "Chemical Equilibrium" 273 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z = PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, yideal)*yideal;274 275 sum(OutletL .z)= sum(OutletV.z);273 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, yideal)*yideal; 274 275 sum(OutletLiquid.z)= sum(OutletVapour.z); 276 276 277 277 end … … 293 293 294 294 == Initial == 295 * the plate temperature (OutletL .T)295 * the plate temperature (OutletLiquid.T) 296 296 * the liquid molar holdup ML 297 * (NoComps - 1) OutletL compositions297 * (NoComps - 1) OutletLiquid compositions 298 298 "; 299 299 … … 313 313 314 314 Inlet as stream (Brief="Feed stream", PosX=0, PosY=0.4932, Symbol="_{in}"); 315 in InletL as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}");316 in InletV as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}");317 out OutletL as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}");318 out OutletV as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}");315 in InletLiquid as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}"); 316 in InletVapour as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}"); 317 out OutletLiquid as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}"); 318 out OutletVapour as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}"); 319 319 320 320 M(NComp) as mol (Brief="Molar Holdup in the tray", Default=0.01, Lower=0, Upper=100); … … 346 346 347 347 "Component Molar Balance" 348 diff(M)=Inlet.F*Inlet.z + InletL .F*InletL.z + InletV.F*InletV.z- OutletL.F*OutletL.z - OutletV.F*OutletV.z;348 diff(M)=Inlet.F*Inlet.z + InletLiquid.F*InletLiquid.z + InletVapour.F*InletVapour.z- OutletLiquid.F*OutletLiquid.z - OutletVapour.F*OutletVapour.z; 349 349 350 350 "Molar Holdup" 351 M = ML*OutletL .z + MV*OutletV.z;351 M = ML*OutletLiquid.z + MV*OutletVapour.z; 352 352 353 353 "Mol fraction normalisation" 354 sum(OutletL .z)= 1.0;354 sum(OutletLiquid.z)= 1.0; 355 355 356 356 "Liquid Volume" 357 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);357 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 358 358 359 359 "Vapour Volume" 360 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);360 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 361 361 362 362 "Chemical Equilibrium" 363 PP.LiquidFugacityCoefficient(OutletL .T, OutletL.P, OutletL.z)*OutletL.z = PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, OutletV.z)*OutletV.z;363 PP.LiquidFugacityCoefficient(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z)*OutletLiquid.z = PP.VapourFugacityCoefficient(OutletVapour.T, OutletVapour.P, OutletVapour.z)*OutletVapour.z; 364 364 365 365 "Thermal Equilibrium" 366 OutletV .T = OutletL.T;366 OutletVapour.T = OutletLiquid.T; 367 367 368 368 "Mechanical Equilibrium" 369 OutletL .P = OutletV.P;369 OutletLiquid.P = OutletVapour.P; 370 370 371 371 "Liquid Density" 372 rhoL = PP.LiquidDensity(OutletL .T, OutletL.P, OutletL.z);372 rhoL = PP.LiquidDensity(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 373 373 374 374 "Vapour Density" 375 rhoV = PP.VapourDensity(InletV .T, InletV.P, InletV.z);375 rhoV = PP.VapourDensity(InletVapour.T, InletVapour.P, InletVapour.z); 376 376 377 377 "Liquid viscosity" 378 miL = PP.LiquidViscosity(OutletL .T, OutletL.P, OutletL.z);378 miL = PP.LiquidViscosity(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 379 379 380 380 "Vapour viscosity" 381 miV = PP.VapourViscosity(InletV .T, InletV.P, InletV.z);381 miV = PP.VapourViscosity(InletVapour.T, InletVapour.P, InletVapour.z); 382 382 383 383 "Volume flow rate of liquid, m^3/m^2/s" 384 uL * Al = OutletL .F * vL;385 386 deltaP = InletV .P - OutletV.P;384 uL * Al = OutletLiquid.F * vL; 385 386 deltaP = InletVapour.P - OutletVapour.P; 387 387 388 388 end … … 458 458 in Inlet as stream (Brief="Feed stream", PosX=0, PosY=0.4932, Symbol="_{in}"); 459 459 in InletFV as stream (Brief="Feed stream", PosX=0, PosY=0.4932, Symbol="_{in}"); 460 in InletL as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}");461 in InletV as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}");462 out OutletL as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}");463 out OutletV as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}");460 in InletLiquid as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}"); 461 in InletVapour as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}"); 462 out OutletLiquid as liquid_stream (Brief="Outlet liquid stream", PosX=0.8277, PosY=1, Symbol="_{outL}"); 463 out OutletVapour as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}"); 464 464 465 465 M_liq(NComp) as mol (Brief="Liquid Molar Holdup in the tray"); … … 479 479 EQUATIONS 480 480 "Component Molar Balance" 481 diff(M_liq)=Inlet.F*Inlet.z + InletL .F*InletL.z482 - OutletL .F*OutletL.z + interf.NL;483 484 diff(M_vap)=InletFV.F*InletFV.z + InletV .F*InletV.z485 - OutletV .F*OutletV.z - interf.NV;481 diff(M_liq)=Inlet.F*Inlet.z + InletLiquid.F*InletLiquid.z 482 - OutletLiquid.F*OutletLiquid.z + interf.NL; 483 484 diff(M_vap)=InletFV.F*InletFV.z + InletVapour.F*InletVapour.z 485 - OutletVapour.F*OutletVapour.z - interf.NV; 486 486 487 487 "Energy Balance" 488 diff(E_liq) = Inlet.F*Inlet.h + InletL .F*InletL.h489 - OutletL .F*OutletL.h + Q + interf.E_liq;490 491 diff(E_vap) = InletFV.F*InletFV.h + InletV .F*InletV.h492 - OutletV .F*OutletV.h - interf.E_vap;488 diff(E_liq) = Inlet.F*Inlet.h + InletLiquid.F*InletLiquid.h 489 - OutletLiquid.F*OutletLiquid.h + Q + interf.E_liq; 490 491 diff(E_vap) = InletFV.F*InletFV.h + InletVapour.F*InletVapour.h 492 - OutletVapour.F*OutletVapour.h - interf.E_vap; 493 493 494 494 "Molar Holdup" 495 M_liq = ML*OutletL .z;496 497 M_vap = MV*OutletV .z;495 M_liq = ML*OutletLiquid.z; 496 497 M_vap = MV*OutletVapour.z; 498 498 499 499 "Energy Holdup" 500 E_liq = ML*(OutletL .h - OutletL.P*vL);501 502 E_vap = MV*(OutletV .h - OutletV.P*vV);500 E_liq = ML*(OutletLiquid.h - OutletLiquid.P*vL); 501 502 E_vap = MV*(OutletVapour.h - OutletVapour.P*vV); 503 503 504 504 "Energy Rate through the interface" 505 interf.E_liq = interf.htL*interf.a*(interf.T-OutletL .T)+sum(interf.NL)*interf.hL;506 507 interf.E_vap = interf.htV*interf.a*(OutletV .T-interf.T)+sum(interf.NV)*interf.hV;505 interf.E_liq = interf.htL*interf.a*(interf.T-OutletLiquid.T)+sum(interf.NL)*interf.hL; 506 507 interf.E_vap = interf.htV*interf.a*(OutletVapour.T-interf.T)+sum(interf.NV)*interf.hV; 508 508 509 509 "Mass Conservation" … … 514 514 515 515 "Mol fraction normalisation" 516 sum(OutletL .z)= 1.0;517 sum(OutletL .z)= sum(OutletV.z);516 sum(OutletLiquid.z)= 1.0; 517 sum(OutletLiquid.z)= sum(OutletVapour.z); 518 518 sum(interf.x)=1.0; 519 519 sum(interf.x)=sum(interf.y); 520 520 521 521 "Liquid Volume" 522 vL = PP.LiquidVolume(OutletL .T, OutletL.P, OutletL.z);522 vL = PP.LiquidVolume(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 523 523 "Vapour Volume" 524 vV = PP.VapourVolume(OutletV .T, OutletV.P, OutletV.z);524 vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z); 525 525 526 526 "Chemical Equilibrium" … … 535 535 536 536 "Total Mass Transfer Rates" 537 interf.NL(1:NC1)=interf.a*sumt(interf.kL*(interf.x(1:NC1)-OutletL .z(1:NC1)))/vL+538 OutletL .z(1:NC1)*sum(interf.NL);537 interf.NL(1:NC1)=interf.a*sumt(interf.kL*(interf.x(1:NC1)-OutletLiquid.z(1:NC1)))/vL+ 538 OutletLiquid.z(1:NC1)*sum(interf.NL); 539 539 540 540 # interf.NL(1:NC1)=0.01*'kmol/s'; 541 541 542 interf.NV(1:NC1)=interf.a*sumt(interf.kV*(OutletV .z(1:NC1)-interf.y(1:NC1)))/vV+543 OutletV .z(1:NC1)*sum(interf.NV);542 interf.NV(1:NC1)=interf.a*sumt(interf.kV*(OutletVapour.z(1:NC1)-interf.y(1:NC1)))/vV+ 543 OutletVapour.z(1:NC1)*sum(interf.NV); 544 544 545 545 "Mechanical Equilibrium" 546 OutletV .P = OutletL.P;547 interf.P=OutletL .P;546 OutletVapour.P = OutletLiquid.P; 547 interf.P=OutletLiquid.P; 548 548 end 549 549 … … 558 558 * the Liquid inlet stream 559 559 * the Vapour inlet stream 560 * the Vapour outlet flow (OutletV .F)560 * the Vapour outlet flow (OutletVapour.F) 561 561 562 562 == Initial == 563 * the plate temperature of both phases (OutletL .T and OutletV.T)563 * the plate temperature of both phases (OutletLiquid.T and OutletVapour.T) 564 564 * the liquid height (Level) OR the liquid flow holdup (ML) 565 565 * the vapor holdup (MV) 566 * (NoComps - 1) OutletL compositions566 * (NoComps - 1) OutletLiquid compositions 567 567 "; 568 568 … … 584 584 EQUATIONS 585 585 "Liquid Density" 586 rhoL = PP.LiquidDensity(OutletL .T, OutletL.P, OutletL.z);586 rhoL = PP.LiquidDensity(OutletLiquid.T, OutletLiquid.P, OutletLiquid.z); 587 587 "Vapour Density" 588 rhoV = PP.VapourDensity(InletV .T, InletV.P, InletV.z);588 rhoV = PP.VapourDensity(InletVapour.T, InletVapour.P, InletVapour.z); 589 589 590 590 switch LiquidFlow 591 591 case "on": 592 592 "Francis Equation" 593 # OutletL .F*vL = 1.84*'m^0.5/s'*lw*((Level-(beta*hw))/(beta))^1.5;594 OutletL .F*vL = 1.84*'1/s'*lw*((Level-(beta*hw))/(beta))^2;593 # OutletLiquid.F*vL = 1.84*'m^0.5/s'*lw*((Level-(beta*hw))/(beta))^1.5; 594 OutletLiquid.F*vL = 1.84*'1/s'*lw*((Level-(beta*hw))/(beta))^2; 595 595 when Level < (beta * hw) switchto "off"; 596 596 597 597 case "off": 598 598 "Low level" 599 OutletL .F = 0 * 'mol/h';599 OutletLiquid.F = 0 * 'mol/h'; 600 600 when Level > (beta * hw) + 1e-6*'m' switchto "on"; 601 601 end … … 603 603 switch VapourFlow 604 604 case "on": 605 InletV .F*vV = sqrt((InletV.P - OutletV.P)/(rhoV*alfa))*Ah;606 when InletV .F < 1e-6 * 'kmol/h' switchto "off";605 InletVapour.F*vV = sqrt((InletVapour.P - OutletVapour.P)/(rhoV*alfa))*Ah; 606 when InletVapour.F < 1e-6 * 'kmol/h' switchto "off"; 607 607 608 608 case "off": 609 InletV .F = 0 * 'mol/s';610 when InletV .P > OutletV.P + Level*g*rhoL + 1e-1 * 'atm' switchto "on";609 InletVapour.F = 0 * 'mol/s'; 610 when InletVapour.P > OutletVapour.P + Level*g*rhoL + 1e-1 * 'atm' switchto "on"; 611 611 end 612 612 end -
branches/gui/sample/controllers/CSTR_noniso_pid.mso
r536 r735 18 18 * Author: Argimiro R. Secchi 19 19 * $Id$ 20 *-------------------------------------------------------------------- *#20 *--------------------------------------------------------------------# 21 21 22 22 using "controllers/PIDs"; -
branches/gui/sample/controllers/Sample_flash_pid.mso
r578 r735 22 22 * Author: Rafael de Pelegrini Soares 23 23 * $Id$ 24 *------------------------------------------------------------------ *#24 *------------------------------------------------------------------# 25 25 26 26 using "stage_separators/flash"; -
branches/gui/sample/controllers/sample_PIDIncr_MIMO.mso
r530 r735 24 24 * Author: Argimiro R. Secchi 25 25 * $Id: sample_PID_MIMO.mso 313 2007-07-14 16:45:55Z arge $ 26 *-------------------------------------------------------------------- *#26 *--------------------------------------------------------------------# 27 27 28 28 using "stage_separators/column"; … … 342 342 #Dynamic = false; 343 343 end 344 344 *# -
branches/gui/sample/controllers/sample_PID_MIMO.mso
r530 r735 24 24 * Author: Argimiro R. Secchi 25 25 * $Id: sample_PID_MIMO.mso 313 2007-07-14 16:45:55Z arge $ 26 *-------------------------------------------------------------------- *#26 *--------------------------------------------------------------------# 27 27 28 28 using "stage_separators/column"; -
branches/gui/sample/controllers/sample_tanks_pid.mso
r558 r735 20 20 * Author: Tiago Osório 21 21 * $Id$ 22 *----------------------------------------------------------------- *#22 *-----------------------------------------------------------------# 23 23 24 24 using "tanksmodel"; -
branches/gui/sample/processes/Sample_Process.mso
r602 r735 56 56 Product as sink; # Product 57 57 Heat_1 as energy_source; # Heat Supplied 58 Cold_2 as energy_source; # Cold Supplied58 #Cold_2 as energy_source; # Cold Supplied 59 59 SET 60 60 … … 120 120 Cooler.Outlet to Product.Inlet; 121 121 Heat_1.OutletQ to Heater.Heat; 122 Cold_2.OutletQ to Cooler.Heat;122 #Cold_2.OutletQ to Cooler.Heat; 123 123 124 124 INITIAL -
branches/gui/sample/stage_separators/Column_Distillation_Kettle_Diagram.pfd
r730 r735 33 33 <View> 34 34 <Zoom_Level>1</Zoom_Level> 35 <Show_Grid> 1</Show_Grid>36 <Snap_to_Grid> 1</Snap_to_Grid>37 <Width> 1250</Width>38 <Height> 545</Height>35 <Show_Grid>0</Show_Grid> 36 <Snap_to_Grid>0</Snap_to_Grid> 37 <Width>910</Width> 38 <Height>433</Height> 39 39 <X>0</X> 40 <Y>- 300</Y>40 <Y>-200</Y> 41 41 </View> 42 42 <View> 43 43 <Zoom_Level>1</Zoom_Level> 44 <Show_Grid> 1</Show_Grid>45 <Snap_to_Grid> 1</Snap_to_Grid>46 <Width> 1250</Width>44 <Show_Grid>0</Show_Grid> 45 <Snap_to_Grid>0</Snap_to_Grid> 46 <Width>910</Width> 47 47 <Height>0</Height> 48 48 <X>0</X> … … 1028 1028 <Block_Properties> 1029 1029 <Model_File_Path>stage_separators/tray</Model_File_Path> 1030 <Instance_Id>InletL </Instance_Id>1031 <Model_Name>InletL </Model_Name>1030 <Instance_Id>InletLiquid</Instance_Id> 1031 <Model_Name>InletLiquid</Model_Name> 1032 1032 <T_Connection>1</T_Connection> 1033 1033 <Base_Models> 1034 1034 <Block_Properties> 1035 1035 <Model_File_Path>streams</Model_File_Path> 1036 <Instance_Id>InletL </Instance_Id>1036 <Instance_Id>InletLiquid</Instance_Id> 1037 1037 <Model_Name>stream</Model_Name> 1038 1038 <T_Connection>1</T_Connection> 1039 <Parameters>1040 <Desc>NComp</Desc>1041 <Index>0</Index>1042 <Values>5</Values>1043 <Status>0</Status>1044 </Parameters>1045 <Variables>1046 <Desc>F</Desc>1047 <Index>0</Index>1048 <Values>85</Values>1049 <Status>0</Status>1050 <Unit>kmol/h</Unit>1051 </Variables>1052 <Variables>1053 <Desc>T</Desc>1054 <Index>0</Index>1055 <Values>252.568</Values>1056 <Status>0</Status>1057 <Unit>K</Unit>1058 </Variables>1059 <Variables>1060 <Desc>P</Desc>1061 <Index>0</Index>1062 <Values>1.31033</Values>1063 <Status>0</Status>1064 <Unit>atm</Unit>1065 </Variables>1066 <Variables>1067 <Desc>h</Desc>1068 <Index>0</Index>1069 <Values>-27189.5</Values>1070 <Status>0</Status>1071 <Unit>kJ/kmol</Unit>1072 </Variables>1073 <Variables>1074 <Desc>v</Desc>1075 <Index>0</Index>1076 <Values>0</Values>1077 <Status>0</Status>1078 </Variables>1079 <Variables>1080 <Desc>z</Desc>1081 <Index>0</Index>1082 <Values>0.21023</Values>1083 <Status>0</Status>1084 <Index>1</Index>1085 <Values>0.148899</Values>1086 <Status>0</Status>1087 <Index>2</Index>1088 <Values>0.304259</Values>1089 <Status>0</Status>1090 <Index>3</Index>1091 <Values>0.137701</Values>1092 <Status>0</Status>1093 <Index>4</Index>1094 <Values>0.198912</Values>1095 <Status>0</Status>1096 </Variables>1097 1039 </Block_Properties> 1098 1040 </Base_Models> … … 1102 1044 <Block_Properties> 1103 1045 <Model_File_Path>stage_separators/tray</Model_File_Path> 1104 <Instance_Id>InletV </Instance_Id>1105 <Model_Name>InletV </Model_Name>1046 <Instance_Id>InletVapour</Instance_Id> 1047 <Model_Name>InletVapour</Model_Name> 1106 1048 <T_Connection>1</T_Connection> 1107 1049 <Base_Models> 1108 1050 <Block_Properties> 1109 1051 <Model_File_Path>streams</Model_File_Path> 1110 <Instance_Id>InletV </Instance_Id>1052 <Instance_Id>InletVapour</Instance_Id> 1111 1053 <Model_Name>stream</Model_Name> 1112 1054 <T_Connection>1</T_Connection> 1113 <Parameters>1114 <Desc>NComp</Desc>1115 <Index>0</Index>1116 <Values>5</Values>1117 <Status>0</Status>1118 </Parameters>1119 <Variables>1120 <Desc>F</Desc>1121 <Index>0</Index>1122 <Values>120.775</Values>1123 <Status>0</Status>1124 <Unit>kmol/h</Unit>1125 </Variables>1126 <Variables>1127 <Desc>T</Desc>1128 <Index>0</Index>1129 <Values>273.984</Values>1130 <Status>0</Status>1131 <Unit>K</Unit>1132 </Variables>1133 <Variables>1134 <Desc>P</Desc>1135 <Index>0</Index>1136 <Values>1.18748</Values>1137 <Status>0</Status>1138 <Unit>atm</Unit>1139 </Variables>1140 <Variables>1141 <Desc>h</Desc>1142 <Index>0</Index>1143 <Values>-2283.02</Values>1144 <Status>0</Status>1145 <Unit>kJ/kmol</Unit>1146 </Variables>1147 <Variables>1148 <Desc>v</Desc>1149 <Index>0</Index>1150 <Values>1</Values>1151 <Status>0</Status>1152 </Variables>1153 <Variables>1154 <Desc>z</Desc>1155 <Index>0</Index>1156 <Values>0.269527</Values>1157 <Status>0</Status>1158 <Index>1</Index>1159 <Values>0.0586267</Values>1160 <Status>0</Status>1161 <Index>2</Index>1162 <Values>0.422844</Values>1163 <Status>0</Status>1164 <Index>3</Index>1165 <Values>0.0116986</Values>1166 <Status>0</Status>1167 <Index>4</Index>1168 <Values>0.237304</Values>1169 <Status>0</Status>1170 </Variables>1171 1055 </Block_Properties> 1172 1056 </Base_Models> … … 1176 1060 <Block_Properties> 1177 1061 <Model_File_Path>stage_separators/tray</Model_File_Path> 1178 <Instance_Id>OutletL </Instance_Id>1179 <Model_Name>OutletL </Model_Name>1062 <Instance_Id>OutletLiquid</Instance_Id> 1063 <Model_Name>OutletLiquid</Model_Name> 1180 1064 <T_Connection>2</T_Connection> 1181 1065 <Base_Models> 1182 1066 <Block_Properties> 1183 1067 <Model_File_Path>streams</Model_File_Path> 1184 <Instance_Id>OutletL </Instance_Id>1068 <Instance_Id>OutletLiquid</Instance_Id> 1185 1069 <Model_Name>liquid_stream</Model_Name> 1186 1070 <T_Connection>2</T_Connection> … … 1188 1072 <Block_Properties> 1189 1073 <Model_File_Path>streams</Model_File_Path> 1190 <Instance_Id>OutletL </Instance_Id>1074 <Instance_Id>OutletLiquid</Instance_Id> 1191 1075 <Model_Name>stream</Model_Name> 1192 1076 <T_Connection>2</T_Connection> 1193 <Parameters>1194 <Desc>NComp</Desc>1195 <Index>0</Index>1196 <Values>5</Values>1197 <Status>0</Status>1198 </Parameters>1199 <Variables>1200 <Desc>F</Desc>1201 <Index>0</Index>1202 <Values>80.46</Values>1203 <Status>0</Status>1204 <Unit>kmol/h</Unit>1205 </Variables>1206 <Variables>1207 <Desc>T</Desc>1208 <Index>0</Index>1209 <Values>264.135</Values>1210 <Status>0</Status>1211 <Unit>K</Unit>1212 </Variables>1213 <Variables>1214 <Desc>P</Desc>1215 <Index>0</Index>1216 <Values>1.15658</Values>1217 <Status>0</Status>1218 <Unit>atm</Unit>1219 </Variables>1220 <Variables>1221 <Desc>h</Desc>1222 <Index>0</Index>1223 <Values>-27342.8</Values>1224 <Status>0</Status>1225 <Unit>kJ/kmol</Unit>1226 </Variables>1227 <Variables>1228 <Desc>v</Desc>1229 <Index>0</Index>1230 <Values>0</Values>1231 <Status>0</Status>1232 </Variables>1233 <Variables>1234 <Desc>z</Desc>1235 <Index>0</Index>1236 <Values>0.243854</Values>1237 <Status>0</Status>1238 <Index>1</Index>1239 <Values>0.20081</Values>1240 <Status>0</Status>1241 <Index>2</Index>1242 <Values>0.147333</Values>1243 <Status>0</Status>1244 <Index>3</Index>1245 <Values>0.158733</Values>1246 <Status>0</Status>1247 <Index>4</Index>1248 <Values>0.249271</Values>1249 <Status>0</Status>1250 </Variables>1251 1077 </Block_Properties> 1252 1078 </Base_Models> … … 1264 1090 <Block_Properties> 1265 1091 <Model_File_Path>stage_separators/tray</Model_File_Path> 1266 <Instance_Id>OutletV </Instance_Id>1267 <Model_Name>OutletV </Model_Name>1092 <Instance_Id>OutletVapour</Instance_Id> 1093 <Model_Name>OutletVapour</Model_Name> 1268 1094 <T_Connection>2</T_Connection> 1269 1095 <Base_Models> 1270 1096 <Block_Properties> 1271 1097 <Model_File_Path>streams</Model_File_Path> 1272 <Instance_Id>OutletV </Instance_Id>1098 <Instance_Id>OutletVapour</Instance_Id> 1273 1099 <Model_Name>vapour_stream</Model_Name> 1274 1100 <T_Connection>2</T_Connection> … … 1276 1102 <Block_Properties> 1277 1103 <Model_File_Path>streams</Model_File_Path> 1278 <Instance_Id>OutletV </Instance_Id>1104 <Instance_Id>OutletVapour</Instance_Id> 1279 1105 <Model_Name>stream</Model_Name> 1280 1106 <T_Connection>2</T_Connection> 1281 <Parameters>1282 <Desc>NComp</Desc>1283 <Index>0</Index>1284 <Values>5</Values>1285 <Status>0</Status>1286 </Parameters>1287 <Variables>1288 <Desc>F</Desc>1289 <Index>0</Index>1290 <Values>125.308</Values>1291 <Status>0</Status>1292 <Unit>kmol/h</Unit>1293 </Variables>1294 <Variables>1295 <Desc>T</Desc>1296 <Index>0</Index>1297 <Values>264.135</Values>1298 <Status>0</Status>1299 <Unit>K</Unit>1300 </Variables>1301 <Variables>1302 <Desc>P</Desc>1303 <Index>0</Index>1304 <Values>1.15658</Values>1305 <Status>0</Status>1306 <Unit>atm</Unit>1307 </Variables>1308 <Variables>1309 <Desc>h</Desc>1310 <Index>0</Index>1311 <Values>-2909.61</Values>1312 <Status>0</Status>1313 <Unit>kJ/kmol</Unit>1314 </Variables>1315 <Variables>1316 <Desc>v</Desc>1317 <Index>0</Index>1318 <Values>1</Values>1319 <Status>0</Status>1320 </Variables>1321 <Variables>1322 <Desc>z</Desc>1323 <Index>0</Index>1324 <Values>0.243867</Values>1325 <Status>0</Status>1326 <Index>1</Index>1327 <Values>0.0295312</Values>1328 <Status>0</Status>1329 <Index>2</Index>1330 <Values>0.520294</Values>1331 <Status>0</Status>1332 <Index>3</Index>1333 <Values>0.00471166</Values>1334 <Status>0</Status>1335 <Index>4</Index>1336 <Values>0.201596</Values>1337 <Status>0</Status>1338 </Variables>1339 1107 </Block_Properties> 1340 1108 </Base_Models> … … 1364 1132 <Desc>M</Desc> 1365 1133 <Index>0</Index> 1366 <Values>0.0 515261</Values>1134 <Values>0.0419754</Values> 1367 1135 <Status>0</Status> 1368 1136 <Unit>kmol</Unit> 1369 1137 <Index>1</Index> 1370 <Values>0.0 415331</Values>1138 <Values>0.0602529</Values> 1371 1139 <Status>0</Status> 1372 1140 <Unit>kmol</Unit> 1373 1141 <Index>2</Index> 1374 <Values>0.03 30861</Values>1142 <Values>0.0303427</Values> 1375 1143 <Status>0</Status> 1376 1144 <Unit>kmol</Unit> 1377 1145 <Index>3</Index> 1378 <Values>0.0 327328</Values>1146 <Values>0.06153</Values> 1379 1147 <Status>0</Status> 1380 1148 <Unit>kmol</Unit> 1381 1149 <Index>4</Index> 1382 <Values>0.0 524207</Values>1150 <Values>0.0446531</Values> 1383 1151 <Status>0</Status> 1384 1152 <Unit>kmol</Unit> … … 1387 1155 <Desc>ML</Desc> 1388 1156 <Index>0</Index> 1389 <Values>0.2 06057</Values>1157 <Values>0.233498</Values> 1390 1158 <Status>0</Status> 1391 1159 <Unit>kmol</Unit> … … 1394 1162 <Desc>MV</Desc> 1395 1163 <Index>0</Index> 1396 <Values>0.0052 4156</Values>1164 <Values>0.00525656</Values> 1397 1165 <Status>0</Status> 1398 1166 <Unit>kmol</Unit> … … 1401 1169 <Desc>E</Desc> 1402 1170 <Index>0</Index> 1403 <Values>- 5662.7</Values>1171 <Values>-6574.12</Values> 1404 1172 <Status>0</Status> 1405 1173 <Unit>kJ</Unit> … … 1408 1176 <Desc>vL</Desc> 1409 1177 <Index>0</Index> 1410 <Values> 8.85341e-05</Values>1178 <Values>9.0528e-05</Values> 1411 1179 <Status>0</Status> 1412 1180 <Unit>m^3/mol</Unit> … … 1415 1183 <Desc>vV</Desc> 1416 1184 <Index>0</Index> 1417 <Values>0.01 81289</Values>1185 <Values>0.0175265</Values> 1418 1186 <Status>0</Status> 1419 1187 <Unit>m^3/mol</Unit> … … 1422 1190 <Desc>Level</Desc> 1423 1191 <Index>0</Index> 1424 <Values>0.0 498393</Values>1192 <Values>0.0577483</Values> 1425 1193 <Status>0</Status> 1426 1194 <Unit>m</Unit> … … 1429 1197 <Desc>yideal</Desc> 1430 1198 <Index>0</Index> 1431 <Values>0.2 43867</Values>1199 <Values>0.228692</Values> 1432 1200 <Status>0</Status> 1433 1201 <Index>1</Index> 1434 <Values>0.0 295312</Values>1202 <Values>0.0534942</Values> 1435 1203 <Status>0</Status> 1436 1204 <Index>2</Index> 1437 <Values>0.5 20294</Values>1205 <Values>0.510222</Values> 1438 1206 <Status>0</Status> 1439 1207 <Index>3</Index> 1440 <Values>0.0 0471166</Values>1208 <Values>0.0108869</Values> 1441 1209 <Status>0</Status> 1442 1210 <Index>4</Index> 1443 <Values>0. 201596</Values>1211 <Values>0.196705</Values> 1444 1212 <Status>0</Status> 1445 1213 </Variables> … … 1449 1217 <Desc>rhoL</Desc> 1450 1218 <Index>0</Index> 1451 <Values> 691.788</Values>1219 <Values>714.823</Values> 1452 1220 <Status>0</Status> 1453 1221 <Unit>kg/m^3</Unit> … … 1456 1224 <Desc>rhoV</Desc> 1457 1225 <Index>0</Index> 1458 <Values>2. 83495</Values>1226 <Values>2.90197</Values> 1459 1227 <Status>0</Status> 1460 1228 <Unit>kg/m^3</Unit> … … 1485 1253 <Block_Properties> 1486 1254 <Model_File_Path>stage_separators/tray</Model_File_Path> 1487 <Instance_Id>InletL </Instance_Id>1488 <Model_Name>InletL </Model_Name>1255 <Instance_Id>InletLiquid</Instance_Id> 1256 <Model_Name>InletLiquid</Model_Name> 1489 1257 <T_Connection>1</T_Connection> 1490 1258 <Base_Models> 1491 1259 <Block_Properties> 1492 1260 <Model_File_Path>streams</Model_File_Path> 1493 <Instance_Id>InletL </Instance_Id>1261 <Instance_Id>InletLiquid</Instance_Id> 1494 1262 <Model_Name>stream</Model_Name> 1495 1263 <T_Connection>1</T_Connection> 1496 <Parameters>1497 <Desc>NComp</Desc>1498 <Index>0</Index>1499 <Values>5</Values>1500 <Status>0</Status>1501 </Parameters>1502 <Variables>1503 <Desc>F</Desc>1504 <Index>0</Index>1505 <Values>80.46</Values>1506 <Status>0</Status>1507 <Unit>kmol/h</Unit>1508 </Variables>1509 <Variables>1510 <Desc>T</Desc>1511 <Index>0</Index>1512 <Values>264.135</Values>1513 <Status>0</Status>1514 <Unit>K</Unit>1515 </Variables>1516 <Variables>1517 <Desc>P</Desc>1518 <Index>0</Index>1519 <Values>1.15658</Values>1520 <Status>0</Status>1521 <Unit>atm</Unit>1522 </Variables>1523 <Variables>1524 <Desc>h</Desc>1525 <Index>0</Index>1526 <Values>-27342.8</Values>1527 <Status>0</Status>1528 <Unit>kJ/kmol</Unit>1529 </Variables>1530 <Variables>1531 <Desc>v</Desc>1532 <Index>0</Index>1533 <Values>0</Values>1534 <Status>0</Status>1535 </Variables>1536 <Variables>1537 <Desc>z</Desc>1538 <Index>0</Index>1539 <Values>0.243854</Values>1540 <Status>0</Status>1541 <Index>1</Index>1542 <Values>0.20081</Values>1543 <Status>0</Status>1544 <Index>2</Index>1545 <Values>0.147333</Values>1546 <Status>0</Status>1547 <Index>3</Index>1548 <Values>0.158733</Values>1549 <Status>0</Status>1550 <Index>4</Index>1551 <Values>0.249271</Values>1552 <Status>0</Status>1553 </Variables>1554 1264 </Block_Properties> 1555 1265 </Base_Models> … … 1559 1269 <Block_Properties> 1560 1270 <Model_File_Path>stage_separators/tray</Model_File_Path> 1561 <Instance_Id>InletV </Instance_Id>1562 <Model_Name>InletV </Model_Name>1271 <Instance_Id>InletVapour</Instance_Id> 1272 <Model_Name>InletVapour</Model_Name> 1563 1273 <T_Connection>1</T_Connection> 1564 1274 <Base_Models> 1565 1275 <Block_Properties> 1566 1276 <Model_File_Path>streams</Model_File_Path> 1567 <Instance_Id>InletV </Instance_Id>1277 <Instance_Id>InletVapour</Instance_Id> 1568 1278 <Model_Name>stream</Model_Name> 1569 1279 <T_Connection>1</T_Connection> 1570 <Parameters>1571 <Desc>NComp</Desc>1572 <Index>0</Index>1573 <Values>5</Values>1574 <Status>0</Status>1575 </Parameters>1576 <Variables>1577 <Desc>F</Desc>1578 <Index>0</Index>1579 <Values>64.3739</Values>1580 <Status>0</Status>1581 <Unit>kmol/h</Unit>1582 </Variables>1583 <Variables>1584 <Desc>T</Desc>1585 <Index>0</Index>1586 <Values>273.528</Values>1587 <Status>0</Status>1588 <Unit>K</Unit>1589 </Variables>1590 <Variables>1591 <Desc>P</Desc>1592 <Index>0</Index>1593 <Values>1.19644</Values>1594 <Status>0</Status>1595 <Unit>atm</Unit>1596 </Variables>1597 <Variables>1598 <Desc>h</Desc>1599 <Index>0</Index>1600 <Values>-2298.25</Values>1601 <Status>0</Status>1602 <Unit>kJ/kmol</Unit>1603 </Variables>1604 <Variables>1605 <Desc>v</Desc>1606 <Index>0</Index>1607 <Values>1</Values>1608 <Status>0</Status>1609 </Variables>1610 <Variables>1611 <Desc>z</Desc>1612 <Index>0</Index>1613 <Values>0.256443</Values>1614 <Status>0</Status>1615 <Index>1</Index>1616 <Values>0.0572616</Values>1617 <Status>0</Status>1618 <Index>2</Index>1619 <Values>0.448169</Values>1620 <Status>0</Status>1621 <Index>3</Index>1622 <Values>0.0114061</Values>1623 <Status>0</Status>1624 <Index>4</Index>1625 <Values>0.22672</Values>1626 <Status>0</Status>1627 </Variables>1628 1280 </Block_Properties> 1629 1281 </Base_Models> … … 1633 1285 <Block_Properties> 1634 1286 <Model_File_Path>stage_separators/tray</Model_File_Path> 1635 <Instance_Id>OutletL </Instance_Id>1636 <Model_Name>OutletL </Model_Name>1287 <Instance_Id>OutletLiquid</Instance_Id> 1288 <Model_Name>OutletLiquid</Model_Name> 1637 1289 <T_Connection>2</T_Connection> 1638 1290 <Base_Models> 1639 1291 <Block_Properties> 1640 1292 <Model_File_Path>streams</Model_File_Path> 1641 <Instance_Id>OutletL </Instance_Id>1293 <Instance_Id>OutletLiquid</Instance_Id> 1642 1294 <Model_Name>liquid_stream</Model_Name> 1643 1295 <T_Connection>2</T_Connection> … … 1645 1297 <Block_Properties> 1646 1298 <Model_File_Path>streams</Model_File_Path> 1647 <Instance_Id>OutletL </Instance_Id>1299 <Instance_Id>OutletLiquid</Instance_Id> 1648 1300 <Model_Name>stream</Model_Name> 1649 1301 <T_Connection>2</T_Connection> 1650 <Parameters>1651 <Desc>NComp</Desc>1652 <Index>0</Index>1653 <Values>5</Values>1654 <Status>0</Status>1655 </Parameters>1656 <Variables>1657 <Desc>F</Desc>1658 <Index>0</Index>1659 <Values>136.696</Values>1660 <Status>0</Status>1661 <Unit>kmol/h</Unit>1662 </Variables>1663 <Variables>1664 <Desc>T</Desc>1665 <Index>0</Index>1666 <Values>273.984</Values>1667 <Status>0</Status>1668 <Unit>K</Unit>1669 </Variables>1670 <Variables>1671 <Desc>P</Desc>1672 <Index>0</Index>1673 <Values>1.18748</Values>1674 <Status>0</Status>1675 <Unit>atm</Unit>1676 </Variables>1677 <Variables>1678 <Desc>h</Desc>1679 <Index>0</Index>1680 <Values>-27900</Values>1681 <Status>0</Status>1682 <Unit>kJ/kmol</Unit>1683 </Variables>1684 <Variables>1685 <Desc>v</Desc>1686 <Index>0</Index>1687 <Values>0</Values>1688 <Status>0</Status>1689 </Variables>1690 <Variables>1691 <Desc>z</Desc>1692 <Index>0</Index>1693 <Values>0.190824</Values>1694 <Status>0</Status>1695 <Index>1</Index>1696 <Values>0.257091</Values>1697 <Status>0</Status>1698 <Index>2</Index>1699 <Values>0.0914983</Values>1700 <Status>0</Status>1701 <Index>3</Index>1702 <Values>0.25265</Values>1703 <Status>0</Status>1704 <Index>4</Index>1705 <Values>0.207937</Values>1706 <Status>0</Status>1707 </Variables>1708 1302 </Block_Properties> 1709 1303 </Base_Models> … … 1721 1315 <Block_Properties> 1722 1316 <Model_File_Path>stage_separators/tray</Model_File_Path> 1723 <Instance_Id>OutletV </Instance_Id>1724 <Model_Name>OutletV </Model_Name>1317 <Instance_Id>OutletVapour</Instance_Id> 1318 <Model_Name>OutletVapour</Model_Name> 1725 1319 <T_Connection>2</T_Connection> 1726 1320 <Base_Models> 1727 1321 <Block_Properties> 1728 1322 <Model_File_Path>streams</Model_File_Path> 1729 <Instance_Id>OutletV </Instance_Id>1323 <Instance_Id>OutletVapour</Instance_Id> 1730 1324 <Model_Name>vapour_stream</Model_Name> 1731 1325 <T_Connection>2</T_Connection> … … 1733 1327 <Block_Properties> 1734 1328 <Model_File_Path>streams</Model_File_Path> 1735 <Instance_Id>OutletV </Instance_Id>1329 <Instance_Id>OutletVapour</Instance_Id> 1736 1330 <Model_Name>stream</Model_Name> 1737 1331 <T_Connection>2</T_Connection> 1738 <Parameters>1739 <Desc>NComp</Desc>1740 <Index>0</Index>1741 <Values>5</Values>1742 <Status>0</Status>1743 </Parameters>1744 <Variables>1745 <Desc>F</Desc>1746 <Index>0</Index>1747 <Values>120.775</Values>1748 <Status>0</Status>1749 <Unit>kmol/h</Unit>1750 </Variables>1751 <Variables>1752 <Desc>T</Desc>1753 <Index>0</Index>1754 <Values>273.984</Values>1755 <Status>0</Status>1756 <Unit>K</Unit>1757 </Variables>1758 <Variables>1759 <Desc>P</Desc>1760 <Index>0</Index>1761 <Values>1.18748</Values>1762 <Status>0</Status>1763 <Unit>atm</Unit>1764 </Variables>1765 <Variables>1766 <Desc>h</Desc>1767 <Index>0</Index>1768 <Values>-2283.02</Values>1769 <Status>0</Status>1770 <Unit>kJ/kmol</Unit>1771 </Variables>1772 <Variables>1773 <Desc>v</Desc>1774 <Index>0</Index>1775 <Values>1</Values>1776 <Status>0</Status>1777 </Variables>1778 <Variables>1779 <Desc>z</Desc>1780 <Index>0</Index>1781 <Values>0.269527</Values>1782 <Status>0</Status>1783 <Index>1</Index>1784 <Values>0.0586267</Values>1785 <Status>0</Status>1786 <Index>2</Index>1787 <Values>0.422844</Values>1788 <Status>0</Status>1789 <Index>3</Index>1790 <Values>0.0116986</Values>1791 <Status>0</Status>1792 <Index>4</Index>1793 <Values>0.237304</Values>1794 <Status>0</Status>1795 </Variables>1796 1332 </Block_Properties> 1797 1333 </Base_Models> … … 1812 1348 <Status>0</Status> 1813 1349 </Parameters> 1814 <Parameters>1815 <Desc>NComp</Desc>1816 <Index>0</Index>1817 <Values>5</Values>1818 <Status>0</Status>1819 </Parameters>1820 <Variables>1821 <Desc>M</Desc>1822 <Index>0</Index>1823 <Values>0.0461664</Values>1824 <Status>0</Status>1825 <Unit>kmol</Unit>1826 <Index>1</Index>1827 <Values>0.0606718</Values>1828 <Status>0</Status>1829 <Unit>kmol</Unit>1830 <Index>2</Index>1831 <Values>0.0236087</Values>1832 <Status>0</Status>1833 <Unit>kmol</Unit>1834 <Index>3</Index>1835 <Values>0.0593935</Values>1836 <Status>0</Status>1837 <Unit>kmol</Unit>1838 <Index>4</Index>1839 <Values>0.0500239</Values>1840 <Status>0</Status>1841 <Unit>kmol</Unit>1842 </Variables>1843 <Variables>1844 <Desc>ML</Desc>1845 <Index>0</Index>1846 <Values>0.23485</Values>1847 <Status>0</Status>1848 <Unit>kmol</Unit>1849 </Variables>1850 <Variables>1851 <Desc>MV</Desc>1852 <Index>0</Index>1853 <Values>0.00501434</Values>1854 <Status>0</Status>1855 <Unit>kmol</Unit>1856 </Variables>1857 <Variables>1858 <Desc>E</Desc>1859 <Index>0</Index>1860 <Values>-6577.39</Values>1861 <Status>0</Status>1862 <Unit>kJ</Unit>1863 </Variables>1864 <Variables>1865 <Desc>vL</Desc>1866 <Index>0</Index>1867 <Values>9.12837e-05</Values>1868 <Status>0</Status>1869 <Unit>m^3/mol</Unit>1870 </Variables>1871 <Variables>1872 <Desc>vV</Desc>1873 <Index>0</Index>1874 <Values>0.0183133</Values>1875 <Status>0</Status>1876 <Unit>m^3/mol</Unit>1877 </Variables>1878 <Variables>1879 <Desc>Level</Desc>1880 <Index>0</Index>1881 <Values>0.0585676</Values>1882 <Status>0</Status>1883 <Unit>m</Unit>1884 </Variables>1885 <Variables>1886 <Desc>yideal</Desc>1887 <Index>0</Index>1888 <Values>0.269527</Values>1889 <Status>0</Status>1890 <Index>1</Index>1891 <Values>0.0586267</Values>1892 <Status>0</Status>1893 <Index>2</Index>1894 <Values>0.422844</Values>1895 <Status>0</Status>1896 <Index>3</Index>1897 <Values>0.0116986</Values>1898 <Status>0</Status>1899 <Index>4</Index>1900 <Values>0.237304</Values>1901 <Status>0</Status>1902 </Variables>1903 1350 </Block_Properties> 1904 1351 </Base_Models> 1905 <Variables>1906 <Desc>rhoL</Desc>1907 <Index>0</Index>1908 <Values>710.891</Values>1909 <Status>0</Status>1910 <Unit>kg/m^3</Unit>1911 </Variables>1912 <Variables>1913 <Desc>rhoV</Desc>1914 <Index>0</Index>1915 <Values>2.83831</Values>1916 <Status>0</Status>1917 <Unit>kg/m^3</Unit>1918 </Variables>1919 1352 </Block_Properties> 1920 1353 </Base_Models> … … 1942 1375 <Block_Properties> 1943 1376 <Model_File_Path>stage_separators/tray</Model_File_Path> 1944 <Instance_Id>InletL </Instance_Id>1945 <Model_Name>InletL </Model_Name>1377 <Instance_Id>InletLiquid</Instance_Id> 1378 <Model_Name>InletLiquid</Model_Name> 1946 1379 <T_Connection>1</T_Connection> 1947 1380 <Base_Models> 1948 1381 <Block_Properties> 1949 1382 <Model_File_Path>streams</Model_File_Path> 1950 <Instance_Id>InletL </Instance_Id>1383 <Instance_Id>InletLiquid</Instance_Id> 1951 1384 <Model_Name>stream</Model_Name> 1952 1385 <T_Connection>1</T_Connection> 1953 <Parameters>1954 <Desc>NComp</Desc>1955 <Index>0</Index>1956 <Values>5</Values>1957 <Status>0</Status>1958 </Parameters>1959 <Variables>1960 <Desc>F</Desc>1961 <Index>0</Index>1962 <Values>136.696</Values>1963 <Status>0</Status>1964 <Unit>kmol/h</Unit>1965 </Variables>1966 <Variables>1967 <Desc>T</Desc>1968 <Index>0</Index>1969 <Values>273.984</Values>1970 <Status>0</Status>1971 <Unit>K</Unit>1972 </Variables>1973 <Variables>1974 <Desc>P</Desc>1975 <Index>0</Index>1976 <Values>1.18748</Values>1977 <Status>0</Status>1978 <Unit>atm</Unit>1979 </Variables>1980 <Variables>1981 <Desc>h</Desc>1982 <Index>0</Index>1983 <Values>-27900</Values>1984 <Status>0</Status>1985 <Unit>kJ/kmol</Unit>1986 </Variables>1987 <Variables>1988 <Desc>v</Desc>1989 <Index>0</Index>1990 <Values>0</Values>1991 <Status>0</Status>1992 </Variables>1993 <Variables>1994 <Desc>z</Desc>1995 <Index>0</Index>1996 <Values>0.190824</Values>1997 <Status>0</Status>1998 <Index>1</Index>1999 <Values>0.257091</Values>2000 <Status>0</Status>2001 <Index>2</Index>2002 <Values>0.0914983</Values>2003 <Status>0</Status>2004 <Index>3</Index>2005 <Values>0.25265</Values>2006 <Status>0</Status>2007 <Index>4</Index>2008 <Values>0.207937</Values>2009 <Status>0</Status>2010 </Variables>2011 1386 </Block_Properties> 2012 1387 </Base_Models> … … 2016 1391 <Block_Properties> 2017 1392 <Model_File_Path>stage_separators/tray</Model_File_Path> 2018 <Instance_Id>InletV </Instance_Id>2019 <Model_Name>InletV </Model_Name>1393 <Instance_Id>InletVapour</Instance_Id> 1394 <Model_Name>InletVapour</Model_Name> 2020 1395 <T_Connection>1</T_Connection> 2021 1396 <Base_Models> 2022 1397 <Block_Properties> 2023 1398 <Model_File_Path>streams</Model_File_Path> 2024 <Instance_Id>InletV </Instance_Id>1399 <Instance_Id>InletVapour</Instance_Id> 2025 1400 <Model_Name>stream</Model_Name> 2026 1401 <T_Connection>1</T_Connection> 2027 <Parameters>2028 <Desc>NComp</Desc>2029 <Index>0</Index>2030 <Values>5</Values>2031 <Status>0</Status>2032 </Parameters>2033 <Variables>2034 <Desc>F</Desc>2035 <Index>0</Index>2036 <Values>63.0695</Values>2037 <Status>0</Status>2038 <Unit>kmol/h</Unit>2039 </Variables>2040 <Variables>2041 <Desc>T</Desc>2042 <Index>0</Index>2043 <Values>273.254</Values>2044 <Status>0</Status>2045 <Unit>K</Unit>2046 </Variables>2047 <Variables>2048 <Desc>P</Desc>2049 <Index>0</Index>2050 <Values>1.20492</Values>2051 <Status>0</Status>2052 <Unit>atm</Unit>2053 </Variables>2054 <Variables>2055 <Desc>h</Desc>2056 <Index>0</Index>2057 <Values>-2304.77</Values>2058 <Status>0</Status>2059 <Unit>kJ/kmol</Unit>2060 </Variables>2061 <Variables>2062 <Desc>v</Desc>2063 <Index>0</Index>2064 <Values>1</Values>2065 <Status>0</Status>2066 </Variables>2067 <Variables>2068 <Desc>z</Desc>2069 <Index>0</Index>2070 <Values>0.246892</Values>2071 <Status>0</Status>2072 <Index>1</Index>2073 <Values>0.056409</Values>2074 <Status>0</Status>2075 <Index>2</Index>2076 <Values>0.466814</Values>2077 <Status>0</Status>2078 <Index>3</Index>2079 <Values>0.0112322</Values>2080 <Status>0</Status>2081 <Index>4</Index>2082 <Values>0.218653</Values>2083 <Status>0</Status>2084 </Variables>2085 1402 </Block_Properties> 2086 1403 </Base_Models> … … 2090 1407 <Block_Properties> 2091 1408 <Model_File_Path>stage_separators/tray</Model_File_Path> 2092 <Instance_Id>OutletL </Instance_Id>2093 <Model_Name>OutletL </Model_Name>