Changeset 517
- Timestamp:
- May 19, 2008, 11:29:24 AM (15 years ago)
- Location:
- branches/rate
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/rate/eml/stage_separators/tray.mso
r516 r517 119 119 == Initial == 120 120 * the plate temperature (OutletL.T) 121 * the liquid height (Level) OR the liquid flow OutletL.F121 * the liquid height (Level) OR the liquid holdup (ML) 122 122 * (NoComps - 1) OutletL compositions 123 123 "; … … 494 494 495 495 VARIABLES 496 NL(NComp) as flow_mol 497 NV(NComp) as flow_mol 496 NL(NComp) as flow_mol_delta (Brief = "Stream Molar Rate on Liquid Phase"); 497 NV(NComp) as flow_mol_delta (Brief = "Stream Molar Rate on Vapour Phase"); 498 498 T as temperature (Brief = "Stream Temperature"); 499 499 P as pressure (Brief = "Stream Pressure"); … … 519 519 end 520 520 521 Model trayRate 521 Model trayRateBasic 522 522 ATTRIBUTES 523 523 Pallete = false; 524 524 Icon = "icon/Tray"; 525 Brief = "Basic equations of a tray column model.";525 Brief = "Basic equations of a tray rate column model."; 526 526 Info = 527 527 "This model contains only the main equations of a column tray nonequilibrium model without … … 561 561 Level as length (Brief="Height of clear liquid on plate"); 562 562 interf as interface; 563 563 564 SET 565 NC1=NComp-1; 566 564 567 EQUATIONS 565 568 "Component Molar Balance" … … 622 625 interf.NL(1:NC1)=interf.a*sumt(interf.kL*(interf.x(1:NC1)-OutletL.z(1:NC1)))/vL+ 623 626 OutletL.z(1:NC1)*sum(interf.NL); 627 628 # interf.NL(1:NC1)=0.01*'kmol/s'; 624 629 625 630 interf.NV(1:NC1)=interf.a*sumt(interf.kV*(OutletV.z(1:NC1)-interf.y(1:NC1)))/vV+ … … 629 634 OutletV.P = OutletL.P; 630 635 interf.P=OutletL.P; 631 632 SET633 NC1=NComp-1;634 636 end 635 637 638 Model trayRate as trayRateBasic 639 ATTRIBUTES 640 Pallete = false; 641 Icon = "icon/Tray"; 642 Brief = "Complete rate model of a column tray."; 643 Info = 644 "== Specify == 645 * the Feed stream 646 * the Liquid inlet stream 647 * the Vapour inlet stream 648 * the Vapour outlet flow (OutletV.F) 649 650 == Initial == 651 * the plate temperature of both phases (OutletL.T and OutletV.T) 652 * the liquid height (Level) OR the liquid flow holdup (ML) 653 * the vapor holdup (MV) 654 * (NoComps - 1) OutletL compositions 655 "; 656 657 PARAMETERS 658 Ah as area (Brief="Total holes area"); 659 lw as length (Brief="Weir length"); 660 g as acceleration (Default=9.81); 661 hw as length (Brief="Weir height"); 662 beta as fraction (Brief="Aeration fraction"); 663 alfa as fraction (Brief="Dry pressure drop coefficient"); 664 665 VapourFlow as Switcher(Valid = ["on", "off"], Default = "on"); 666 LiquidFlow as Switcher(Valid = ["on", "off"], Default = "on"); 667 668 VARIABLES 669 rhoL as dens_mass; 670 rhoV as dens_mass; 671 672 EQUATIONS 673 "Liquid Density" 674 rhoL = PP.LiquidDensity(OutletL.T, OutletL.P, OutletL.z); 675 "Vapour Density" 676 rhoV = PP.VapourDensity(InletV.T, InletV.P, InletV.z); 677 678 switch LiquidFlow 679 case "on": 680 "Francis Equation" 681 # OutletL.F*vL = 1.84*'m^0.5/s'*lw*((Level-(beta*hw))/(beta))^1.5; 682 OutletL.F*vL = 1.84*'1/s'*lw*((Level-(beta*hw))/(beta))^2; 683 when Level < (beta * hw) switchto "off"; 684 685 case "off": 686 "Low level" 687 OutletL.F = 0 * 'mol/h'; 688 when Level > (beta * hw) + 1e-6*'m' switchto "on"; 689 end 690 691 switch VapourFlow 692 case "on": 693 InletV.F*vV = sqrt((InletV.P - OutletV.P)/(rhoV*alfa))*Ah; 694 when InletV.F < 1e-6 * 'kmol/h' switchto "off"; 695 696 case "off": 697 InletV.F = 0 * 'mol/s'; 698 when InletV.P > OutletV.P + Level*g*rhoL + 1e-1 * 'atm' switchto "on"; 699 end 700 end -
branches/rate/sample/stage_separators/sample_tray.mso
r507 r517 243 243 244 244 SPECIFY 245 feed.Outlet.F = 11 3.4* 'kmol/h';246 feed.Outlet.T = 2 91* 'K';247 feed.Outlet.P = 1 .66 * 'atm';245 feed.Outlet.F = 116 * 'kmol/h'; 246 feed.Outlet.T = 280 * 'K'; 247 feed.Outlet.P = 150 * 'kPa'; 248 248 feed.Outlet.z = [0.5, 0.5]; 249 249 250 250 feedV.Outlet.F = 0 * 'kmol/h'; 251 feedV.Outlet.T = 2 91* 'K';252 feedV.Outlet.P = 1 .66* 'atm';251 feedV.Outlet.T = 280 * 'K'; 252 feedV.Outlet.P = 150 * 'atm'; 253 253 feedV.Outlet.z = [0.5, 0.5]; 254 255 inL.P = 1 65* 'kPa';256 inL.T = 310 * 'K';257 inL.F = 6 1.99* 'kmol/h';254 255 inL.P = 150 * 'kPa'; 256 inL.T = 290 * 'K'; 257 inL.F = 62 * 'kmol/h'; 258 258 inL.z = [0.1641, 0.8359]; 259 259 260 260 inV.P = 150 * 'kPa'; 261 inV.T = 3 21* 'K';261 inV.T = 340 * 'K'; 262 262 inV.z = [0.0584, 0.9416]; 263 inV.F = 61.99 * 'kmol/h'; 264 265 #t1.Emv = 1; 266 t1.OutletV.F = 147.1 * 'kmol/h'; 267 t1.OutletL.F = 147.1 * 'kmol/h'; 268 t1.interf.a=0.01*'m^2'; 269 t1.interf.htL=0.4*'kW/m^2/K'; 270 t1.interf.htV=0.4*'kW/m^2/K'; 271 t1.interf.kL=0.001*'m/s'; 272 t1.interf.kV=0.001*'m/s'; 263 # inV.F = 62 * 'kmol/h'; 264 265 t1.OutletV.F = 120 * 'kmol/h'; 266 # t1.OutletL.F = 120 * 'kmol/h'; 267 t1.interf.a = 140 * 'm^2'; 268 t1.interf.htL = 10.01 * 'kW/m^2/K'; 269 t1.interf.htV = 0.025 * 'kW/m^2/K'; 270 t1.interf.kL = 0.00933 * 'm/s'; 271 t1.interf.kV = 0.000236 * 'm/s'; 273 272 274 273 SET 275 274 t1.V = 4 * 'ft^3'; 276 #*t1.Ah = 0.394 * 'ft^2';275 t1.Ah = 0.394 * 'ft^2'; 277 276 t1.lw = 20.94 * 'in'; 278 277 t1.hw = 0.125 * 'ft'; 279 278 t1.beta = 0.6; 280 t1.alfa = 4;*# 281 279 t1.alfa = 4; 282 280 t1.Ap = 3.94 * 'ft^2'; 283 281 t1.Q = 0 * 'kW'; 284 285 INITIAL 286 t1.OutletL.T = 29 0*'K';282 283 INITIAL 284 t1.OutletL.T = 295 *'K'; 287 285 t1.OutletV.T = 290 *'K'; 288 t1.Level = 0.9 *'m';286 t1.Level = 0.9 * t1.hw; 289 287 t1.OutletL.z(1) = 0.5; 290 t1.OutletV.z(1) = 0. 5;291 t1.MV = 0.01*'mol' ;292 288 t1.OutletV.z(1) = 0.6; 289 t1.MV = 1.0*'mol' ; 290 293 291 OPTIONS 294 292 TimeStep = 0.1; 295 TimeEnd = 10 0;293 TimeEnd = 10; 296 294 TimeUnit = 's'; 297 # GuessFile = "tray_Test.rlt";298 end 295 GuessFile = "trayRate_Test.rlt"; 296 end
Note: See TracChangeset
for help on using the changeset viewer.