Changeset 160
- Timestamp:
- Feb 8, 2007, 4:37:44 PM (15 years ago)
- Location:
- branches/newlanguage
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/newlanguage/eml/heat_exchangers/HEX_Engine.mso
r157 r160 87 87 # Must be streamPH 88 88 Hot as streamPH (Brief="Outlet Hot Stream"); 89 #Hot as liquid_stream (Brief="Outlet Hot Stream"); 89 90 Cold as streamPH (Brief="Outlet Cold Stream"); 91 #Cold as liquid_stream (Brief="Outlet Cold Stream"); 90 92 91 93 end … … 209 211 VARIABLES 210 212 Re as positive (Brief="Tube Side Reynolds Number",Default=1000,Lower=1); 213 Nu as positive (Brief="Nusselt Number",Default=0.5,Lower=1e-8); 211 214 htube as heat_trans_coeff (Brief="Tube Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); 215 fi as fricfactor (Brief="Friction Factor", Default=0.05, Lower=1e-10, Upper=2000); 212 216 PR as positive (Brief="Tube Side Prandtl Number",Default=0.5,Lower=1e-8); 213 217 PRw as positive (Brief="Tube Side Prandtl Number at Wall Temperature",Default=0.5,Lower=1e-8); -
branches/newlanguage/eml/heat_exchangers/HeatExchangerDetailed.mso
r135 r160 340 340 Outlet.Cold.z=Inlet.Cold.z; 341 341 342 "No Phase Change In Cold Stream"343 Inlet.Cold.v=Outlet.Cold.v;344 345 "No Phase Change In Hot Stream"346 Inlet.Hot.v=Outlet.Hot.v;347 348 342 end 349 343 350 Model Heatex_Detailed as HeatExchangerDetailed_Basic344 Model Heatex_Detailed as HeatExchangerDetailed_Basic 351 345 352 346 ATTRIBUTES … … 358 352 PARAMETERS 359 353 360 outer PP as Plugin (Brief="External Physical Properties"); 361 side as Integer (Brief="Fluid Alocation Flag",Lower=0,Upper=1); 362 Pi as constant (Brief="Pi Number",Default=3.14159265); 354 outer PP as Plugin (Brief="External Physical Properties"); 355 HotSide as Switcher (Brief="Hot Side in the Exchanger",Valid=["shell","tubes"],Default="shell"); 356 Pi as constant (Brief="Pi Number",Default=3.14159265); 357 358 FlowRegime as Switcher (Brief="Tube Side Flow Regime ",Valid=["laminar","transition","turbulent"],Default="laminar"); 359 LaminarCorrelation as Switcher (Brief="Heat Transfer Correlation in Laminar Flow",Valid=["Hausen","Schlunder"],Default="Hausen"); 360 TransitionCorrelation as Switcher (Brief="Heat Transfer Correlation in Transition Flow",Valid=["Gnielinski","ESDU"],Default="Gnielinski"); 361 TurbulentCorrelation as Switcher (Brief="Heat Transfer Correlation in Turbulent Flow",Valid=["Petukhov","SiederTate"],Default="Petukhov"); 362 363 363 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 364 364 # Shell Geometrical Parameters … … 428 428 HE.Lcd = Lcd; 429 429 HE.Ltd = Ltd; 430 side = HE.FluidAlocation();431 430 432 431 #"Tube Side Inlet Nozzle Area" … … 457 456 EQUATIONS 458 457 459 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#460 # Heat Transfer Correction Factors461 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#462 458 "Ji Factor" 463 459 Shell.HeatTransfer.Ji = HE.JiFactor(Shell.HeatTransfer.Re); … … 478 474 Shell.HeatTransfer.Jtotal = Shell.HeatTransfer.Jc*Shell.HeatTransfer.Jl*Shell.HeatTransfer.Jb*Shell.HeatTransfer.Jr*Shell.HeatTransfer.Js; 479 475 480 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 481 # Pressure Drop and Velocities 482 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 483 484 if side equal 1 485 486 then 476 #Cheking Flow Regime 477 switch FlowRegime 478 479 case "laminar": 480 481 "Not Necessary in Laminar Correlation - Use any one equation that you want" 482 Tubes.HeatTransfer.fi = 16/Tubes.HeatTransfer.Re; 483 484 switch LaminarCorrelation 485 486 case "Hausen": 487 488 "Nusselt Number in Laminar Flow - Hausen Equation" 489 Tubes.HeatTransfer.Nu = 3.665 + ((0.19*((Ditube/Ltube)*Tubes.HeatTransfer.Re*Tubes.HeatTransfer.PR)^0.8)/(1+0.117*((Ditube/Ltube)*Tubes.HeatTransfer.Re*Tubes.HeatTransfer.PR)^0.467)); 490 491 case "Schlunder": 492 493 "Nusselt Number in Laminar Flow - Schlunder Equation" 494 Tubes.HeatTransfer.Nu = (49.027896+4.173281*Tubes.HeatTransfer.Re*Tubes.HeatTransfer.PR*(Ditube/Ltube))^(1/3); 495 496 end 497 498 when Tubes.HeatTransfer.Re > 2300 switchto "transition"; 499 500 case "transition": 501 502 "Friction Factor for use in Gnielinski Equation" 503 Tubes.HeatTransfer.fi = 1/(0.79*ln(Tubes.HeatTransfer.Re)-1.64)^2; 504 505 switch TransitionCorrelation 506 507 case "Gnielinski": 508 509 "Nusselt Number in Transition Flow - Gnielinski Equation" 510 Tubes.HeatTransfer.Nu*(1+(12.7*sqrt(0.125*Tubes.HeatTransfer.fi)*((Tubes.HeatTransfer.PR)^(2/3) -1))) = 0.125*Tubes.HeatTransfer.fi*(Tubes.HeatTransfer.Re-1000)*Tubes.HeatTransfer.PR; 511 512 case "ESDU": 513 514 "Nusselt Number in Transition Flow - ESDU Equation" 515 Tubes.HeatTransfer.Nu =1;#to be implemented 516 517 end 518 519 when Tubes.HeatTransfer.Re < 2300 switchto "laminar"; 520 when Tubes.HeatTransfer.Re > 10000 switchto "turbulent"; 521 522 case "turbulent": 523 524 "Friction Factor in Petukhov Equation" 525 Tubes.HeatTransfer.fi = 1/(1.82*log(Tubes.HeatTransfer.Re)-1.64)^2; 526 527 switch TurbulentCorrelation 528 529 case "Petukhov": 530 531 "Nusselt Number in Turbulent Flow - Petukhov Equation" 532 Tubes.HeatTransfer.Nu*(1.07+(12.7*sqrt(0.125*Tubes.HeatTransfer.fi)*((Tubes.HeatTransfer.PR)^(2/3) -1))) = 0.125*Tubes.HeatTransfer.fi*Tubes.HeatTransfer.Re*Tubes.HeatTransfer.PR; 533 534 case "SiederTate": 535 536 "Nusselt Number in Transition Flow - Sieder Tate Equation" 537 Tubes.HeatTransfer.Nu = 0.027*(Tubes.HeatTransfer.PR)^(1/3)*(Tubes.HeatTransfer.Re)^(4/5); 538 539 end 540 541 when Tubes.HeatTransfer.Re < 10000 switchto "transition"; 542 543 end 544 545 switch HotSide 546 547 case "shell": 548 549 "Shell Side Phi correction" 550 Shell.HeatTransfer.Phi = HE.PhiCorrection(Properties.Hot.Average.Mu,Properties.Hot.Wall.Mu); 551 552 "Tube Side Phi correction" 553 Tubes.HeatTransfer.Phi = HE.PhiCorrection(Properties.Cold.Average.Mu,Properties.Cold.Wall.Mu); 554 555 "Shell Side inlet Nozzle rho-V^2" 556 Shell.PressureDrop.RVsquare_in = Properties.Hot.Inlet.rho*(Shell.PressureDrop.Vnozzle_in)^2; 557 558 "Shell Side Outlet Nozzle rho-V^2" 559 Shell.PressureDrop.RVsquare_out = Properties.Hot.Outlet.rho*(Shell.PressureDrop.Vnozzle_out)^2; 487 560 488 561 "Tube Side Pressure Drop" … … 519 592 Outlet.Cold.P = Inlet.Cold.P - Tubes.PressureDrop.Pdtotal; 520 593 521 522 else 594 "Hot Wall Temperature" 595 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 596 597 "ColdWall Temperature" 598 Properties.Cold.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 599 600 "Tube Side Velocity" 601 Tubes.HeatTransfer.Vtube = Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Properties.Cold.Average.rho*Ntt); 602 603 "Tube Side Reynolds Number" 604 Tubes.HeatTransfer.Re = (Properties.Cold.Average.rho*Tubes.HeatTransfer.Vtube*Ditube)/Properties.Cold.Average.Mu; 605 606 "Tube Side Prandtl Number" 607 Tubes.HeatTransfer.PR = ((Properties.Cold.Average.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Average.Mu)/Properties.Cold.Average.K; 608 609 "Tube Side Prandtl Number at Wall Temperature" 610 Tubes.HeatTransfer.PRw = ((Properties.Cold.Wall.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Wall.Mu)/Properties.Cold.Wall.K; 611 612 "Tube Side Film Coefficient" 613 Tubes.HeatTransfer.htube= (Tubes.HeatTransfer.Nu*Properties.Cold.Average.K/Ditube)*Tubes.HeatTransfer.Phi; 614 615 "Shell Side Prandtl Number" 616 Shell.HeatTransfer.PR = ((Properties.Hot.Average.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Average.Mu)/Properties.Hot.Average.K; 617 618 "Shell Side Prandtl Number at Wall Temperature" 619 Shell.HeatTransfer.PRw = ((Properties.Hot.Wall.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Wall.Mu)/Properties.Hot.Wall.K; 620 621 622 case "tubes": 623 624 "Shell Side Phi correction" 625 Shell.HeatTransfer.Phi = HE.PhiCorrection(Properties.Cold.Average.Mu,Properties.Cold.Wall.Mu); 626 627 "Tube Side Phi correction" 628 Tubes.HeatTransfer.Phi = HE.PhiCorrection(Properties.Hot.Average.Mu,Properties.Hot.Wall.Mu); 629 630 "Shell Side inlet Nozzle rho-V^2" 631 Shell.PressureDrop.RVsquare_in = Properties.Cold.Inlet.rho*(Shell.PressureDrop.Vnozzle_in)^2; 632 633 "Shell Side Outlet Nozzle rho-V^2" 634 Shell.PressureDrop.RVsquare_out = Properties.Cold.Outlet.rho*(Shell.PressureDrop.Vnozzle_out)^2; 523 635 524 636 "Tube Side Pressure Drop" … … 555 667 Outlet.Cold.P = Inlet.Cold.P - Shell.PressureDrop.Pdtotal; 556 668 557 end558 559 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#560 # Nozzles rho-V^2561 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#562 563 if side equal 1564 565 then566 567 "Shell Side inlet Nozzle rho-V^2"568 Shell.PressureDrop.RVsquare_in = Properties.Hot.Inlet.rho*(Shell.PressureDrop.Vnozzle_in)^2;569 570 "Shell Side Outlet Nozzle rho-V^2"571 Shell.PressureDrop.RVsquare_out = Properties.Hot.Outlet.rho*(Shell.PressureDrop.Vnozzle_out)^2;572 573 else574 575 "Shell Side inlet Nozzle rho-V^2"576 Shell.PressureDrop.RVsquare_in = Properties.Cold.Inlet.rho*(Shell.PressureDrop.Vnozzle_in)^2;577 578 "Shell Side Outlet Nozzle rho-V^2"579 Shell.PressureDrop.RVsquare_out = Properties.Cold.Outlet.rho*(Shell.PressureDrop.Vnozzle_out)^2;580 581 end582 583 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#584 # Phi correction585 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#586 587 if side equal 1588 589 then590 591 "Shell Side Phi correction"592 Shell.HeatTransfer.Phi = HE.PhiCorrection(Properties.Hot.Average.Mu,Properties.Hot.Wall.Mu);593 594 "Tube Side Phi correction"595 Tubes.HeatTransfer.Phi = HE.PhiCorrection(Properties.Cold.Average.Mu,Properties.Cold.Wall.Mu);596 597 else598 599 "Shell Side Phi correction"600 Shell.HeatTransfer.Phi = HE.PhiCorrection(Properties.Cold.Average.Mu,Properties.Cold.Wall.Mu);601 602 "Tube Side Phi correction"603 Tubes.HeatTransfer.Phi = HE.PhiCorrection(Properties.Hot.Average.Mu,Properties.Hot.Wall.Mu);604 605 end606 607 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# #608 # Heat Transfer609 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#610 611 if side equal 1612 613 then614 615 "Hot Wall Temperature"616 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2;617 618 "ColdWall Temperature"619 Properties.Cold.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2;620 621 "Tube Side Velocity"622 Tubes.HeatTransfer.Vtube = Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Properties.Cold.Average.rho*Ntt);623 624 "Tube Side Reynolds Number"625 Tubes.HeatTransfer.Re = (Properties.Cold.Average.rho*Tubes.HeatTransfer.Vtube*Ditube)/Properties.Cold.Average.Mu;626 627 "Tube Side Prandtl Number"628 Tubes.HeatTransfer.PR = ((Properties.Cold.Average.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Average.Mu)/Properties.Cold.Average.K;629 630 "Tube Side Prandtl Number at Wall Temperature"631 Tubes.HeatTransfer.PRw = ((Properties.Cold.Wall.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Wall.Mu)/Properties.Cold.Wall.K;632 633 "Tube Side Film Coefficient"634 Tubes.HeatTransfer.htube = HE.TubeFilmCoeff(Tubes.HeatTransfer.Re,Tubes.HeatTransfer.PR,Properties.Cold.Average.K)*Tubes.HeatTransfer.Phi;635 636 "Shell Side Prandtl Number"637 Shell.HeatTransfer.PR = ((Properties.Hot.Average.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Average.Mu)/Properties.Hot.Average.K;638 639 "Shell Side Prandtl Number at Wall Temperature"640 Shell.HeatTransfer.PRw = ((Properties.Hot.Wall.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Wall.Mu)/Properties.Hot.Wall.K;641 642 643 else644 645 669 "Hot Wall Temperature" 646 670 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; … … 662 686 663 687 "Tube Side Film Coefficient" 664 Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Tubes.HeatTransfer.Re,Tubes.HeatTransfer.PR,Properties.Hot.Average.K)*Tubes.HeatTransfer.Phi;665 688 Tubes.HeatTransfer.htube= (Tubes.HeatTransfer.Nu*Properties.Hot.Average.K/Ditube)*Tubes.HeatTransfer.Phi; 689 666 690 "Shell Side Prandtl Number" 667 691 Shell.HeatTransfer.PR = ((Properties.Cold.Average.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Average.Mu)/Properties.Cold.Average.K; … … 672 696 end 673 697 674 675 698 "Tube Resistance" 676 699 Resistances.Rtube*(Tubes.HeatTransfer.htube*Ditube) = Dotube; … … 699 722 end 700 723 701 Model Heatex_Detailed_NTU as Heatex_Detailed724 Model Heatex_Detailed_NTU as Heatex_Detailed 702 725 703 726 ATTRIBUTES … … 717 740 end 718 741 719 Model Heatex_Detailed_LMTD as Heatex_Detailed742 Model Heatex_Detailed_LMTD as Heatex_Detailed 720 743 721 744 ATTRIBUTES … … 767 790 end 768 791 769 Model E_Shell_NTU_Det as Heatex_Detailed_NTU792 Model Shell_and_Tubes_NTU_Det as Heatex_Detailed_NTU 770 793 771 794 ATTRIBUTES 772 795 Pallete = true; 773 Brief = "Shell and Tubes Heat Exchanger with 1 shell pass - NTU Method";796 Brief = "Shell and Tubes Heat Exchanger with 1 or 2 shell passes - NTU Method"; 774 797 Info = 775 798 "write some information"; 776 799 777 800 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 778 # Shell and Tubes Heat Exchanger with 1 shell pass - LMTD Method 779 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 801 # Shell and Tubes Heat Exchanger with 1 or 2 shell passes - LMTD Method 802 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 803 PARAMETERS 804 805 HotSide as Switcher (Brief="Hot Side in the Exchanger",Valid=["shell","tubes"],Default="shell"); 806 ShellType as Switcher (Brief="TEMA Designation",Valid=["Eshell","Fshell"],Default="Eshell"); 807 808 VARIABLES 809 810 Eft1 as positive (Brief="Effectiveness Correction",Lower=0.01,Upper=1,Default=0.5); 811 780 812 EQUATIONS 781 813 814 switch ShellType 815 816 case "Fshell": 817 818 "Effectiveness Correction for 2 pass shell side" 819 Eft1 = 2*(1+Details.Cr+sqrt(1+Details.Cr^2)*((1+exp(-Details.NTU*sqrt(1+Details.Cr^2)))/(1-exp(-Details.NTU*sqrt(1+Details.Cr^2)))) )^-1; 820 821 "TEMA F Shell Effectiveness" 822 Eft = ( ((1-Eft1*Details.Cr)/(1-Eft1))^2 -1 )*( ((1-Eft1*Details.Cr)/(1-Eft1))^2 - Details.Cr )^-1; 823 824 case "Eshell": 825 782 826 "TEMA E Shell Effectiveness" 783 # Eft = 2*(1+Details.Cr+sqrt(1+Details.Cr^2)*((1+exp(-Details.NTU*sqrt(1+Details.Cr^2)))/(1-exp(-Details.NTU*sqrt(1+Details.Cr^2)))) )^-1; 784 Eft = HE.EshellEffectiveness(Details.Cr,Details.NTU); 827 Eft = 2*(1+Details.Cr+sqrt(1+Details.Cr^2)*((1+exp(-Details.NTU*sqrt(1+Details.Cr^2)))/(1-exp(-Details.NTU*sqrt(1+Details.Cr^2)))) )^-1; 828 829 "Variable not in use when 1 Pass Shell Side" 830 Eft1 = Eft; 831 832 end 833 785 834 786 835 "Js Factor" 787 836 Shell.HeatTransfer.Js = HE.JsFactor(Shell.HeatTransfer.Re,Baffles.Lsi,Baffles.Lso,Baffles.Ls); 788 837 789 if side equal 1 790 791 then838 switch HotSide 839 840 case "shell": 792 841 793 842 "Shell Side Reynolds Number" … … 807 856 808 857 809 else858 case "tubes": 810 859 811 860 "Shell Side Reynolds Number" … … 829 878 end 830 879 831 Model F_Shell_NTU_Det as Heatex_Detailed_NTU 832 833 ATTRIBUTES 834 Pallete = true; 835 Brief = "Shell and Tubes Heat Exchanger with 2 shell pass - NTU Method"; 836 Info = 837 "write some information"; 838 839 VARIABLES 840 841 Eft1 as positive (Brief="Effectiveness Correction",Lower=0.01,Default=0.5); 842 843 EQUATIONS 844 845 "Effectiveness Correction" 846 Eft1 = 2*(1+Details.Cr+sqrt(1+Details.Cr^2)*((1+exp(-Details.NTU*sqrt(1+Details.Cr^2)))/(1-exp(-Details.NTU*sqrt(1+Details.Cr^2)))) )^-1; 847 848 "TEMA F Shell Effectiveness" 849 Eft = ( ((1-Eft1*Details.Cr)/(1-Eft1))^2 -1 )*( ((1-Eft1*Details.Cr)/(1-Eft1))^2 - Details.Cr )^-1; 850 851 "Js Factor" 852 Shell.HeatTransfer.Js = HE.JsFactor(Shell.HeatTransfer.Re,Baffles.Lsi,Baffles.Lso,Baffles.Ls); 853 854 if side equal 1 855 856 then 857 858 "Shell Side Reynolds Number" 859 Shell.HeatTransfer.Re=(Dotube*Properties.Hot.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Hot.Average.Mu; 860 861 "Shell Heat Transfer Coefficient" 862 Shell.HeatTransfer.hshell= Shell.HeatTransfer.Ji*(Properties.Hot.Average.Cp/Properties.Hot.Average.Mw)*(Properties.Hot.Inlet.Fw/Shell.HeatTransfer.Sm)*(Shell.HeatTransfer.PR^(-2/3))*Shell.HeatTransfer.Jtotal*Shell.HeatTransfer.Phi; 863 864 "Shell Pressure Drop Cross Flow" 865 Shell.PressureDrop.PdCross = HE.DeltaPcross(Shell.HeatTransfer.Re,Baffles.Ls,Baffles.Lso,Baffles.Lsi,Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Phi,Properties.Hot.Average.rho); 866 867 "Shell Pressure Baffle Window" 868 Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Hot.Average.rho,Properties.Hot.Average.Mu,Baffles.Ls); 869 870 "Shell Pressure End Zones" 871 Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(Shell.HeatTransfer.Re,Baffles.Ls,Baffles.Lso,Baffles.Lsi,Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Phi,Properties.Hot.Average.rho); 872 873 874 else 875 876 "Shell Side Reynolds Number" 877 Shell.HeatTransfer.Re=(Dotube*Properties.Cold.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Cold.Average.Mu; 878 879 "Shell Heat Transfer Coefficient" 880 Shell.HeatTransfer.hshell=Shell.HeatTransfer.Ji*(Properties.Cold.Average.Cp/Properties.Cold.Average.Mw)*(Properties.Cold.Inlet.Fw/Shell.HeatTransfer.Sm)*(Shell.HeatTransfer.PR^(-2/3))*Shell.HeatTransfer.Jtotal*Shell.HeatTransfer.Phi; 881 882 "Shell Pressure Drop Cross Flow" 883 Shell.PressureDrop.PdCross = HE.DeltaPcross(Shell.HeatTransfer.Re,Baffles.Ls,Baffles.Lso,Baffles.Lsi,Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Phi,Properties.Cold.Average.rho); 884 885 "Shell Pressure Baffle Window" 886 Shell.PressureDrop.Pdwindow = HE.DeltaPwindow(Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Cold.Average.rho,Properties.Cold.Average.Mu,Baffles.Ls); 887 888 "Shell Pressure End Zones" 889 Shell.PressureDrop.PdEndZones = HE.DeltaPendZones(Shell.HeatTransfer.Re,Baffles.Ls,Baffles.Lso,Baffles.Lsi,Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Phi,Properties.Cold.Average.rho); 890 891 892 end 893 894 895 end 880 881 882 883 896 884 897 885 Model Multipass_NTU_Det … … 1306 1294 Info = 1307 1295 "write some information"; 1296 1297 PARAMETERS 1298 1299 HotSide as Switcher (Brief="Hot Side in the Exchanger",Valid=["shell","tubes"],Default="shell"); 1308 1300 1309 1301 EQUATIONS … … 1321 1313 Shell.HeatTransfer.Js = HE.JsFactor(Shell.HeatTransfer.Re,Baffles.Lsi,Baffles.Lso,Baffles.Ls); 1322 1314 1323 if side equal 1 1324 1325 then1315 switch HotSide 1316 1317 case "shell": 1326 1318 1327 1319 "Shell Side Reynolds Number" … … 1341 1333 1342 1334 1343 else1335 case "tubes": 1344 1336 1345 1337 "Shell Side Reynolds Number" … … 1371 1363 "write some information"; 1372 1364 1365 PARAMETERS 1366 1367 outer HotSide as Switcher (Brief="Hot Side in the Exchanger",Valid=["shell","tubes"],Default="shell"); 1368 1373 1369 EQUATIONS 1374 1370 … … 1385 1381 Shell.HeatTransfer.Js = HE.JsFactor(Shell.HeatTransfer.Re,Baffles.Lsi,Baffles.Lso,Baffles.Ls); 1386 1382 1387 if side equal 1 1388 1389 then1383 switch HotSide 1384 1385 case "shell": 1390 1386 1391 1387 "Shell Side Reynolds Number" … … 1405 1401 1406 1402 1407 else1403 case "tubes": 1408 1404 1409 1405 "Shell Side Reynolds Number" -
branches/newlanguage/eml/heat_exchangers/HeatExchangerSimplified.mso
r149 r160 695 695 PARAMETERS 696 696 697 ShellType as Switcher(Brief="TEMA Designation",Valid=["Eshell","Fshell"],Default="Eshell");697 ShellType as Switcher (Brief="TEMA Designation",Valid=["Eshell","Fshell"],Default="Eshell"); 698 698 699 699 VARIABLES -
branches/newlanguage/sample/heat_exchangers/Eshell_Detailed_LMTD.mso
r135 r160 31 31 32 32 exchanger as E_Shell_LMTD_Det; 33 streamhot_in as s treamTP;34 streamcold_in as s treamTP;33 streamhot_in as source; 34 streamcold_in as source; 35 35 36 36 CONNECTIONS 37 37 38 streamhot_in to exchanger.Inlet.Hot;39 streamcold_in 38 streamhot_in.Outlet to exchanger.Inlet.Hot; 39 streamcold_in.Outlet to exchanger.Inlet.Cold; 40 40 41 41 PARAMETERS 42 42 43 PP as CalcObject(File="vrpp");43 PP as Plugin (File="vrpp"); 44 44 NComp as Integer; 45 45 … … 53 53 NComp = PP.NumberOfComponents; 54 54 55 exchanger.H E.HotSide = "Shell";55 exchanger.HotSide = "shell"; 56 56 57 57 # LMTD Correction Factor … … 59 59 60 60 # Heat Transfer Correlation 61 # exchanger.HE.LaminarFlow= "Schlunder";62 # exchanger.HE.TurbulentFlow= "SiederTate";63 # exchanger.HE.TransitionFlow = "GnielinskiII";61 exchanger.LaminarCorrelation = "Schlunder"; 62 exchanger.TurbulentCorrelation = "SiederTate"; 63 exchanger.TransitionCorrelation = "Gnielinski"; 64 64 65 65 #===================================================================== … … 67 67 #===================================================================== 68 68 exchanger.Tpass = 4; 69 exchanger.Dishell = 0.75 * "m";70 exchanger.Lcf = 0.043 * "m";69 exchanger.Dishell = 0.75 *'m'; 70 exchanger.Lcf = 0.043 *'m'; 71 71 exchanger.Nss = 1; 72 exchanger.Donozzle_Shell = 0.1937 * "m";73 exchanger.Dinozzle_Shell = 0.1937 * "m";74 exchanger.Honozzle_Shell = 0.0225 * "m";75 exchanger.Hinozzle_Shell = 0.02155 * "m";72 exchanger.Donozzle_Shell = 0.1937 *'m'; 73 exchanger.Dinozzle_Shell = 0.1937 *'m'; 74 exchanger.Honozzle_Shell = 0.0225 *'m'; 75 exchanger.Hinozzle_Shell = 0.02155 *'m'; 76 76 77 77 #===================================================================== … … 80 80 exchanger.Ntt = 500; 81 81 exchanger.Pattern = 30; 82 exchanger.pitch = 0.0254 * "m";83 exchanger.Ltube = 5.5 * "m";84 exchanger.Ditube = 0.013395 *"m";85 exchanger.Dotube = 0.015875 * "m";86 exchanger.Kwall = 0.057 * "kW/m/K";87 exchanger.Donozzle_Tube = 0.203 * "m";88 exchanger.Dinozzle_Tube = 0.203 * "m";82 exchanger.pitch = 0.0254 *'m'; 83 exchanger.Ltube = 5.5 *'m'; 84 exchanger.Ditube = 0.013395 *'m'; 85 exchanger.Dotube = 0.015875 *'m'; 86 exchanger.Kwall = 0.057 *'kW/m/K'; 87 exchanger.Donozzle_Tube = 0.203 *'m'; 88 exchanger.Dinozzle_Tube = 0.203 *'m'; 89 89 #===================================================================== 90 90 # Baffles Geometrical Parameters 91 91 #===================================================================== 92 exchanger.Lcd = 0.0047 * "m";92 exchanger.Lcd = 0.0047 *'m'; 93 93 exchanger.Bc = 25; 94 exchanger.Ltd = 0.00039 * "m";95 exchanger.Nb 94 exchanger.Ltd = 0.00039 *'m'; 95 exchanger.Nb = 6; 96 96 97 97 SPECIFY … … 99 99 # Hot Stream 100 100 #============================================ 101 streamhot_in. F = 40 * "mol/s";102 streamhot_in. T = 400* "K";103 streamhot_in. z = [1] ;104 streamhot_in. P = 740 * "kPa";101 streamhot_in.Outlet.F = 40 * 'mol/s'; 102 streamhot_in.Outlet.T = 400* 'K'; 103 streamhot_in.Outlet.z = [1] ; 104 streamhot_in.Outlet.P = 740 * 'kPa'; 105 105 #============================================ 106 106 # Cold Stream 107 107 #============================================ 108 streamcold_in. F = 75 * "mol/s";109 streamcold_in. T = 333 * "K";110 streamcold_in. z = [1];111 streamcold_in. P = 2210*"kPa";108 streamcold_in.Outlet.F = 75 * 'mol/s'; 109 streamcold_in.Outlet.T = 333 * 'K'; 110 streamcold_in.Outlet.z = [1]; 111 streamcold_in.Outlet.P = 2210*'kPa'; 112 112 #===================================================================== 113 113 # Baffle Spacing 114 114 #===================================================================== 115 exchanger.Baffles.Ls = 0.622 * "m";116 exchanger.Baffles.Lsi = 0.807 * "m";115 exchanger.Baffles.Ls = 0.622 *'m'; 116 exchanger.Baffles.Lsi = 0.807 *'m'; 117 117 #===================================================================== 118 118 # Fouling 119 119 #===================================================================== 120 exchanger.Resistances.Rfi = 0* "m^2*K/kW";121 exchanger.Resistances.Rfo = 0* "m^2*K/kW";120 exchanger.Resistances.Rfi = 0*'m^2*K/kW'; 121 exchanger.Resistances.Rfo = 0*'m^2*K/kW'; 122 122 123 123 OPTIONS 124 124 125 mode = "steady";125 Dynamic = false; 126 126 127 127 end -
branches/newlanguage/sample/heat_exchangers/Eshell_Detailed_NTU.mso
r100 r160 26 26 using "heat_exchangers/HeatExchangerDetailed.mso"; 27 27 28 FlowSheet E xchanger_E_shell_Detailed_NTU28 FlowSheet EshellDetailedNTUbranch 29 29 30 30 DEVICES 31 exchanger as E_Shell_NTU_Det; 32 streamhot_in as streamTP; 33 streamcold_in as streamTP; 31 exchanger as Shell_and_Tubes_NTU_Det; 32 streamhot_in as source; 33 streamcold_in as source; 34 35 Outcold as sink; 36 Outhot as sink; 34 37 35 38 CONNECTIONS 36 streamhot_in to exchanger.Inlet.Hot; 37 streamcold_in to exchanger.Inlet.Cold; 39 streamhot_in.Outlet to exchanger.Inlet.Hot; 40 streamcold_in.Outlet to exchanger.Inlet.Cold; 41 exchanger.Outlet.Hot to Outhot.Inlet; 42 exchanger.Outlet.Cold to Outcold.Inlet; 38 43 39 44 PARAMETERS 40 PP as CalcObject(File="vrpp");45 PP as Plugin (File="vrpp"); 41 46 NComp as Integer; 42 47 43 48 SET 44 PP.Components = ["benzene","toluene"]; 45 exchanger.HE.HotSide = "Shell";49 50 PP.Components = ["benzene","toluene"]; 46 51 PP.LiquidModel = "PR"; 47 52 PP.VapourModel = "PR"; 48 53 NComp = PP.NumberOfComponents; 49 54 55 exchanger.HotSide = "shell"; 56 exchanger.ShellType = "Eshell"; 57 50 58 # Heat Transfer Correlation 51 exchanger. HE.LaminarFlow= "Schlunder";52 exchanger. HE.TurbulentFlow= "SiederTate";53 exchanger. HE.TransitionFlow = "GnielinskiII";59 exchanger.LaminarCorrelation = "Schlunder"; 60 exchanger.TurbulentCorrelation = "SiederTate"; 61 exchanger.TransitionCorrelation = "Gnielinski"; 54 62 55 63 #===================================================================== 56 64 # Shell Geometrical Parameters 57 65 #===================================================================== 58 exchanger.Tpass = 4;59 exchanger.Dishell = 0.75 *"m";60 exchanger.Lcf = 0.043 *"m";61 exchanger.Nss = 1;62 exchanger.Donozzle_Shell = 0.1937 *"m";63 exchanger.Dinozzle_Shell = 0.1937 *"m";64 exchanger.Honozzle_Shell = 0.0225 *"m";65 exchanger.Hinozzle_Shell = 0.02155 *"m";66 exchanger.Tpass = 4; 67 exchanger.Dishell = 0.75 *'m'; 68 exchanger.Lcf = 0.043 *'m'; 69 exchanger.Nss = 1; 70 exchanger.Donozzle_Shell = 0.1937 *'m'; 71 exchanger.Dinozzle_Shell = 0.1937 *'m'; 72 exchanger.Honozzle_Shell = 0.0225 *'m'; 73 exchanger.Hinozzle_Shell = 0.02155 *'m'; 66 74 67 75 #===================================================================== … … 69 77 #===================================================================== 70 78 exchanger.Ntt = 500; 71 exchanger.Pattern = 30;72 exchanger.pitch = 0.0254 *"m";73 exchanger.Ltube = 5.5 *"m";74 exchanger.Ditube = 0.013395 *"m";75 exchanger.Dotube = 0.015875 *"m";76 exchanger.Kwall = 0.057 *"kW/m/K";77 exchanger.Donozzle_Tube = 0.203 *"m";78 exchanger.Dinozzle_Tube = 0.203 *"m";79 exchanger.Pattern = 30; 80 exchanger.pitch = 0.0254 *'m'; 81 exchanger.Ltube = 5.5 *'m'; 82 exchanger.Ditube = 0.013395 *'m'; 83 exchanger.Dotube = 0.015875 *'m'; 84 exchanger.Kwall = 0.057 *'kW/m/K'; 85 exchanger.Donozzle_Tube = 0.203 *'m'; 86 exchanger.Dinozzle_Tube = 0.203 *'m'; 79 87 #===================================================================== 80 88 # Baffles Geometrical Parameters 81 89 #===================================================================== 82 exchanger.Lcd = 0.0047 *"m";90 exchanger.Lcd = 0.0047 *'m'; 83 91 exchanger.Bc = 25; 84 exchanger.Ltd = 0.00039 *"m";85 exchanger.Nb 92 exchanger.Ltd = 0.00039 *'m'; 93 exchanger.Nb = 6; 86 94 87 95 SPECIFY … … 89 97 # Hot Stream 90 98 #============================================ 91 streamhot_in. F = 40 * "mol/s";92 streamhot_in. T = 393.15 * "K";93 streamhot_in. z = [1,0];94 streamhot_in. P = 740 * "kPa";99 streamhot_in.Outlet.F = 40 * 'mol/s'; 100 streamhot_in.Outlet.T = 393.15 * 'K'; 101 streamhot_in.Outlet.z = [1,0]; 102 streamhot_in.Outlet.P = 740 * 'kPa'; 95 103 #============================================ 96 104 # Cold Stream 97 105 #============================================ 98 streamcold_in. F = 122 * "mol/s";99 streamcold_in. T = 333.15 * "K";100 streamcold_in. z = [0,1];101 streamcold_in. P = 2210 *"kPa";106 streamcold_in.Outlet.F = 122 * 'mol/s'; 107 streamcold_in.Outlet.T = 333.15 * 'K'; 108 streamcold_in.Outlet.z = [0,1]; 109 streamcold_in.Outlet.P = 2210 *'kPa'; 102 110 #===================================================================== 103 111 # Baffle Spacing 104 112 #===================================================================== 105 exchanger.Baffles.Ls = 0.622 *"m";106 exchanger.Baffles.Lsi = 0.807 * "m";113 exchanger.Baffles.Ls = 0.622 *'m'; 114 exchanger.Baffles.Lsi = 0.807 *'m'; 107 115 #===================================================================== 108 116 # Fouling 109 117 #===================================================================== 110 exchanger.Resistances.Rfi = 0.0018* "m^2*K/kW";111 exchanger.Resistances.Rfo = 0.0021* "m^2*K/kW";118 exchanger.Resistances.Rfi = 0.0018*'m^2*K/kW'; 119 exchanger.Resistances.Rfo = 0.0021*'m^2*K/kW'; 112 120 113 121 OPTIONS 114 122 115 mode = "steady"; 123 Dynamic = false; 124 GuessFile = "D:\@Bicca\2007\Testes\Detalhados\EshellDetailedNTUbranch.rlt"; 116 125 117 126 end
Note: See TracChangeset
for help on using the changeset viewer.