Changeset 45
- Timestamp:
- Nov 7, 2006, 2:11:10 PM (17 years ago)
- Location:
- mso
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
mso/eml/heat_exchangers/HEX_Engine.mso
r26 r45 147 147 #===================================================================== 148 148 VARIABLES 149 Re as positive(Brief="Tube Side Reynolds Number",Default=1000,Lower=1);150 htube as heat_trans_coeff(Brief="Tube Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6);151 PR as positive(Brief="Tube Side Prandtl Number",Default=0.5,Lower=1e-8);152 PRw as positive(Brief="Tube Side Prandtl Number at Wall Temperature",Default=0.5,Lower=1e-8);153 Phi as positive(Brief="Phi Correction",Default=1,Lower=1e-3);154 Vtube as velocity(Brief="Tube Side Velocity",Lower=1e-8);149 Re as positive (Brief="Tube Side Reynolds Number",Default=1000,Lower=1); 150 htube as heat_trans_coeff (Brief="Tube Side Film Coefficient",Default=1,Lower=1e-12, Upper=1e6); 151 PR as positive (Brief="Tube Side Prandtl Number",Default=0.5,Lower=1e-8); 152 PRw as positive (Brief="Tube Side Prandtl Number at Wall Temperature",Default=0.5,Lower=1e-8); 153 Phi as positive (Brief="Phi Correction",Default=1,Lower=1e-3); 154 Vtube as velocity (Brief="Tube Side Velocity",Lower=1e-8); 155 155 end 156 156 -
mso/eml/heat_exchangers/HeatExchangerDetailed.mso
r26 r45 8 8 9 9 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 10 # Basic Model for Detailed Heat Exchangers10 # Basic Model for Detailed Shell and Tubes Heat Exchangers 11 11 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 12 12 … … 16 16 17 17 ext PP as CalcObject (Brief="External Physical Properties"); 18 ext HE as CalcObject (Brief="STHE Calculations", File="heatex");19 18 ext NComp as Integer (Brief="Number of Components"); 20 M(NComp) as molweight (Brief="Component Mol Weight"); 19 HE as CalcObject (Brief="STHE Calculations",File="heatex"); 20 M(NComp) as molweight (Brief="Component Mol Weight"); 21 21 22 22 VARIABLES 23 23 24 in Inlet as Inlet_Main_Stream; 24 25 out Outlet as Outlet_Main_Stream; … … 39 40 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 40 41 41 "Hot StreamStream Average Temperature"42 "Hot Stream Average Temperature" 42 43 Properties.Hot.Average.T = 0.5*Inlet.Hot.T + 0.5*Outlet.Hot.T; 43 44 … … 45 46 Properties.Cold.Average.T = 0.5*Inlet.Cold.T + 0.5*Outlet.Cold.T; 46 47 47 "Hot StreamStream Average Pressure"48 "Hot Stream Average Pressure" 48 49 Properties.Hot.Average.P = 0.5*Inlet.Hot.P+0.5*Outlet.Hot.P; 49 50 … … 62 63 then 63 64 64 " Heat Capacity Cold Stream"65 "Cold Stream Average Heat Capacity" 65 66 Properties.Cold.Average.Cp = PP.LiquidCp(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 67 68 "Cold Stream Inlet Heat Capacity" 66 69 Properties.Cold.Inlet.Cp = PP.LiquidCp(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 70 71 "Cold Stream Outlet Heat Capacity" 67 72 Properties.Cold.Outlet.Cp = PP.LiquidCp(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 68 73 69 " Mass Density Cold Stream"74 "Cold Stream Average Mass Density" 70 75 Properties.Cold.Average.rho = PP.LiquidDensity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 76 77 "Cold Stream Inlet Mass Density" 71 78 Properties.Cold.Inlet.rho = PP.LiquidDensity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 79 80 "Cold Stream Outlet Mass Density" 72 81 Properties.Cold.Outlet.rho = PP.LiquidDensity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 73 82 74 " Viscosity Cold Stream"83 "Cold Stream Average Viscosity" 75 84 Properties.Cold.Average.Mu = PP.LiquidViscosity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 85 86 "Cold Stream inlet Viscosity" 76 87 Properties.Cold.Inlet.Mu = PP.LiquidViscosity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 88 89 "Cold Stream Outlet Viscosity" 77 90 Properties.Cold.Outlet.Mu = PP.LiquidViscosity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 78 91 79 "Co nductivity Cold Stream"92 "Cold Stream Average Conductivity" 80 93 Properties.Cold.Average.K = PP.LiquidThermalConductivity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 94 95 "Cold Stream Inlet Conductivity" 81 96 Properties.Cold.Inlet.K = PP.LiquidThermalConductivity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 97 98 "Cold Stream Outlet Conductivity" 82 99 Properties.Cold.Outlet.K = PP.LiquidThermalConductivity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 83 100 84 " Heat Capacity Cold Stream"101 "Cold Stream Heat Capacity at Wall Temperature" 85 102 Properties.Cold.Wall.Cp = PP.LiquidCp(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 86 103 87 " Viscosity Cold Stream"104 "Cold Stream Viscosity at Wall Temperature" 88 105 Properties.Cold.Wall.Mu = PP.LiquidViscosity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 89 106 90 "Co nductivity Cold Stream"107 "Cold Stream Conductivity at Wall Temperature" 91 108 Properties.Cold.Wall.K = PP.LiquidThermalConductivity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 92 109 … … 94 111 else 95 112 96 " Heat Capacity Cold Stream"113 "Cold Stream Average Heat Capacity" 97 114 Properties.Cold.Average.Cp = PP.VapourCp(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 115 116 "Cold Stream Inlet Heat Capacity" 98 117 Properties.Cold.Inlet.Cp = PP.VapourCp(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 118 119 "Cold Stream Outlet Heat Capacity" 99 120 Properties.Cold.Outlet.Cp = PP.VapourCp(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 100 121 101 " Mass Density Cold Stream"122 "Cold Stream Average Mass Density" 102 123 Properties.Cold.Average.rho = PP.VapourDensity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 124 125 "Cold Stream Inlet Mass Density" 103 126 Properties.Cold.Inlet.rho = PP.VapourDensity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 127 128 "Cold Stream Outlet Mass Density" 104 129 Properties.Cold.Outlet.rho = PP.VapourDensity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 105 130 106 " Viscosity Cold Stream"131 "Cold Stream Average Viscosity " 107 132 Properties.Cold.Average.Mu = PP.VapourViscosity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 133 134 "Cold Stream Inlet Viscosity " 108 135 Properties.Cold.Inlet.Mu = PP.VapourViscosity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 136 137 "Cold Stream Outlet Viscosity " 109 138 Properties.Cold.Outlet.Mu = PP.VapourViscosity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 110 139 111 "Co nductivity Cold Stream"140 "Cold Stream Average Conductivity " 112 141 Properties.Cold.Average.K = PP.VapourThermalConductivity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 142 143 "Cold Stream Inlet Conductivity " 113 144 Properties.Cold.Inlet.K = PP.VapourThermalConductivity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 145 146 "Cold Stream Outlet Conductivity " 114 147 Properties.Cold.Outlet.K = PP.VapourThermalConductivity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 115 148 116 " Heat Capacity Cold Stream"149 "Cold Stream Heat Capacity at Wall Temperature" 117 150 Properties.Cold.Wall.Cp = PP.VapourCp(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 118 151 119 152 120 " Viscosity Cold Stream"153 "Cold Stream Viscosity at Wall Temperature" 121 154 Properties.Cold.Wall.Mu = PP.VapourViscosity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 122 155 123 "Co nductivity Cold Stream"156 "Cold Stream Conductivity at Wall Temperature" 124 157 Properties.Cold.Wall.K = PP.VapourThermalConductivity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 125 158 … … 271 304 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 272 305 ext PP as CalcObject (Brief="External Physical Properties"); 273 ext HE as CalcObject (Brief="STHE Calculations",File="heatex");274 306 side as Integer (Brief="Fluid Alocation Flag",Lower=0,Upper=1); 275 307 Pi as constant (Brief="Pi Number",Default=3.14159265); 276 277 308 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 278 309 # Shell Geometrical Parameters # … … 417 448 then 418 449 419 "Wall Temperature" 420 # Properties.Hot.Wall.Twall = HE.WallTemperature(Properties.Hot.Average.T,Properties.Cold.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 421 422 # Properties.Cold.Wall.Twall = HE.WallTemperature(Properties.Cold.Average.T,Properties.Hot.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 423 424 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 425 426 Properties.Cold.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 450 "Hot Wall Temperature" 451 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 452 453 "ColdWall Temperature" 454 Properties.Cold.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 427 455 428 456 "Tube Side Velocity" 429 Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Properties.Cold.Inlet.Fw,Properties.Cold.Average.rho);457 Tubes.HeatTransfer.Vtube = Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Properties.Cold.Average.rho*Ntt); 430 458 431 459 "Tube Side Reynolds Number" 432 Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Properties.Cold.Average.rho,Tubes.HeatTransfer.Vtube,Properties.Cold.Average.Mu);460 Tubes.HeatTransfer.Re = (Properties.Cold.Average.rho*Tubes.HeatTransfer.Vtube*Ditube)/Properties.Cold.Average.Mu; 433 461 434 462 "Tube Side Prandtl Number" 435 Tubes.HeatTransfer.PR = HE.PrandtlNumber(Properties.Cold.Average.K,Properties.Cold.Average.Cp,Properties.Cold.Average.Mw,Properties.Cold.Average.Mu);463 Tubes.HeatTransfer.PR = ((Properties.Cold.Average.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Average.Mu)/Properties.Cold.Average.K; 436 464 437 465 "Tube Side Prandtl Number at Wall Temperature" 438 Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Properties.Cold.Wall.K,Properties.Cold.Wall.Cp,Properties.Cold.Average.Mw,Properties.Cold.Wall.Mu);466 Tubes.HeatTransfer.PRw = ((Properties.Cold.Wall.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Wall.Mu)/Properties.Cold.Wall.K; 439 467 440 468 "Tube Side Film Coefficient" 441 Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Tubes.HeatTransfer.Re,Tubes.HeatTransfer.PR,Properties.Cold.Average.K ,Tubes.HeatTransfer.Phi);442 469 Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Tubes.HeatTransfer.Re,Tubes.HeatTransfer.PR,Properties.Cold.Average.K)*Tubes.HeatTransfer.Phi; 470 443 471 "Shell Side Prandtl Number" 444 Shell.HeatTransfer.PR =HE.PrandtlNumber(Properties.Hot.Average.K,Properties.Hot.Average.Cp,Properties.Hot.Average.Mw,Properties.Hot.Average.Mu);472 Shell.HeatTransfer.PR = ((Properties.Hot.Average.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Average.Mu)/Properties.Hot.Average.K; 445 473 446 474 "Shell Side Prandtl Number at Wall Temperature" 447 Shell.HeatTransfer.PRw = HE.PrandtlNumber(Properties.Hot.Wall.K,Properties.Hot.Wall.Cp,Properties.Hot.Average.Mw,Properties.Hot.Wall.Mu);475 Shell.HeatTransfer.PRw = ((Properties.Hot.Wall.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Wall.Mu)/Properties.Hot.Wall.K; 448 476 449 477 "Tube Side Pressure Drop" … … 483 511 else 484 512 485 "Wall Temperature" 486 # Properties.Cold.Wall.Twall = HE.WallTemperature(Properties.Cold.Average.T,Properties.Hot.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 487 488 # Properties.Hot.Wall.Twall = HE.WallTemperature(Properties.Hot.Average.T,Properties.Cold.Average.T,Tubes.HeatTransfer.htube,Shell.HeatTransfer.hshell); 489 490 491 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 492 493 Properties.Cold.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 513 "Hot Wall Temperature" 514 Properties.Hot.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 515 516 "Cold Wall Temperature" 517 Properties.Cold.Wall.Twall = (Properties.Hot.Average.T+Properties.Cold.Average.T)/2; 494 518 495 519 "Tube Side Velocity" 496 Tubes.HeatTransfer.Vtube =HE.TubeVelocity(Properties.Hot.Inlet.Fw,Properties.Hot.Average.rho);520 Tubes.HeatTransfer.Vtube = Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Properties.Hot.Average.rho*Ntt); 497 521 498 522 "Tube Side Reynolds Number" 499 Tubes.HeatTransfer.Re= HE.TubeReynoldsNumber(Properties.Hot.Average.rho,Tubes.HeatTransfer.Vtube,Properties.Hot.Average.Mu);500 523 Tubes.HeatTransfer.Re=(Properties.Hot.Average.rho*Tubes.HeatTransfer.Vtube*Ditube)/Properties.Hot.Average.Mu; 524 501 525 "Tube Side Prandtl Number" 502 Tubes.HeatTransfer.PR =HE.PrandtlNumber(Properties.Hot.Average.K,Properties.Hot.Average.Cp,Properties.Hot.Average.Mw,Properties.Hot.Average.Mu);526 Tubes.HeatTransfer.PR = ((Properties.Hot.Average.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Average.Mu)/Properties.Hot.Average.K; 503 527 504 528 "Tube Side Prandtl Number at Wall" 505 Tubes.HeatTransfer.PRw =HE.PrandtlNumber(Properties.Hot.Wall.K,Properties.Hot.Wall.Cp,Properties.Hot.Average.Mw,Properties.Hot.Wall.Mu);529 Tubes.HeatTransfer.PRw = ((Properties.Hot.Wall.Cp/Properties.Hot.Average.Mw)*Properties.Hot.Wall.Mu)/Properties.Hot.Wall.K; 506 530 507 531 "Tube Side Film Coefficient" 508 Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Tubes.HeatTransfer.Re,Tubes.HeatTransfer.PR,Properties.Hot.Average.K ,Tubes.HeatTransfer.Phi);532 Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Tubes.HeatTransfer.Re,Tubes.HeatTransfer.PR,Properties.Hot.Average.K)*Tubes.HeatTransfer.Phi; 509 533 510 534 "Shell Side Prandtl Number" 511 Shell.HeatTransfer.PR =HE.PrandtlNumber(Properties.Cold.Average.K,Properties.Cold.Average.Cp,Properties.Cold.Average.Mw,Properties.Cold.Average.Mu);535 Shell.HeatTransfer.PR = ((Properties.Cold.Average.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Average.Mu)/Properties.Cold.Average.K; 512 536 513 537 "Shell Side Prandtl Number at Wall" 514 Shell.HeatTransfer.PRw= HE.PrandtlNumber(Properties.Cold.Wall.K,Properties.Cold.Wall.Cp,Properties.Cold.Average.Mw,Properties.Cold.Wall.Mu);538 Shell.HeatTransfer.PRw=((Properties.Cold.Wall.Cp/Properties.Cold.Average.Mw)*Properties.Cold.Wall.Mu)/Properties.Cold.Wall.K; 515 539 516 540 "Tube Side Pressure Drop" … … 546 570 "Pressure Drop Cold Stream" 547 571 Outlet.Cold.P = Inlet.Cold.P - Shell.PressureDrop.Pdtotal; 548 549 572 550 573 end … … 598 621 599 622 VARIABLES 600 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=5); 601 Fc as positive (Brief="LMTD Correction Factor",Lower=0.4); 602 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=5); 623 DT0 as temp_delta (Brief="Temperature Difference at Inlet",Lower=1); 624 DTL as temp_delta (Brief="Temperature Difference at Outlet",Lower=1); 625 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=5); 626 Fc as positive (Brief="LMTD Correction Factor",Lower=0.4); 627 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=5); 603 628 604 629 EQUATIONS 630 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 631 # Log Mean Temperature Difference 632 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 633 if abs(DT0 - DTL) > 0.05*max(abs([DT0,DTL])) 634 635 then 636 "Log Mean Temperature Difference" 637 LMTD= (DT0-DTL)/ln(DT0/DTL); 638 639 else 640 641 if DT0*DTL equal 0 642 643 then 644 "Log Mean Temperature Difference" 645 LMTD = 0.5*(DT0+DTL); 646 647 else 648 "Log Mean Temperature Difference" 649 LMTD = 0.5*(DT0+DTL)*(1-(DT0-DTL)^2/(DT0*DTL)*(1+(DT0-DTL)^2/(DT0*DTL)/2)/12); 650 651 end 652 653 end 605 654 606 655 "Exchange Surface Area" … … 608 657 609 658 "Mean Temperature Difference" 610 MTD 659 MTD = Fc*LMTD; 611 660 612 661 end … … 630 679 631 680 "Shell Side Reynolds Number" 632 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Hot.Average.Mu);681 Shell.HeatTransfer.Re=(Dotube*Properties.Hot.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Hot.Average.Mu; 633 682 634 683 "Shell Heat Transfer Coefficient" 635 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Hot.Average.Cp,Properties.Hot.Average.Mw,Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);684 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; 636 685 637 686 "Shell Pressure Drop Cross Flow" … … 648 697 649 698 "Shell Side Reynolds Number" 650 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Cold.Average.Mu);699 Shell.HeatTransfer.Re=(Dotube*Properties.Cold.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Cold.Average.Mu; 651 700 652 701 "Shell Heat Transfer Coefficient" 653 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Cold.Average.Cp,Properties.Cold.Average.Mw,Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);702 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; 654 703 655 704 "Shell Pressure Drop Cross Flow" … … 691 740 692 741 "Shell Side Reynolds Number" 693 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Hot.Average.Mu);742 Shell.HeatTransfer.Re=(Dotube*Properties.Hot.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Hot.Average.Mu; 694 743 695 744 "Shell Heat Transfer Coefficient" 696 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Hot.Average.Cp,Properties.Hot.Average.Mw,Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);745 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; 697 746 698 747 "Shell Pressure Drop Cross Flow" … … 709 758 710 759 "Shell Side Reynolds Number" 711 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Cold.Average.Mu);760 Shell.HeatTransfer.Re=(Dotube*Properties.Cold.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Cold.Average.Mu; 712 761 713 762 "Shell Heat Transfer Coefficient" 714 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Cold.Average.Cp,Properties.Cold.Average.Mw,Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);763 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; 715 764 716 765 "Shell Pressure Drop Cross Flow" … … 735 784 PARAMETERS 736 785 737 Nshell as Integer (Brief="N Shell in Series",Default=2);738 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll");739 ext PP as CalcObject (Brief="External Physical Properties");740 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1);741 Pi as constant (Brief="Pi Number",Default=3.14159265);786 Nshell as Integer (Brief="N Shell in Series",Default=2); 787 ext PP as CalcObject (Brief="External Physical Properties"); 788 HE as CalcObject (Brief="heatex Calculations", File="heatex"); 789 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); 790 Pi as constant (Brief="Pi Number",Default=3.14159265); 742 791 743 792 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# … … 780 829 781 830 Unity([1:Nshell-1]).Outlet.Hot to Unity([2:Nshell]).Inlet.Hot; 782 Unity([2:Nshell]).Outlet.Cold to Unity([1:Nshell-1]).Inlet.Cold;831 Unity([2:Nshell]).Outlet.Cold to Unity([1:Nshell-1]).Inlet.Cold; 783 832 784 833 EQUATIONS … … 790 839 791 840 "Ji Factor" 792 Unity(i).Shell.HeatTransfer.Ji = 841 Unity(i).Shell.HeatTransfer.Ji =HE.JiFactor(Unity(i).Shell.HeatTransfer.Re); 793 842 794 843 "Jc Factor" … … 841 890 842 891 "Tube Side Velocity" 843 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Properties.Cold.Average.rho);892 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 844 893 845 894 "Tube Side Reynolds Number" 846 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Cold.Average.Mu);847 895 Unity(i).Tubes.HeatTransfer.Re=(Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 896 848 897 "Tube Side Prandtl Number" 849 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);898 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 850 899 851 900 "Tube Side Prandtl Number at Wall Temperature" 852 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);901 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 853 902 854 903 "Tube Side Film Coefficient" 855 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K ,Unity(i).Tubes.HeatTransfer.Phi);904 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 856 905 857 906 "Shell Side Prandtl Number" 858 Unity(i).Shell.HeatTransfer.PR= HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);907 Unity(i).Shell.HeatTransfer.PR=((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 859 908 860 909 "Shell Side Prandtl Number at Wall Temperature" 861 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);910 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 862 911 863 912 "Tube Side Pressure Drop" … … 904 953 905 954 "Tube Side Velocity" 906 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Properties.Hot.Average.rho);955 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 907 956 908 957 "Tube Side Reynolds Number" 909 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Hot.Average.Mu);958 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 910 959 911 960 "Tube Side Prandtl Number" 912 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);961 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 913 962 914 963 "Tube Side Prandtl Number at Wall" 915 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);964 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 916 965 917 966 "Tube Side Film Coefficient" 918 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K ,Unity(i).Tubes.HeatTransfer.Phi);967 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 919 968 920 969 "Shell Side Prandtl Number" 921 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);970 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 922 971 923 972 "Shell Side Prandtl Number at Wall" 924 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);973 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 925 974 926 975 "Tube Side Pressure Drop" … … 1009 1058 1010 1059 "Shell Side Reynolds Number" 1011 Unity(i).Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.Mu);1060 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1012 1061 1013 1062 "Shell Heat Transfer Coefficient" 1014 Unity(i).Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);1063 Unity(i).Shell.HeatTransfer.hshell=Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*(Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1015 1064 1016 1065 "Shell Pressure Drop Cross Flow" … … 1027 1076 1028 1077 "Shell Side Reynolds Number" 1029 Unity(i).Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.Mu);1078 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1030 1079 1031 1080 "Shell Heat Transfer Coefficient" 1032 Unity(i).Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);1081 Unity(i).Shell.HeatTransfer.hshell=Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*(Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1033 1082 1034 1083 "Shell Pressure Drop Cross Flow" … … 1087 1136 Fc = HE.EshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 1088 1137 1089 "Counter Flow LMTD" 1090 LMTD = HE.CounterLMTD(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 1091 1138 "Temperature Difference at Inlet" 1139 DT0 = Inlet.Hot.T - Outlet.Cold.T; 1140 1141 "Temperature Difference at Outlet" 1142 DTL = Outlet.Hot.T - Inlet.Cold.T; 1143 1092 1144 "Js Factor" 1093 1145 Shell.HeatTransfer.Js = HE.JsFactor(Shell.HeatTransfer.Re,Baffles.Lsi,Baffles.Lso,Baffles.Ls); … … 1098 1150 1099 1151 "Shell Side Reynolds Number" 1100 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Hot.Average.Mu);1152 Shell.HeatTransfer.Re=(Dotube*Properties.Hot.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Hot.Average.Mu; 1101 1153 1102 1154 "Shell Heat Transfer Coefficient" 1103 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Hot.Average.Cp,Properties.Hot.Average.Mw,Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);1155 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; 1104 1156 1105 1157 "Shell Pressure Drop Cross Flow" … … 1116 1168 1117 1169 "Shell Side Reynolds Number" 1118 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Cold.Average.Mu);1170 Shell.HeatTransfer.Re=(Dotube*Properties.Cold.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Cold.Average.Mu; 1119 1171 1120 1172 "Shell Heat Transfer Coefficient" 1121 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Cold.Average.Cp,Properties.Cold.Average.Mw,Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);1173 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; 1122 1174 1123 1175 "Shell Pressure Drop Cross Flow" … … 1147 1199 Fc = HE.FshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 1148 1200 1149 "Counter Flow LMTD" 1150 LMTD = HE.CounterLMTD(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 1151 1201 "Temperature Difference at Inlet" 1202 DT0 = Inlet.Hot.T - Outlet.Cold.T; 1203 1204 "Temperature Difference at Outlet" 1205 DTL = Outlet.Hot.T - Inlet.Cold.T; 1206 1152 1207 "Js Factor" 1153 1208 Shell.HeatTransfer.Js = HE.JsFactor(Shell.HeatTransfer.Re,Baffles.Lsi,Baffles.Lso,Baffles.Ls); … … 1158 1213 1159 1214 "Shell Side Reynolds Number" 1160 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Hot.Average.Mu);1215 Shell.HeatTransfer.Re=(Dotube*Properties.Hot.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Hot.Average.Mu; 1161 1216 1162 1217 "Shell Heat Transfer Coefficient" 1163 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Hot.Average.Cp,Properties.Hot.Average.Mw,Properties.Hot.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);1218 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; 1164 1219 1165 1220 "Shell Pressure Drop Cross Flow" … … 1176 1231 1177 1232 "Shell Side Reynolds Number" 1178 Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Properties.Cold.Average.Mu);1233 Shell.HeatTransfer.Re=(Dotube*Properties.Cold.Inlet.Fw/Shell.HeatTransfer.Sm)/Properties.Cold.Average.Mu; 1179 1234 1180 1235 "Shell Heat Transfer Coefficient" 1181 Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Shell.HeatTransfer.Ji,Properties.Cold.Average.Cp,Properties.Cold.Average.Mw,Properties.Cold.Inlet.Fw,Shell.HeatTransfer.Sm,Shell.HeatTransfer.PR,Shell.HeatTransfer.Jtotal,Shell.HeatTransfer.Phi);1236 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; 1182 1237 1183 1238 "Shell Pressure Drop Cross Flow" … … 1193 1248 end 1194 1249 1195 1196 1197 1250 end 1198 1251 … … 1204 1257 1205 1258 Nshell as Integer (Brief="N Shell in Series",Default=2); 1206 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll");1259 HE as CalcObject (Brief="STHE Calculations",File="heatex"); 1207 1260 ext PP as CalcObject (Brief="External Physical Properties"); 1208 1261 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); … … 1313 1366 1314 1367 "Tube Side Velocity" 1315 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Properties.Cold.Average.rho);1368 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 1316 1369 1317 1370 "Tube Side Reynolds Number" 1318 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Cold.Average.Mu);1319 1371 Unity(i).Tubes.HeatTransfer.Re=(Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 1372 1320 1373 "Tube Side Prandtl Number" 1321 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);1374 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 1322 1375 1323 1376 "Tube Side Prandtl Number at Wall" 1324 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);1377 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 1325 1378 1326 1379 "Tube Side Film Coefficient" 1327 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K ,Unity(i).Tubes.HeatTransfer.Phi);1380 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1328 1381 1329 1382 "Shell Side Prandtl Number" 1330 Unity(i).Shell.HeatTransfer.PR= HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);1383 Unity(i).Shell.HeatTransfer.PR=((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 1331 1384 1332 1385 "Shell Side Prandtl Number at Wall" 1333 Unity(i).Shell.HeatTransfer.PRw= HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);1386 Unity(i).Shell.HeatTransfer.PRw=((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 1334 1387 1335 1388 "Tube Side Pressure Drop" … … 1376 1429 1377 1430 "Tube Side Velocity" 1378 Unity(i).Tubes.HeatTransfer.Vtube =HE.TubeVelocity(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Properties.Hot.Average.rho);1431 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 1379 1432 1380 1433 "Tube Side Reynolds Number" 1381 Unity(i).Tubes.HeatTransfer.Re= HE.TubeReynoldsNumber(Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Hot.Average.Mu);1434 Unity(i).Tubes.HeatTransfer.Re=(Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 1382 1435 1383 1436 "Tube Side Prandtl Number" 1384 Unity(i).Tubes.HeatTransfer.PR= HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);1437 Unity(i).Tubes.HeatTransfer.PR=((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 1385 1438 1386 1439 "Tube Side Prandtl Number at Wall" 1387 Unity(i).Tubes.HeatTransfer.PRw= HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);1440 Unity(i).Tubes.HeatTransfer.PRw=((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 1388 1441 1389 1442 "Tube Side Film Coefficient" 1390 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K ,Unity(i).Tubes.HeatTransfer.Phi);1443 Unity(i).Tubes.HeatTransfer.htube= HE.TubeFilmCoeff(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K)*Unity(i).Tubes.HeatTransfer.Phi; 1391 1444 1392 1445 "Shell Side Prandtl Number" 1393 Unity(i).Shell.HeatTransfer.PR= HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);1446 Unity(i).Shell.HeatTransfer.PR=((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 1394 1447 1395 1448 "Shell Side Prandtl Number at Wall" 1396 Unity(i).Shell.HeatTransfer.PRw= HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);1449 Unity(i).Shell.HeatTransfer.PRw=((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 1397 1450 1398 1451 "Tube Side Pressure Drop" … … 1432 1485 end 1433 1486 1487 if side equal 1 1488 1489 then 1490 1491 "Shell Side inlet Nozzle rho-V^2" 1492 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Hot.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1493 1494 "Shell Side Outlet Nozzle rho-V^2" 1495 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Hot.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1496 1497 else 1498 1499 "Shell Side inlet Nozzle rho-V^2" 1500 Unity(i).Shell.PressureDrop.RVsquare_in = Unity(i).Properties.Cold.Inlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_in)^2; 1501 1502 "Shell Side Outlet Nozzle rho-V^2" 1503 Unity(i).Shell.PressureDrop.RVsquare_out = Unity(i).Properties.Cold.Outlet.rho*(Unity(i).Shell.PressureDrop.Vnozzle_out)^2; 1504 1505 end 1506 1434 1507 "Tube Resistance" 1435 1508 Unity(i).Resistances.Rtube*(Unity(i).Tubes.HeatTransfer.htube*Ditube) = Dotube; … … 1464 1537 1465 1538 "Shell Side Reynolds Number" 1466 Unity(i).Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.Mu);1539 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1467 1540 1468 1541 "Shell Heat Transfer Coefficient" 1469 Unity(i).Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);1542 Unity(i).Shell.HeatTransfer.hshell=Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*(Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1470 1543 1471 1544 "Shell Pressure Drop Cross Flow" … … 1482 1555 1483 1556 "Shell Side Reynolds Number" 1484 Unity(i).Shell.HeatTransfer.Re= HE.ShellReynoldsNumber(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.Mu);1557 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1485 1558 1486 1559 "Shell Heat Transfer Coefficient" 1487 Unity(i).Shell.HeatTransfer.hshell= HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);1560 Unity(i).Shell.HeatTransfer.hshell=Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*(Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1488 1561 1489 1562 "Shell Pressure Drop Cross Flow" -
mso/eml/heat_exchangers/HeatExchangerDiscretized.mso
r26 r45 16 16 17 17 ext PP as CalcObject(Brief="External Physical Properties"); 18 extHE as CalcObject(Brief="STHE Calculations",File="heatex");18 HE as CalcObject(Brief="STHE Calculations",File="heatex"); 19 19 ext NComp as Integer (Brief="Number of Components"); 20 20 M(NComp) as molweight (Brief="Component Mol Weight"); … … 279 279 280 280 VARIABLES 281 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=5); 282 Fc as positive (Brief="LMTD Correction Factor",Lower=0.5); 283 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=1); 281 DT0 as temp_delta (Brief="Temperature Difference at Inlet",Lower=1); 282 DTL as temp_delta (Brief="Temperature Difference at Outlet",Lower=1); 283 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=5); 284 Fc as positive (Brief="LMTD Correction Factor",Lower=0.5); 285 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=1); 284 286 285 287 EQUATIONS … … 290 292 MTD = Fc*LMTD; 291 293 292 "LMTD Correction Factor" 293 Fc = HE.EshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 294 295 "LMTD" 296 LMTD = HE.CounterLMTD(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 297 294 #"LMTD Correction Factor" 295 # Fc = HE.EshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 296 297 "Temperature Difference at Inlet" 298 DT0 = Inlet.Hot.T - Outlet.Cold.T; 299 300 "Temperature Difference at Outlet" 301 DTL = Outlet.Hot.T - Inlet.Cold.T; 302 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 303 # Log Mean Temperature Difference 304 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 305 if abs(DT0 - DTL) > 0.05*max(abs([DT0,DTL])) 306 307 then 308 "Log Mean Temperature Difference" 309 LMTD= (DT0-DTL)/ln(DT0/DTL); 310 311 else 312 313 if DT0*DTL equal 0 314 315 then 316 "Log Mean Temperature Difference" 317 LMTD = 0.5*(DT0+DTL); 318 319 else 320 "Log Mean Temperature Difference" 321 LMTD = 0.5*(DT0+DTL)*(1-(DT0-DTL)^2/(DT0*DTL)*(1+(DT0-DTL)^2/(DT0*DTL)/2)/12); 322 323 end 324 325 end 326 327 298 328 end 299 329 … … 332 362 PARAMETERS 333 363 334 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll");364 HE as CalcObject (Brief="STHE Calculations",File="heatex"); 335 365 ext PP as CalcObject (Brief="External Physical Properties"); 336 366 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); … … 601 631 602 632 "Shell Side Reynolds Number" 603 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.Mu);633 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 604 634 605 635 "Shell Heat Transfer Coefficient" 606 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);636 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*(Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 607 637 608 638 … … 617 647 618 648 "Tube Side Velocity" 619 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Properties.Cold.Average.rho);649 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 620 650 621 651 "Tube Side Reynolds Number" 622 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Cold.Average.Mu);652 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 623 653 624 654 "Tube Side Prandtl Number" 625 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);655 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 626 656 627 657 "Tube Side Prandtl Number at Wall" 628 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);658 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 629 659 630 660 "Tube Side Film Coefficient" 631 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K, 632 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lz(i)); 661 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 633 662 634 663 "Shell Side Prandtl Number" 635 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);664 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 636 665 637 666 "Shell Side Prandtl Number at Wall" 638 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);667 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 639 668 640 669 "Tube Side Pressure Drop" … … 657 686 658 687 "Shell Side Reynolds Number" 659 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.Mu);688 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 660 689 661 690 "Shell Heat Transfer Coefficient" 662 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,663 Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);691 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)* 692 (Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 664 693 665 694 … … 667 696 Unity(i).Shell.PressureDrop.Pdwindow = HE.DeltaPwindowIncremental(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.rho,Unity(i).Properties.Cold.Average.Mu,Unity(i).Baffles.Ls); 668 697 669 670 698 "Hot Wall Temperature" 671 699 Unity(i).Properties.Hot.Wall.Twall = (Unity(i).Properties.Hot.Average.T+Unity(i).Properties.Cold.Average.T)/2; … … 675 703 676 704 "Tube Side Velocity" 677 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Properties.Hot.Average.rho);705 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 678 706 679 707 "Tube Side Reynolds Number" 680 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Hot.Average.Mu);708 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 681 709 682 710 "Tube Side Prandtl Number" 683 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);711 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 684 712 685 713 "Tube Side Prandtl Number at Wall" 686 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu); 687 714 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 688 715 689 716 "Tube Side Film Coefficient" 690 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K, 691 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lz(i)); 717 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 692 718 693 719 "Shell Side Prandtl Number" 694 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);720 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 695 721 696 722 "Shell Side Prandtl Number at Wall" 697 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);723 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 698 724 699 725 "Tube Side Pressure Drop" … … 821 847 PARAMETERS 822 848 823 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll");849 HE as CalcObject (Brief="STHE Calculations",File="heatex"); 824 850 ext PP as CalcObject (Brief="External Physical Properties"); 825 851 side as Integer (Brief="Fluid Alocation",Lower=0,Upper=1); … … 929 955 Unity(Nb+1).Shell.HeatTransfer.Sm = HE.CrossFlowArea(Unity(Nb+1).Baffles.Lso); 930 956 957 "LMTD Correction Factor" 958 Unity.Fc = HE.EshellCorrectionFactor(Unity(1).Inlet.Hot.T,Unity(Nb+1).Outlet.Hot.T,Unity(Nb+1).Inlet.Cold.T,Unity(1).Outlet.Cold.T); 931 959 932 960 if side equal 1 … … 1079 1107 1080 1108 for i in [1:Nb+1] 1081 1109 1110 1082 1111 if side equal 1 1083 1112 … … 1090 1119 1091 1120 "Shell Side Reynolds Number" 1092 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Hot.Average.Mu);1121 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Hot.Average.Mu; 1093 1122 1094 1123 "Shell Heat Transfer Coefficient" 1095 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi); 1096 1124 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*(Unity(i).Properties.Hot.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1097 1125 1098 1126 "Shell Pressure Baffle Window" … … 1106 1134 1107 1135 "Tube Side Velocity" 1108 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Properties.Cold.Average.rho);1136 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Cold.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Cold.Average.rho*Ntt); 1109 1137 1110 1138 "Tube Side Reynolds Number" 1111 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Cold.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Cold.Average.Mu);1139 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Cold.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Cold.Average.Mu; 1112 1140 1113 1141 "Tube Side Prandtl Number" 1114 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);1142 Unity(i).Tubes.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 1115 1143 1116 1144 "Tube Side Prandtl Number at Wall" 1117 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);1145 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 1118 1146 1119 1147 "Tube Side Film Coefficient" 1120 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K, 1121 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lz(i)); 1148 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Cold.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 1122 1149 1123 1150 "Shell Side Prandtl Number" 1124 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);1151 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 1125 1152 1126 1153 "Shell Side Prandtl Number at Wall" 1127 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);1154 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 1128 1155 1129 1156 "Tube Side Pressure Drop" … … 1146 1173 1147 1174 "Shell Side Reynolds Number" 1148 Unity(i).Shell.HeatTransfer.Re = HE.ShellReynoldsNumber(Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Properties.Cold.Average.Mu);1175 Unity(i).Shell.HeatTransfer.Re=(Dotube*Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)/Unity(i).Properties.Cold.Average.Mu; 1149 1176 1150 1177 "Shell Heat Transfer Coefficient" 1151 Unity(i).Shell.HeatTransfer.hshell = HE.ShellFilmCoeff(Unity(i).Shell.HeatTransfer.Ji,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,1152 Unity(i).Properties.Cold.Inlet.Fw,Unity(i).Shell.HeatTransfer.Sm,Unity(i).Shell.HeatTransfer.PR,Unity(i).Shell.HeatTransfer.Jtotal,Unity(i).Shell.HeatTransfer.Phi);1178 Unity(i).Shell.HeatTransfer.hshell =Unity(i).Shell.HeatTransfer.Ji*(Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)* 1179 (Unity(i).Properties.Cold.Inlet.Fw/Unity(i).Shell.HeatTransfer.Sm)*(Unity(i).Shell.HeatTransfer.PR^(-2/3))*Unity(i).Shell.HeatTransfer.Jtotal*Unity(i).Shell.HeatTransfer.Phi; 1153 1180 1154 1181 … … 1164 1191 1165 1192 "Tube Side Velocity" 1166 Unity(i).Tubes.HeatTransfer.Vtube = HE.TubeVelocity(Unity(i).Properties.Hot.Inlet.Fw,Unity(i).Properties.Hot.Average.rho);1193 Unity(i).Tubes.HeatTransfer.Vtube = Unity(i).Properties.Hot.Inlet.Fw*Tpass/((Pi*Ditube*Ditube/4)*Unity(i).Properties.Hot.Average.rho*Ntt); 1167 1194 1168 1195 "Tube Side Reynolds Number" 1169 Unity(i).Tubes.HeatTransfer.Re = HE.TubeReynoldsNumber(Unity(i).Properties.Hot.Average.rho,Unity(i).Tubes.HeatTransfer.Vtube,Unity(i).Properties.Hot.Average.Mu);1196 Unity(i).Tubes.HeatTransfer.Re = (Unity(i).Properties.Hot.Average.rho*Unity(i).Tubes.HeatTransfer.Vtube*Ditube)/Unity(i).Properties.Hot.Average.Mu; 1170 1197 1171 1198 "Tube Side Prandtl Number" 1172 Unity(i).Tubes.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Hot.Average.K,Unity(i).Properties.Hot.Average.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Average.Mu);1199 Unity(i).Tubes.HeatTransfer.PR =((Unity(i).Properties.Hot.Average.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Average.Mu)/Unity(i).Properties.Hot.Average.K; 1173 1200 1174 1201 "Tube Side Prandtl Number at Wall" 1175 Unity(i).Tubes.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Hot.Wall.K,Unity(i).Properties.Hot.Wall.Cp,Unity(i).Properties.Hot.Average.Mw,Unity(i).Properties.Hot.Wall.Mu);1202 Unity(i).Tubes.HeatTransfer.PRw = ((Unity(i).Properties.Hot.Wall.Cp/Unity(i).Properties.Hot.Average.Mw)*Unity(i).Properties.Hot.Wall.Mu)/Unity(i).Properties.Hot.Wall.K; 1176 1203 1177 1204 1178 1205 "Tube Side Film Coefficient" 1179 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K, 1180 Unity(i).Tubes.HeatTransfer.Phi,Sumary.Lz(i)); 1206 Unity(i).Tubes.HeatTransfer.htube = HE.TubeFilmCoeffIncremental(Unity(i).Tubes.HeatTransfer.Re,Unity(i).Tubes.HeatTransfer.PR,Unity(i).Properties.Hot.Average.K,Sumary.Lz(i))*Unity(i).Tubes.HeatTransfer.Phi; 1181 1207 1182 1208 "Shell Side Prandtl Number" 1183 Unity(i).Shell.HeatTransfer.PR = HE.PrandtlNumber(Unity(i).Properties.Cold.Average.K,Unity(i).Properties.Cold.Average.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Average.Mu);1209 Unity(i).Shell.HeatTransfer.PR = ((Unity(i).Properties.Cold.Average.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Average.Mu)/Unity(i).Properties.Cold.Average.K; 1184 1210 1185 1211 "Shell Side Prandtl Number at Wall" 1186 Unity(i).Shell.HeatTransfer.PRw = HE.PrandtlNumber(Unity(i).Properties.Cold.Wall.K,Unity(i).Properties.Cold.Wall.Cp,Unity(i).Properties.Cold.Average.Mw,Unity(i).Properties.Cold.Wall.Mu);1212 Unity(i).Shell.HeatTransfer.PRw = ((Unity(i).Properties.Cold.Wall.Cp/Unity(i).Properties.Cold.Average.Mw)*Unity(i).Properties.Cold.Wall.Mu)/Unity(i).Properties.Cold.Wall.K; 1187 1213 1188 1214 "Tube Side Pressure Drop" -
mso/eml/heat_exchangers/HeatExchangerSimplified.mso
r26 r45 1 1 #-------------------------------------------------------------------- 2 # Author: Gerson Balbueno Bicca 3 # $Id$ 4 #-------------------------------------------------------------------- 2 5 using "HEX_Engine"; 3 6 #===================================================================== … … 7 10 PARAMETERS 8 11 ext PP as CalcObject (Brief="External Physical Properties"); 9 ext HE as CalcObject (Brief="STHE Calculations",File="heatex.dll");12 HE as CalcObject (Brief="STHE Calculations",File="heatex"); 10 13 ext NComp as Integer (Brief="Number of Components"); 11 14 M(NComp) as molweight (Brief="Component Mol Weight"); … … 54 57 then 55 58 "Heat Capacity Cold Stream" 56 Properties.Cold.Average.Cp = PP.LiquidCp(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z);59 Properties.Cold.Average.Cp = PP.LiquidCp(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 57 60 Properties.Cold.Inlet.Cp = PP.LiquidCp(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 58 61 Properties.Cold.Outlet.Cp = PP.LiquidCp(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); … … 61 64 Properties.Cold.Average.rho = PP.LiquidDensity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 62 65 Properties.Cold.Inlet.rho = PP.LiquidDensity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 63 Properties.Cold.Outlet.rho = PP.LiquidDensity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z);66 Properties.Cold.Outlet.rho = PP.LiquidDensity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 64 67 65 68 "Viscosity Cold Stream" 66 Properties.Cold.Average.Mu = PP.LiquidViscosity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z);67 Properties.Cold.Inlet.Mu = 68 Properties.Cold.Outlet.Mu = PP.LiquidViscosity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z);69 Properties.Cold.Average.Mu = PP.LiquidViscosity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 70 Properties.Cold.Inlet.Mu = PP.LiquidViscosity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 71 Properties.Cold.Outlet.Mu = PP.LiquidViscosity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 69 72 70 73 "Conductivity Cold Stream" 71 Properties.Cold.Average.K = PP.LiquidThermalConductivity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z);72 Properties.Cold.Inlet.K =PP.LiquidThermalConductivity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z);73 Properties.Cold.Outlet.K = 74 Properties.Cold.Average.K = PP.LiquidThermalConductivity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 75 Properties.Cold.Inlet.K = PP.LiquidThermalConductivity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 76 Properties.Cold.Outlet.K = PP.LiquidThermalConductivity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 74 77 75 78 "Heat Capacity Cold Stream" … … 77 80 78 81 "Viscosity Cold Stream" 79 Properties.Cold.Wall.Mu = PP.LiquidViscosity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z);82 Properties.Cold.Wall.Mu = PP.LiquidViscosity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 80 83 81 84 "Conductivity Cold Stream" 82 Properties.Cold.Wall.K = PP.LiquidThermalConductivity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z);85 Properties.Cold.Wall.K = PP.LiquidThermalConductivity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 83 86 84 87 … … 92 95 "Mass Density Cold Stream" 93 96 Properties.Cold.Average.rho = PP.VapourDensity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 94 Properties.Cold.Inlet.rho = PP.VapourDensity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z);95 Properties.Cold.Outlet.rho = PP.VapourDensity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z);97 Properties.Cold.Inlet.rho = PP.VapourDensity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 98 Properties.Cold.Outlet.rho = PP.VapourDensity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 96 99 97 100 "Viscosity Cold Stream" 98 Properties.Cold.Average.Mu = PP.VapourViscosity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z);99 Properties.Cold.Inlet.Mu =PP.VapourViscosity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z);100 Properties.Cold.Outlet.Mu =PP.VapourViscosity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z);101 Properties.Cold.Average.Mu = PP.VapourViscosity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 102 Properties.Cold.Inlet.Mu = PP.VapourViscosity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 103 Properties.Cold.Outlet.Mu = PP.VapourViscosity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 101 104 102 105 "Conductivity Cold Stream" 103 Properties.Cold.Average.K = PP.VapourThermalConductivity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z);104 Properties.Cold.Inlet.K =PP.VapourThermalConductivity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z);105 Properties.Cold.Outlet.K =PP.VapourThermalConductivity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z);106 Properties.Cold.Average.K = PP.VapourThermalConductivity(Properties.Cold.Average.T,Properties.Cold.Average.P,Inlet.Cold.z); 107 Properties.Cold.Inlet.K = PP.VapourThermalConductivity(Inlet.Cold.T,Inlet.Cold.P,Inlet.Cold.z); 108 Properties.Cold.Outlet.K = PP.VapourThermalConductivity(Outlet.Cold.T,Outlet.Cold.P,Outlet.Cold.z); 106 109 107 110 "Heat Capacity Cold Stream" 108 Properties.Cold.Wall.Cp = PP.VapourCp(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z);111 Properties.Cold.Wall.Cp = PP.VapourCp(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 109 112 110 113 111 114 "Viscosity Cold Stream" 112 Properties.Cold.Wall.Mu = PP.VapourViscosity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z);115 Properties.Cold.Wall.Mu = PP.VapourViscosity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 113 116 114 117 "Conductivity Cold Stream" 115 Properties.Cold.Wall.K = PP.VapourThermalConductivity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z);118 Properties.Cold.Wall.K = PP.VapourThermalConductivity(Properties.Cold.Wall.Twall,Properties.Cold.Average.P,Inlet.Cold.z); 116 119 117 120 … … 140 143 "Conductivity Hot Stream" 141 144 Properties.Hot.Average.K = PP.LiquidThermalConductivity(Properties.Hot.Average.T,Properties.Hot.Average.P,Inlet.Hot.z); 142 Properties.Hot.Inlet.K = PP.LiquidThermalConductivity(Inlet.Hot.T,Inlet.Hot.P,Inlet.Hot.z);145 Properties.Hot.Inlet.K = PP.LiquidThermalConductivity(Inlet.Hot.T,Inlet.Hot.P,Inlet.Hot.z); 143 146 Properties.Hot.Outlet.K = PP.LiquidThermalConductivity(Outlet.Hot.T,Outlet.Hot.P,Outlet.Hot.z); 144 147 145 148 "Heat Capacity Hot Stream" 146 Properties.Hot.Wall.Cp = PP.LiquidCp(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z);149 Properties.Hot.Wall.Cp = PP.LiquidCp(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z); 147 150 148 151 "Viscosity Hot Stream" 149 Properties.Hot.Wall.Mu = PP.LiquidViscosity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z);152 Properties.Hot.Wall.Mu = PP.LiquidViscosity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z); 150 153 151 154 "Conductivity Hot Stream" 152 Properties.Hot.Wall.K = PP.LiquidThermalConductivity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z);155 Properties.Hot.Wall.K = PP.LiquidThermalConductivity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z); 153 156 154 157 … … 172 175 "Conductivity Hot Stream" 173 176 Properties.Hot.Average.K = PP.VapourThermalConductivity(Properties.Hot.Average.T,Properties.Hot.Average.P,Inlet.Hot.z); 174 Properties.Hot.Inlet.K = PP.VapourThermalConductivity(Inlet.Hot.T,Inlet.Hot.P,Inlet.Hot.z);177 Properties.Hot.Inlet.K = PP.VapourThermalConductivity(Inlet.Hot.T,Inlet.Hot.P,Inlet.Hot.z); 175 178 Properties.Hot.Outlet.K = PP.VapourThermalConductivity(Outlet.Hot.T,Outlet.Hot.P,Outlet.Hot.z); 176 179 177 180 "Heat Capacity Hot Stream" 178 Properties.Hot.Wall.Cp = PP.VapourCp(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z);181 Properties.Hot.Wall.Cp = PP.VapourCp(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z); 179 182 180 183 "Viscosity Hot Stream" 181 Properties.Hot.Wall.Mu = PP.VapourViscosity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z);184 Properties.Hot.Wall.Mu = PP.VapourViscosity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z); 182 185 183 186 "Conductivity Hot Stream" 184 Properties.Hot.Wall.K = PP.VapourThermalConductivity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z);187 Properties.Hot.Wall.K = PP.VapourThermalConductivity(Properties.Hot.Wall.Twall,Properties.Hot.Average.P,Inlet.Hot.z); 185 188 186 189 … … 195 198 "Cold Stream Heat Capacity" 196 199 Details.Cc =Inlet.Cold.F*Properties.Cold.Average.Cp; 197 198 "Heat Capacity Ratio" 199 200 Details.Cmin = min([Details.Ch,Details.Cc]); 201 Details.Cmax = max([Details.Ch,Details.Cc]); 202 Details.Cr = Details.Cmin/Details.Cmax; 200 201 "Minimum Heat Capacity" 202 Details.Cmin = min([Details.Ch,Details.Cc]); 203 204 "Maximum Heat Capacity" 205 Details.Cmax = max([Details.Ch,Details.Cc]); 206 207 "Heat Capacity Ratio" 208 Details.Cr = Details.Cmin/Details.Cmax; 203 209 #===================================================================== 204 210 # Energy Balance … … 285 291 # Basic Model for Heat Exchangers - LMTD Method 286 292 #===================================================================== 287 288 293 VARIABLES 289 294 295 DT0 as temp_delta (Brief="Temperature Difference at Inlet",Lower=1); 296 DTL as temp_delta (Brief="Temperature Difference at Outlet",Lower=1); 290 297 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference",Lower=1); 291 298 Fc as positive (Brief="LMTD Correction Factor",Lower=0.5); 292 MTD as temp_delta (Brief="Mean Temperature Difference"); 293 294 EQUATIONS 299 MTD as temp_delta (Brief="Mean Temperature Difference",Lower=1); 300 301 EQUATIONS 302 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 303 # Log Mean Temperature Difference 304 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 305 if abs(DT0 - DTL) > 0.05*max(abs([DT0,DTL])) 306 307 then 308 "Log Mean Temperature Difference" 309 LMTD= (DT0-DTL)/ln(DT0/DTL); 310 311 else 312 313 if DT0*DTL equal 0 314 315 then 316 "Log Mean Temperature Difference" 317 LMTD = 0.5*(DT0+DTL); 318 319 else 320 "Log Mean Temperature Difference" 321 LMTD = 0.5*(DT0+DTL)*(1-(DT0-DTL)^2/(DT0*DTL)*(1+(DT0-DTL)^2/(DT0*DTL)/2)/12); 322 323 end 324 325 end 295 326 296 327 "Exchange Surface Area" … … 313 344 Model HeatExchanger_LMTD as Heatex_Basic_LMTD 314 345 315 EQUATIONS 316 317 "Cocurrent Flow LMTD" 318 LMTD = HE.LogMeanTemperature(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 346 PARAMETERS 347 348 Side as Integer (Brief="Flow Direction",Lower=0,Upper=1); 349 350 SET 351 352 Side = HE.FlowDir(); # Return Flow Direction 353 354 EQUATIONS 355 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 356 # Flow Direction 357 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 358 if Side equal 0 359 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 360 # Cocurrent Flow 361 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 362 then 363 "Temperature Difference at Inlet" 364 DT0 = Inlet.Hot.T - Inlet.Cold.T; 365 366 "Temperature Difference at Outlet" 367 DTL = Outlet.Hot.T - Outlet.Cold.T; 368 369 else 370 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 371 # Counter Flow 372 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 373 "Temperature Difference at Inlet" 374 DT0 = Inlet.Hot.T - Outlet.Cold.T; 375 376 "Temperature Difference at Outlet" 377 DTL = Outlet.Hot.T - Inlet.Cold.T; 378 end 319 379 320 380 end … … 325 385 #===================================================================== 326 386 EQUATIONS 327 328 "Counter Flow LMTD" 329 LMTD = HE.CounterLMTD(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 330 387 "Temperature Difference at Inlet" 388 DT0 = Inlet.Hot.T - Outlet.Cold.T; 389 390 "Temperature Difference at Outlet" 391 DTL = Outlet.Hot.T - Inlet.Cold.T; 392 331 393 "LMTD Correction Factor" 332 394 Fc = HE.EshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); … … 339 401 #===================================================================== 340 402 EQUATIONS 341 342 "Counter Flow LMTD" 343 LMTD = HE.CounterLMTD(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); 344 403 "Temperature Difference at Inlet" 404 DT0 = Inlet.Hot.T - Outlet.Cold.T; 405 406 "Temperature Difference at Outlet" 407 DTL = Outlet.Hot.T - Inlet.Cold.T; 408 345 409 "LMTD Correction Factor" 346 410 Fc = HE.FshellCorrectionFactor(Inlet.Hot.T,Outlet.Hot.T,Inlet.Cold.T,Outlet.Cold.T); -
mso/eml/heat_exchangers/Mheatex.mso
r26 r45 13 13 * $Id$ 14 14 *--------------------------------------------------------------------*# 15 15 16 using "streams.mso"; 16 17 17 Model Parameters 18 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 19 # Heat Exchanger External Parameters 20 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 21 PARAMETERS 22 23 ext PP as CalcObject (Brief="Physical Properties"); 24 ext NComp as Integer (Brief="Number of Components"); 25 ext Ncold as Integer (Brief="Number of Inlet Cold Streams",Lower=1); 26 ext Nhot as Integer (Brief="Number of Inlet Hot Streams",Lower=1); 27 28 end 29 30 Model Inlet_Main_Stream as Parameters 18 Model Inlet_Main_Stream 31 19 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 32 20 # Inlet Streams 33 21 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 22 PARAMETERS 23 24 Ncold as Integer (Brief="Number of Inlet Cold Streams",Lower=1); 25 Nhot as Integer (Brief="Number of Inlet Hot Streams",Lower=1); 26 34 27 VARIABLES 35 28 36 Hot(Nhot)as stream;# Inlet Hot Streams37 Cold(Ncold) as stream;# Inlet Cold Streams29 Hot (Nhot) as stream;# Inlet Hot Streams 30 Cold (Ncold) as stream;# Inlet Cold Streams 38 31 39 32 end 40 33 41 Model Outlet_Main_Stream as Parameters34 Model Outlet_Main_Stream 42 35 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 43 36 # Outlet Streams 44 37 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 38 PARAMETERS 39 40 Ncold as Integer (Brief="Number of Inlet Cold Streams",Lower=1); 41 Nhot as Integer (Brief="Number of Inlet Hot Streams",Lower=1); 42 45 43 VARIABLES 46 44 47 Hot(Nhot)as stream_therm;# Outlet Hot Streams48 Cold(Ncold) as stream_therm;# Outlet Cold Streams45 Hot (Nhot) as stream_therm;# Outlet Hot Streams 46 Cold (Ncold) as stream_therm;# Outlet Cold Streams 49 47 50 48 end … … 56 54 PARAMETERS 57 55 58 ext HE as CalcObject (Brief="Cold Box Calculations",File="Heatex.dll"); 56 ext PP as CalcObject (Brief="Physical Properties"); 57 ext NComp as Integer (Brief="Number of Components"); 58 HE as CalcObject (Brief="Cold Box Calculations",File="heatex"); 59 59 Side as Integer (Brief="Flow Direction",Lower=0,Upper=1); 60 61 SET 62 63 Side = HE.FlowDir(); 64 60 Ncold as Integer (Brief="Number of Inlet Cold Streams",Lower=1); 61 Nhot as Integer (Brief="Number of Inlet Hot Streams",Lower=1); 62 65 63 VARIABLES 66 64 … … 71 69 LMTD as temp_delta (Brief="Logarithmic Mean Temperature Difference"); 72 70 UA as positive (Unit="W/K"); 73 71 72 SET 73 74 Side = HE.FlowDir(); 75 76 Inlet.Ncold = Ncold; 77 Outlet.Ncold = Ncold; 78 79 Inlet.Nhot = Nhot ; 80 Outlet.Nhot = Nhot ; 81 82 74 83 EQUATIONS 75 84 -
mso/eml/heat_exchangers/heater.mso
r26 r45 22 22 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 23 23 PARAMETERS 24 ext PP as CalcObject(Brief="Physical Properties");25 ext NComp as Integer(Brief="Number of Components");26 ext Ninlet as Integer(Brief="Number of Inlet Streams",Lower=1);24 ext PP as CalcObject(Brief="Physical Properties"); 25 ext NComp as Integer (Brief="Number of Components"); 26 Ninlet as Integer (Brief="Number of Inlet Streams",Lower=1); 27 27 28 28 VARIABLES 29 29 in Inlet(Ninlet) as stream; #(Brief="Inlet Streams") 30 30 out Outlet as stream_therm;#(Brief="Outlet Stream") 31 Q as power (Brief ="Heat Transfer");31 Q as power (Brief = "Heat Transfer"); 32 32 Vfrac as fraction (Brief = "Vapor fraction Outlet Stream"); 33 33 Lfrac as fraction (Brief = "Liquid fraction Outlet Stream"); … … 45 45 end 46 46 47 48 47 "Outlet Vapourisation Fraction" 49 48 Outlet.v = PP.VapourFraction(Outlet.T,Outlet.P,Outlet.z); … … 58 57 59 58 Model Heater as Heater_Cooler_Basic 60 59 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 60 # Heater 61 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 61 62 EQUATIONS 62 63 … … 67 68 68 69 Model Cooler as Heater_Cooler_Basic 69 70 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 71 # Cooler 72 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# 70 73 EQUATIONS 71 74 -
mso/sample/heat_exchangers/Eshell_Detailed_LMTD.mso
r26 r45 1 2 #=============================================================== 3 # Heat Exchanger TEMA E Shell - LMTD Method 4 # converge após várias tentativas 5 #=============================================================== 1 6 2 7 using "Heat_exchangers/HeatExchangerDetailed.mso"; 3 8 4 #===============================================================5 # Heat Exchanger TEMA E Shell - LMTD Method6 #===============================================================7 9 FlowSheet Exchanger_E_shell_Detailed_LMTD 8 10 9 11 DEVICES 12 10 13 exchanger as E_Shell_LMTD_Det; 11 14 streamhot_in as streamTP; … … 13 16 14 17 CONNECTIONS 18 15 19 streamhot_in to exchanger.Inlet.Hot; 16 20 streamcold_in to exchanger.Inlet.Cold; 17 21 18 22 PARAMETERS 23 19 24 PP as CalcObject (File="vrpp"); 20 25 NComp as Integer; 21 HE as CalcObject (File="Heatex");22 26 23 27 SET 24 28 #=============================================================== 29 # Heat Exchanger Options 30 #=============================================================== 25 31 PP.Components = ["water"]; 26 HE.HotSide = "Shell";27 HE.LMTDcorrection = "Bowmann";28 # HE.LMTDcorrection = "Fakeri";29 32 PP.LiquidModel = "RK"; 30 33 PP.VapourModel = "RK"; 31 34 NComp = PP.NumberOfComponents; 35 36 exchanger.HE.HotSide = "Shell"; 37 38 # LMTD Correction Factor 39 exchanger.HE.LMTDcorrection = "Fakeri"; 40 # exchanger.HE.LMTDcorrection = "Bowmann"; 41 42 # Heat Transfer Correlation 43 # exchanger.HE.LaminarFlow = "Schlunder"; 44 # exchanger.HE.TurbulentFlow = "SiederTate"; 45 # exchanger.HE.TransitionFlow = "GnielinskiII"; 46 32 47 #===================================================================== 33 48 # Shell Geometrical Parameters 34 49 #===================================================================== 35 exchanger.Tpass = 2;50 exchanger.Tpass = 4; 36 51 exchanger.Dishell = 0.75 *"m"; 37 52 exchanger.Lcf = 0.043 *"m"; … … 80 95 # Baffle Spacing 81 96 #===================================================================== 82 exchanger.Baffles.Ls = 0.622 97 exchanger.Baffles.Ls = 0.622 *"m"; 83 98 exchanger.Baffles.Lsi = 0.807 *"m"; 84 99 85 100 OPTIONS 86 mode = "steady"; 87 relativeAccuracy = 1e-6;101 102 mode = "steady"; 88 103 89 104 end -
mso/sample/heat_exchangers/Eshell_Detailed_NTU.mso
r26 r45 1 1 2 2 using "Heat_exchangers/HeatExchangerDetailed.mso"; 3 4 3 #=============================================================== 5 4 # Heat Exchanger TEMA E Shell - NTU Method 5 # erro ao trocar de modelo termodinamico 6 6 #=============================================================== 7 7 FlowSheet Exchanger_E_shell_Detailed_NTU … … 19 19 PP as CalcObject (File="vrpp"); 20 20 NComp as Integer; 21 HE as CalcObject (File="Heatex"); 21 22 SET 23 PP.Components = ["benzene","toluene"]; 24 exchanger.HE.HotSide = "Shell"; 25 PP.LiquidModel = "PR"; 26 PP.VapourModel = "PR"; 27 NComp = PP.NumberOfComponents; 22 28 23 SET 24 PP.Components = ["benzene","toluene"]; 25 HE.HotSide = "Shell"; 26 PP.LiquidModel = "PR"; 27 PP.VapourModel = "PR"; 28 NComp = PP.NumberOfComponents; 29 # Heat Transfer Correlation 30 exchanger.HE.LaminarFlow = "Schlunder"; 31 exchanger.HE.TurbulentFlow = "SiederTate"; 32 exchanger.HE.TransitionFlow = "GnielinskiII"; 33 29 34 #===================================================================== 30 35 # Shell Geometrical Parameters 31 36 #===================================================================== 32 exchanger.Tpass = 4;37 exchanger.Tpass = 2; 33 38 exchanger.Dishell = 0.75 *"m"; 34 39 exchanger.Lcf = 0.043 *"m"; … … 81 86 82 87 OPTIONS 83 mode = "steady"; 84 relativeAccuracy = 1e-6;88 89 mode = "steady"; 85 90 86 91 end -
mso/sample/heat_exchangers/Eshell_Discretized_LMTD.mso
r26 r45 24 24 # Parâmetros 25 25 #=============================================================== 26 PP as CalcObject (File="vrpp .dll");26 PP as CalcObject (File="vrpp"); 27 27 NComp as Integer; 28 HE as CalcObject (File="Heatex.dll");29 28 30 29 SET … … 33 32 #=============================================================== 34 33 PP.Components = ["benzene","toluene"]; 35 HE.HotSide = "Shell"; 36 HE.LMTDcorrection = "Fakeri"; 34 exchanger.HE.HotSide = "Shell"; 37 35 PP.LiquidModel = "PR"; 38 36 PP.VapourModel = "PR"; 39 37 NComp = PP.NumberOfComponents; 38 39 exchanger.HE.LMTDcorrection = "Fakeri"; 40 # exchanger.HE.LaminarFlow = "Schlunder"; 41 # exchanger.HE.TurbulentFlow = "SiederTate"; 42 # exchanger.HE.TransitionFlow = "GnielinskiII"; 40 43 #===================================================================== 41 44 # Parâmetros geométricos do casco … … 76 79 streamhot_in.F = 40 * "mol/s"; 77 80 streamhot_in.T = 393.15* "K"; 78 streamhot_in.v = 0 ;79 81 streamhot_in.z = [1,0] ; 82 streamhot_in.v = 0 ; 80 83 streamhot_in.P = 740 * "kPa"; 81 84 #============================================ … … 84 87 streamcold_in.F = 122 * "mol/s"; 85 88 streamcold_in.T = 333.15 * "K"; 89 streamcold_in.z = [0,1]; 86 90 streamcold_in.v = 0; 87 streamcold_in.z = [0,1];88 91 streamcold_in.P = 2210*"kPa"; 89 92 #===================================================================== … … 98 101 #============================================ 99 102 mode = "steady"; 100 relativeAccuracy = 1e-6;101 103 102 104 end -
mso/sample/heat_exchangers/Eshell_Discretized_NTU.mso
r26 r45 24 24 # Parâmetros 25 25 #=============================================================== 26 PP as CalcObject (File="vrpp .dll");26 PP as CalcObject (File="vrpp"); 27 27 NComp as Integer; 28 HE as CalcObject (File="Heatex.dll");29 28 30 29 SET … … 33 32 #=============================================================== 34 33 PP.Components = ["benzene","toluene"]; 35 HE.HotSide = "Shell";36 #HE.TurbulentFlow = "SiederTate";37 PP.LiquidModel = " PR";38 PP.VapourModel = " PR";34 exchanger.HE.HotSide = "Shell"; 35 exchanger.HE.TurbulentFlow = "SiederTate"; 36 PP.LiquidModel = "RK"; 37 PP.VapourModel = "RK"; 39 38 NComp = PP.NumberOfComponents; 40 39 #===================================================================== … … 97 96 # Simulation Options 98 97 #============================================ 99 mode = "steady"; 100 relativeAccuracy = 1e-6; 98 mode = "steady"; 101 99 102 100 end -
mso/sample/heat_exchangers/MheaterTeste.mso
r26 r45 29 29 streamcold2 as stream_therm; 30 30 31 PARAMETERS 32 33 PP as CalcObject (File="vrpp"); 34 NComp as Integer (Brief="Number Components"); 35 36 SET 37 38 PP.LiquidModel = "RK"; 39 PP.VapourModel = "RK"; 40 PP.Components = ["water","methanol","benzene"]; 41 NComp = PP.NumberOfComponents; 42 43 44 Mheater.HE.FlowDirection = "Cocurrent"; 45 Mheater.Ncold = 2; 46 Mheater.Nhot = 2; 47 31 48 CONNECTIONS 32 49 … … 36 53 streamcold2 to Mheater.Inlet.Cold(2); 37 54 38 PARAMETERS39 55 40 PP as CalcObject (File="vrpp.dll");41 HE as CalcObject (File="heatex.dll");42 NComp as Integer (Brief="Number Components");43 Ncold as Integer (Brief="Number of Inlet Cold Streams");44 Nhot as Integer (Brief="Number of Inlet Hot Streams");45 46 SET47 48 PP.LiquidModel = "RK";49 PP.VapourModel = "RK";50 PP.Components = ["water","methanol","benzene"];51 NComp = PP.NumberOfComponents;52 Nhot = 2;53 Ncold = 2;54 # HE.FlowDirection = "Cocurrent";55 HE.FlowDirection = "Counter";56 56 57 57 … … 104 104 OPTIONS 105 105 106 mode = "steady"; 107 relativeAccuracy = 1e-8; 106 mode = "steady"; 108 107 109 108 end -
mso/sample/heat_exchangers/Mheater_project.mso
r1 r45 38 38 PARAMETERS 39 39 40 PP as CalcObject (File="vrpp .dll");41 HE as CalcObject (File="heatex.dll");40 PP as CalcObject (File="vrpp"); 41 # HE as CalcObject (File="heatex"); 42 42 NComp as Integer (Brief="Number Components"); 43 43 Ncold as Integer (Brief="Number of Inlet Cold Streams"); … … 50 50 PP.Components = ["water","methanol","benzene"]; 51 51 NComp = PP.NumberOfComponents; 52 Nhot = 2;53 Ncold = 2;54 HE.FlowDirection = "Cocurrent";52 Mheater.Nhot = 2; 53 Mheater.Ncold = 2; 54 Mheater.HE.FlowDirection = "Cocurrent"; 55 55 # HE.FlowDirection = "Counter"; 56 56 … … 105 105 106 106 mode = "steady"; 107 outputLevel = "all";108 107 relativeAccuracy = 1e-8; 109 108 -
mso/sample/heat_exchangers/Multipass_Detailed.mso
r26 r45 24 24 # Parâmetros 25 25 #=============================================================== 26 PP as CalcObject (File="vrpp .dll");26 PP as CalcObject (File="vrpp"); 27 27 NComp as Integer; 28 HE as CalcObject (File="Heatex.dll");29 28 30 29 SET … … 33 32 #=============================================================== 34 33 PP.Components = ["benzene","toluene"]; 35 HE.HotSide = "Shell";36 #HE.TurbulentFlow = "SiederTate";34 exchanger.HE.HotSide = "Shell"; 35 exchanger.HE.TurbulentFlow = "SiederTate"; 37 36 PP.LiquidModel = "PR"; 38 37 PP.VapourModel = "PR"; … … 100 99 #============================================ 101 100 mode = "steady"; 102 relativeAccuracy = 1e-6;103 101 104 102 end -
mso/sample/heat_exchangers/NTU_Method.mso
r40 r45 20 20 PARAMETERS 21 21 22 PP as CalcObject (File="vrpp ");23 HE as CalcObject (File="heatex ");22 PP as CalcObject (File="vrpp.dll"); 23 HE as CalcObject (File="heatex.dll"); 24 24 NComp as Integer; 25 25 -
mso/sample/heat_exchangers/Sample_Simplified.mso
r7 r45 16 16 PARAMETERS 17 17 PP as CalcObject (File="vrpp"); 18 HE as CalcObject (File="Heatex");19 18 NComp as Integer; 20 19 SET … … 25 24 NComp = PP.NumberOfComponents; 26 25 27 # HE.FlowDirection = "Cocurrent";28 HE.FlowDirection = "Counter";26 # exchanger.HE.FlowDirection = "Cocurrent"; 27 exchanger.HE.FlowDirection = "Counter"; 29 28 30 29 SPECIFY … … 68 67 PARAMETERS 69 68 PP as CalcObject (File="vrpp"); 70 HE as CalcObject (File="Heatex");71 69 NComp as Integer; 72 70 SET … … 77 75 NComp = PP.NumberOfComponents; 78 76 79 #HE.FlowDirection = "Cocurrent";80 77 exchanger.HE.FlowDirection = "Cocurrent"; 78 # exchanger.HE.FlowDirection = "Counter"; 81 79 82 80 SPECIFY … … 100 98 101 99 OPTIONS 102 mode = "steady"; 103 relativeAccuracy = 1e-6; 104 100 mode = "steady"; 105 101 end 106 102 -
mso/sample/heat_exchangers/heater_project.mso
r1 r45 25 25 PARAMETERS 26 26 27 PP as CalcObject (File="vrpp .dll");27 PP as CalcObject (File="vrpp"); 28 28 NComp as Integer; 29 Ninlet as Integer (Brief="Number of Inlet Streams");30 29 31 30 SET … … 36 35 PP.Components = ["water"]; 37 36 NComp = PP.NumberOfComponents; 38 Ninlet = 1;37 heater.Ninlet = 1; 39 38 40 39 SPECIFY … … 55 54 56 55 mode = "steady"; 57 relativeAccuracy = 1e-8;58 59 56 60 57 end … … 77 74 PP as CalcObject (File="vrpp.dll"); 78 75 NComp as Integer; 79 Ninlet as Integer (Brief="Number of Inlet Streams");80 76 81 77 SET … … 85 81 PP.Components = ["water"]; 86 82 NComp = PP.NumberOfComponents; 87 Ninlet = 1;83 cooler.Ninlet = 1; 88 84 89 85 SPECIFY … … 103 99 OPTIONS 104 100 105 mode = "steady"; 106 relativeAccuracy = 1e-8; 101 mode = "steady"; 107 102 108 103 -
mso/sample/heat_exchangers/sampleEshell.mso
r26 r45 7 7 8 8 PP as CalcObject (Brief="Physical Properties",File="vrpp"); 9 HE as CalcObject (Brief="Heat Exchangers Calculations",File="Heatex"); 10 NComp as Integer; 9 NComp as Integer; 11 10 12 11 SET … … 40 39 streamcold.T = 300 * "K"; 41 40 streamcold.z = [0,0.5, 0.1, 0.4]; 42 exchanger.Outlet.Cold.T = 3 50*"K";41 exchanger.Outlet.Cold.T = 347*"K"; 43 42 44 43 OPTIONS -
mso/sample/heat_exchangers/sampleEshell_LMTD.mso
r26 r45 6 6 PARAMETERS 7 7 8 PP as CalcObject (Brief="Physical Properties",File="vrpp"); 9 HE as CalcObject (Brief="Heat Exchangers Calculations",File="Heatex"); 10 NComp as Integer; 8 PP as CalcObject (Brief="Physical Properties",File="vrpp"); 9 NComp as Integer; 11 10 12 SET13 14 PP.LiquidModel = "PR";15 PP.VapourModel = "PR";16 PP.Components = ["water","n-butane", "benzene", "n-octane" ];17 NComp = PP.NumberOfComponents;18 11 19 12 DEVICES … … 21 14 streamhot as streamTP; 22 15 streamcold as streamTP; 16 17 SET 18 19 PP.LiquidModel = "PR"; 20 PP.VapourModel = "PR"; 21 PP.Components = ["water","n-butane", "benzene", "n-octane" ]; 22 NComp = PP.NumberOfComponents; 23 24 exchanger.HE.LMTDcorrection = "Bowmann"; 25 # HE.LMTDcorrection = "Fakeri"; 23 26 27 24 28 CONNECTIONS 25 29 26 streamhot 30 streamhot to exchanger.Inlet.Hot; 27 31 streamcold to exchanger.Inlet.Cold; 28 32 … … 32 36 exchanger.PressureDrop.Hot.Pdrop = 0.1*"kPa"; 33 37 exchanger.PressureDrop.Cold.Pdrop = 0.2*"kPa"; 38 34 39 streamhot.F = 20 * "kmol/h"; 35 40 streamhot.T = 450 * "K"; 36 41 streamhot.P = 120 * "kPa"; 37 42 streamhot.z = [1,0,0,0]; 43 38 44 streamcold.F = 10 * "kmol/h"; 39 45 streamcold.P = 120 * "kPa"; 40 46 streamcold.T = 300 * "K"; 41 47 streamcold.z = [0,0.5, 0.1, 0.4]; 42 exchanger.Outlet.Cold.T = 350*"K"; 48 49 exchanger.Outlet.Cold.T = 330*"K"; 43 50 44 51 OPTIONS 45 mode 52 mode = "steady"; 46 53 end -
mso/sample/heat_exchangers/sampleLMTD.mso
r26 r45 7 7 8 8 PP as CalcObject (Brief="Physical Properties",File="vrpp"); 9 HE as CalcObject (Brief="Heat Exchangers Calculations",File="Heatex"); 10 NComp as Integer; 9 NComp as Integer; 11 10 12 SET13 11 14 PP.LiquidModel = "PR";15 PP.VapourModel = "PR";16 PP.Components = ["water","n-butane", "benzene", "n-octane" ];17 NComp = PP.NumberOfComponents;18 HE.FlowDirection = "Cocurrent";19 12 20 13 DEVICES … … 22 15 streamhot as streamTP; 23 16 streamcold as streamTP; 24 17 SET 18 19 PP.LiquidModel = "PR"; 20 PP.VapourModel = "PR"; 21 PP.Components = ["water","n-butane", "benzene", "n-octane" ]; 22 NComp = PP.NumberOfComponents; 23 exchanger.HE.FlowDirection = "Cocurrent"; 25 24 CONNECTIONS 26 25 27 streamhot 26 streamhot to exchanger.Inlet.Hot; 28 27 streamcold to exchanger.Inlet.Cold; 29 28 30 29 SPECIFY 31 30 32 exchanger.Fc = 1; 33 exchanger.Details.U = 210*"W/(m^2*K)"; 31 "LMTD Correction Factor" 32 exchanger.Fc = 1; 33 34 "Overall Heat Transfer Coefficient" 35 exchanger.Details.U = 210*"W/(m^2*K)"; 36 34 37 exchanger.PressureDrop.Hot.Pdrop = 0.1*"kPa"; 35 38 exchanger.PressureDrop.Cold.Pdrop = 0.2*"kPa"; 36 streamhot.F = 20 * "kmol/h"; 37 streamhot.T = 450 * "K"; 39 40 streamhot.F = 20 * "kmol/h"; 41 streamhot.T = 450 * "K"; 38 42 streamhot.P = 120 * "kPa"; 39 43 streamhot.z = [1,0,0,0]; 44 40 45 streamcold.F = 10 * "kmol/h"; 41 46 streamcold.P = 120 * "kPa"; 42 47 streamcold.T = 300 * "K"; 43 48 streamcold.z = [0,0.5, 0.1, 0.4]; 44 exchanger.Outlet.Cold.T = 350*"K"; 49 50 exchanger.Outlet.Cold.T = 340*"K"; 45 51 46 52 OPTIONS -
mso/sample/heat_exchangers/sampleNTU.mso
r26 r45 6 6 PARAMETERS 7 7 8 PP as CalcObject (Brief="Physical Properties",File="vrpp"); 9 HE as CalcObject (Brief="Heat Exchangers Calculations",File="Heatex"); 8 PP as CalcObject (Brief="Physical Properties",File="vrpp"); 10 9 NComp as Integer; 11 10 11 12 13 DEVICES 14 exchanger as HeatExchanger_NTU; 15 streamhot as streamTP; 16 streamcold as streamTP; 17 12 18 SET 13 19 … … 16 22 PP.Components = ["water","n-butane", "benzene", "n-octane" ]; 17 23 NComp = PP.NumberOfComponents; 18 HE.FlowDirection = "Cocurrent"; 19 20 DEVICES 21 exchanger as HeatExchanger_NTU; 22 streamhot as streamTP; 23 streamcold as streamTP; 24 24 exchanger.HE.FlowDirection = "Cocurrent"; 25 25 26 CONNECTIONS 26 27 27 28 streamhot to exchanger.Inlet.Hot; 28 streamcold to exchanger.Inlet.Cold;29 streamcold to exchanger.Inlet.Cold; 29 30 30 31 SPECIFY … … 41 42 streamcold.T = 300 * "K"; 42 43 streamcold.z = [0,0.5, 0.1, 0.4]; 43 exchanger.Outlet.Cold.T = 3 50*"K";44 exchanger.Outlet.Cold.T = 340*"K"; 44 45 45 46 OPTIONS 46 mode 47 mode = "steady"; 47 48 end -
mso/sample/heat_exchangers/sample_cooler.mso
r26 r45 14 14 DEVICES 15 15 16 16 17 cooler as Cooler; 17 18 streamcold1 as stream_therm; … … 27 28 PP as CalcObject (File="vrpp"); 28 29 NComp as Integer; 29 Ninlet as Integer (Brief="Number of Inlet Streams");30 30 31 31 SET … … 36 36 PP.Components = ["water","methanol"]; 37 37 NComp = PP.NumberOfComponents; 38 Ninlet= 2;38 cooler.Ninlet = 2; 39 39 40 40 SPECIFY … … 55 55 cooler.Outlet.P = 1 * "atm"; 56 56 57 58 59 57 OPTIONS 60 61 mode = "steady"; 58 mode = "steady"; 62 59 relativeAccuracy = 1e-8; 63 60 -
mso/sample/heat_exchangers/sample_heater.mso
r1 r45 25 25 PARAMETERS 26 26 27 PP as CalcObject (File="vrpp"); 28 NComp as Integer; 29 Ninlet as Integer (Brief="Number of Inlet Streams"); 27 PP as CalcObject (File="vrpp"); 28 NComp as Integer; 30 29 31 30 SET … … 36 35 PP.Components = ["water"]; 37 36 NComp = PP.NumberOfComponents; 38 Ninlet= 1;37 heater.Ninlet = 1; 39 38 40 39 SPECIFY … … 50 49 heater.Outlet.T = 363*"K"; 51 50 heater.Outlet.P = 1 * "atm"; 51 52 52 53 53 … … 55 55 56 56 mode = "steady"; 57 outputLevel = "all";58 relativeAccuracy = 1e-8;59 60 57 61 58 end … … 78 75 PP as CalcObject (File="vrpp"); 79 76 NComp as Integer; 80 Ninlet as Integer (Brief="Number of Inlet Streams");81 77 82 78 SET … … 86 82 PP.Components = ["water"]; 87 83 NComp = PP.NumberOfComponents; 88 Ninlet= 1;84 cooler.Ninlet = 1; 89 85 90 86 SPECIFY … … 105 101 106 102 mode = "steady"; 107 outputLevel = "all";108 relativeAccuracy = 1e-8;109 110 103 111 104 end -
mso/sample/heat_exchangers/samples1.mso
r1 r45 20 20 PARAMETERS 21 21 22 PP as CalcObject (File="vrpp .dll");22 PP as CalcObject (File="vrpp"); 23 23 NComp as Integer; 24 HE as CalcObject (File="Heatex.dll");25 24 26 25 SET … … 30 29 PP.Components = ["water"]; 31 30 NComp = PP.NumberOfComponents; 32 HE.FlowDirection = "Counter";31 exchanger.HE.FlowDirection = "Counter"; 33 32 34 33 SPECIFY … … 64 63 #============================================ 65 64 mode = "steady"; 66 outputLevel = "high";67 relativeAccuracy = 1e-8;68 65 69 66 end -
mso/sample/heat_exchangers/samples2.mso
r26 r45 20 20 PARAMETERS 21 21 22 PP as CalcObject (File="vrpp.dll"); 23 HE as CalcObject (File="heatex.dll"); 22 PP as CalcObject (File="vrpp"); 24 23 NComp as Integer; 25 24 … … 65 64 #============================================ 66 65 mode = "steady"; 67 outputLevel = "all";68 relativeAccuracy = 1e-8;69 66 70 67 end
Note: See TracChangeset
for help on using the changeset viewer.