Changeset 404 for trunk/eml


Ignore:
Timestamp:
Nov 16, 2007, 6:13:36 PM (15 years ago)
Author:
gerson bicca
Message:

added hairpin heat exchanger model (testing)

Location:
trunk/eml/heat_exchangers
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/eml/heat_exchangers/DoublePipe.mso

    r379 r404  
    1919using "HEX_Engine";
    2020
     21
    2122Model DoublePipe_Basic
    2223
     
    3435        M(NComp)        as molweight    (Brief="Component Mol Weight");
    3536       
    36         HotSide                         as Switcher     (Brief="Flag for Fluid Alocation ",Valid=["outer","inner"],Default="outer");
     37        HotSide                         as Switcher             (Brief="Flag for Fluid Alocation ",Valid=["outer","inner"],Default="outer");
    3738        innerFlowRegime         as Switcher     (Brief="Inner Flow Regime ",Valid=["laminar","transition","turbulent"],Default="laminar");
    3839        outerFlowRegime         as Switcher     (Brief="Outer Flow Regime ",Valid=["laminar","transition","turbulent"],Default="laminar");
    3940
    40         InnerLaminarCorrelation         as Switcher             (Brief="Heat Transfer Correlation in Laminar Flow for the Inner Side",Valid=["Hausen","Schlunder"],Default="Hausen");
    41         InnerTransitionCorrelation  as Switcher         (Brief="Heat Transfer Correlation in Transition Flow for the Inner Side",Valid=["Gnielinski","ESDU"],Default="Gnielinski");
    42         InnerTurbulentCorrelation   as Switcher         (Brief="Heat Transfer Correlation in Turbulent Flow for the Inner Side",Valid=["Petukhov","SiederTate"],Default="Petukhov");
     41        InnerLaminarCorrelation         as Switcher     (Brief="Heat Transfer Correlation in Laminar Flow for the Inner Side",Valid=["Hausen","Schlunder"],Default="Hausen");
     42        InnerTransitionCorrelation  as Switcher         (Brief="Heat Transfer Correlation in Transition Flow for the Inner Side",Valid=["Gnielinski","Hausen"],Default="Gnielinski");
     43        InnerTurbulentCorrelation   as Switcher (Brief="Heat Transfer Correlation in Turbulent Flow for the Inner Side",Valid=["Petukhov","SiederTate"],Default="Petukhov");
    4344
    4445        OuterLaminarCorrelation         as Switcher             (Brief="Heat Transfer Correlation in Laminar Flow for the Outer Side",Valid=["Hausen","Schlunder"],Default="Hausen");
    45         OuterTransitionCorrelation  as Switcher         (Brief="Heat Transfer Correlation in Transition Flow for the OuterSide",Valid=["Gnielinski","ESDU"],Default="Gnielinski");
     46        OuterTransitionCorrelation  as Switcher         (Brief="Heat Transfer Correlation in Transition Flow for the OuterSide",Valid=["Gnielinski","Hausen"],Default="Gnielinski");
    4647        OuterTurbulentCorrelation   as Switcher         (Brief="Heat Transfer Correlation in Turbulent Flow for the Outer Side",Valid=["Petukhov","SiederTate"],Default="Petukhov");
    4748
    48         Pi              as constant             (Brief="Pi Number",Default=3.14159265, Symbol = "\pi");
    49         DoInner as length                       (Brief="Outside Diameter of Inner Pipe",Lower=1e-6);
     49        Pi                              as constant             (Brief="Pi Number",Default=3.14159265, Symbol = "\pi");
     50        DoInner         as length                       (Brief="Outside Diameter of Inner Pipe",Lower=1e-6);
    5051        DiInner as length                       (Brief="Inside Diameter of Inner Pipe",Lower=1e-10);
    5152        DiOuter as length                       (Brief="Inside Diameter of Outer pipe",Lower=1e-10);
    52         Lpipe   as length                       (Brief="Effective Tube Length",Lower=0.1, Symbol = "L_{pipe}");
    53         Kwall   as conductivity         (Brief="Tube Wall Material Thermal Conductivity",Default=1.0, Symbol = "K_{wall}");
    54         Rfi             as positive                     (Brief="Inside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0);
    55         Rfo             as positive                     (Brief="Outside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0);
     53        Lpipe           as length                       (Brief="Effective Tube Length of one segment of Pipe",Lower=0.1, Symbol = "L_{pipe}");
     54        Kwall           as conductivity         (Brief="Tube Wall Material Thermal Conductivity",Default=1.0, Symbol = "K_{wall}");
     55        Rfi                     as positive                     (Brief="Inside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0);
     56        Rfo                     as positive                     (Brief="Outside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0);
    5657
    5758VARIABLES
     
    6364
    6465        Details         as Details_Main         (Brief="Some Details in the Heat Exchanger", Symbol=" ");
    65         Inner                   as Main_DoublePipe      (Brief="Inner Side of the Heat Exchanger", Symbol="_{inInner}");
    66         Outer                   as Main_DoublePipe      (Brief="Outer Side of the Heat Exchanger", Symbol="_{inInner}");
     66        Inner                   as Main_DoublePipe      (Brief="Inner Side of the Heat Exchanger", Symbol="_{Inner}");
     67        Outer                   as Main_DoublePipe      (Brief="Outer Side of the Heat Exchanger", Symbol="_{Outer}");
    6768
    6869SET
     
    295296        case "outer":
    296297
    297 "Energy Balance Hot Stream"
     298"Energy Balance Outer Stream"
    298299        Details.Q = InletOuter.F*(InletOuter.h-OutletOuter.h);
    299300
    300 "Energy Balance Cold Stream"
    301         Details.Q = InletInner.F*(OutletInner.h - InletInner.h);
     301"Energy Balance Inner Stream"
     302        Details.Q = InletInner.F*(OutletInner.h-InletInner.h);
    302303
    303304        when InletInner.T > InletOuter.T switchto "inner";
     
    339340        OutletInner.z=InletInner.z;
    340341
    341 "Exchange Surface Area"
     342"Exchange Surface Area for one segment of pipe"
    342343        Details.A=Pi*DoInner*Lpipe;
    343344
     
    429430        Inner.HeatTransfer.Nu*(1+(12.7*sqrt(0.125*Inner.HeatTransfer.fi)*((Inner.HeatTransfer.PR)^(2/3) -1))) = 0.125*Inner.HeatTransfer.fi*(Inner.HeatTransfer.Re-1000)*Inner.HeatTransfer.PR;
    430431
    431         case "ESDU":
    432 
    433 "Nusselt Number"
    434         Inner.HeatTransfer.Nu =1;#to be implemented
     432        case "Hausen":
     433
     434"Nusselt Number"
     435        Inner.HeatTransfer.Nu =0.116*(Inner.HeatTransfer.Re^(0.667)-125)*Inner.HeatTransfer.PR^(0.333)*(1+(DiInner/Lpipe)^0.667);
    435436       
    436437end
     
    500501        Outer.HeatTransfer.Nu*(1+(12.7*sqrt(0.125*Outer.HeatTransfer.fi)*((Outer.HeatTransfer.PR)^(2/3) -1))) = 0.125*Outer.HeatTransfer.fi*(Outer.HeatTransfer.Re-1000)*Outer.HeatTransfer.PR;
    501502
    502         case "ESDU":
    503 
    504 "Nusselt Number"
    505         Outer.HeatTransfer.Nu =1;#to be implemented
     503        case "Hausen":
     504
     505"Nusselt Number"
     506        Outer.HeatTransfer.Nu = 0.116*(Outer.HeatTransfer.Re^(0.667)-125)*Outer.HeatTransfer.PR^(0.333)*(1+(Outer.HeatTransfer.Dh/Lpipe)^0.667);
     507
    506508
    507509"Outer Side Friction Factor for Heat Transfer - transition Flow"
     
    545547        Outer.HeatTransfer.hcoeff= (Outer.HeatTransfer.Nu*Outer.Properties.Average.K/Outer.HeatTransfer.Dh)*Outer.HeatTransfer.Phi;
    546548
     549"Total Pressure Drop Outer Stream"
     550        Outer.PressureDrop.Pdrop  = Outer.PressureDrop.Pd_fric+Outer.PressureDrop.Pd_ret;
     551
     552"Total Pressure Drop Inner Stream"
     553        Inner.PressureDrop.Pdrop  = Inner.PressureDrop.Pd_fric+Inner.PressureDrop.Pd_ret;
     554       
    547555"Pressure Drop Outer Stream"
    548556        OutletOuter.P  = InletOuter.P - Outer.PressureDrop.Pdrop;
     
    552560       
    553561"Outer Pipe Pressure Drop for friction"
    554         Outer.PressureDrop.Pdrop = (2*Outer.PressureDrop.fi*Lpipe*Outer.Properties.Average.rho*Outer.HeatTransfer.Vmean^2)/(Outer.PressureDrop.Dh*Outer.HeatTransfer.Phi);
     562        Outer.PressureDrop.Pd_fric = (2*Outer.PressureDrop.fi*Lpipe*Outer.Properties.Average.rho*Outer.HeatTransfer.Vmean^2)/(Outer.PressureDrop.Dh*Outer.HeatTransfer.Phi);
    555563       
    556564"Inner Pipe Pressure Drop for friction"
    557         Inner.PressureDrop.Pdrop = (2*Inner.PressureDrop.fi*Lpipe*Inner.Properties.Average.rho*Inner.HeatTransfer.Vmean^2)/(DiInner*Inner.HeatTransfer.Phi);
     565        Inner.PressureDrop.Pd_fric = (2*Inner.PressureDrop.fi*Lpipe*Inner.Properties.Average.rho*Inner.HeatTransfer.Vmean^2)/(DiInner*Inner.HeatTransfer.Phi);
     566
     567"Outer Pipe Pressure Drop due to return"
     568        Outer.PressureDrop.Pd_ret = 0*'kPa';
     569
     570"Inner Pipe Pressure Drop due to return"
     571        Inner.PressureDrop.Pd_ret = 0*'kPa';
    558572
    559573"Outer Pipe Phi correction"
     
    777791
    778792end
     793
     794# Testing Hairpin Heat Exchanger (U tube)
     795
     796Model Hairpin_Basic
     797
     798ATTRIBUTES
     799        Pallete         = false;
     800        Brief           = "Basic Equations for hairpin heat exchanger model.";
     801        Info            =
     802        "to be documented.";
     803
     804PARAMETERS
     805
     806outer PP            as Plugin           (Brief="External Physical Properties", Type="PP");
     807outer NComp     as Integer      (Brief="Number of Components");
     808       
     809        M(NComp)        as molweight    (Brief="Component Mol Weight");
     810       
     811        HotSide                         as Switcher             (Brief="Flag for Fluid Alocation ",Valid=["outer","inner"],Default="outer");
     812        innerFlowRegime         as Switcher     (Brief="Inner Flow Regime ",Valid=["laminar","transition","turbulent"],Default="laminar");
     813        outerFlowRegime         as Switcher     (Brief="Outer Flow Regime ",Valid=["laminar","transition","turbulent"],Default="laminar");
     814
     815        InnerLaminarCorrelation         as Switcher     (Brief="Heat Transfer Correlation in Laminar Flow for the Inner Side",Valid=["Hausen","Schlunder"],Default="Hausen");
     816        InnerTransitionCorrelation  as Switcher         (Brief="Heat Transfer Correlation in Transition Flow for the Inner Side",Valid=["Gnielinski","Hausen"],Default="Gnielinski");
     817        InnerTurbulentCorrelation   as Switcher (Brief="Heat Transfer Correlation in Turbulent Flow for the Inner Side",Valid=["Petukhov","SiederTate"],Default="Petukhov");
     818
     819        OuterLaminarCorrelation         as Switcher             (Brief="Heat Transfer Correlation in Laminar Flow for the Outer Side",Valid=["Hausen","Schlunder"],Default="Hausen");
     820        OuterTransitionCorrelation  as Switcher         (Brief="Heat Transfer Correlation in Transition Flow for the OuterSide",Valid=["Gnielinski","Hausen"],Default="Gnielinski");
     821        OuterTurbulentCorrelation   as Switcher         (Brief="Heat Transfer Correlation in Turbulent Flow for the Outer Side",Valid=["Petukhov","SiederTate"],Default="Petukhov");
     822
     823        Pi                              as constant             (Brief="Pi Number",Default=3.14159265, Symbol = "\pi");
     824        DoInner         as length                       (Brief="Outside Diameter of Inner Pipe",Lower=1e-6);
     825        DiInner as length                       (Brief="Inside Diameter of Inner Pipe",Lower=1e-10);
     826        DiOuter as length                       (Brief="Inside Diameter of Outer pipe",Lower=1e-10);
     827        Lpipe           as length                       (Brief="Effective Tube Length of one segment of Pipe",Lower=0.1, Symbol = "L_{pipe}");
     828        Kwall           as conductivity         (Brief="Tube Wall Material Thermal Conductivity",Default=1.0, Symbol = "K_{wall}");
     829        Rfi                     as positive                     (Brief="Inside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0);
     830        Rfo                     as positive                     (Brief="Outside Fouling Resistance",Unit='m^2*K/kW',Default=1e-6,Lower=0);
     831
     832VARIABLES
     833
     834in  InletInner          as stream               (Brief="Inlet Inner Stream", PosX=1, PosY=0.7, Symbol="_{inInner}");   
     835in  InletOuter          as stream               (Brief="Inlet Outer Stream", PosX=0.8, PosY=0, Symbol="_{inOuter}");
     836out OutletInner         as streamPH     (Brief="Outlet Inner Stream", PosX=1, PosY=0.3, Symbol="_{outInner}");
     837out OutletOuter         as streamPH     (Brief="Outlet Outer Stream", PosX=0.8, PosY=1, Symbol="_{outOuter}");
     838
     839        Details         as Details_Main         (Brief="Some Details in the Heat Exchanger", Symbol=" ");
     840        Inner                   as Main_DoublePipe      (Brief="Inner Side of the Heat Exchanger", Symbol="_{Inner}");
     841        Outer                   as Main_DoublePipe      (Brief="Outer Side of the Heat Exchanger", Symbol="_{Outer}");
     842
     843SET
     844
     845#"Component Molecular Weight"
     846        M  = PP.MolecularWeight();
     847       
     848#"Pi Number"
     849        Pi      = 3.14159265;
     850       
     851#"Inner Pipe Cross Sectional Area for Flow"
     852        Inner.HeatTransfer.As=Pi*DiInner*DiInner/4;
     853       
     854#"Outer Pipe Cross Sectional Area for Flow"
     855        Outer.HeatTransfer.As=Pi*(DiOuter*DiOuter - DoInner*DoInner)/4;
     856       
     857#"Inner Pipe Hydraulic Diameter for Heat Transfer"
     858        Inner.HeatTransfer.Dh=DiInner;
     859       
     860#"Outer Pipe Hydraulic Diameter for Heat Transfer"
     861        Outer.HeatTransfer.Dh=(DiOuter*DiOuter-DoInner*DoInner)/DoInner;
     862
     863#"Inner Pipe Hydraulic Diameter for Pressure Drop"
     864        Inner.PressureDrop.Dh=DiInner;
     865       
     866#"Outer Pipe Hydraulic Diameter for Pressure Drop"
     867        Outer.PressureDrop.Dh=DiOuter-DoInner;
     868
     869EQUATIONS
     870
     871"Outer  Stream Average Temperature"
     872        Outer.Properties.Average.T = 0.5*InletOuter.T + 0.5*OutletOuter.T;
     873
     874"Inner Stream Average Temperature"
     875        Inner.Properties.Average.T = 0.5*InletInner.T + 0.5*OutletInner.T;
     876       
     877"Outer Stream Average Pressure"
     878        Outer.Properties.Average.P = 0.5*InletOuter.P+0.5*OutletOuter.P;
     879       
     880"Inner Stream Average Pressure"
     881        Inner.Properties.Average.P = 0.5*InletInner.P+0.5*OutletInner.P;
     882
     883"Inner Stream Wall Temperature"
     884        Inner.Properties.Wall.Twall =   0.5*Outer.Properties.Average.T + 0.5*Inner.Properties.Average.T;
     885
     886"Outer Stream Wall Temperature"
     887        Outer.Properties.Wall.Twall =   0.5*Outer.Properties.Average.T + 0.5*Inner.Properties.Average.T;
     888
     889"Outer Stream Average Molecular Weight"
     890        Outer.Properties.Average.Mw = sum(M*InletOuter.z);
     891
     892"Inner Stream Average Molecular Weight"
     893        Inner.Properties.Average.Mw = sum(M*InletInner.z);
     894
     895if InletInner.v equal 0
     896       
     897        then   
     898
     899"Average Heat Capacity Inner Stream"
     900        Inner.Properties.Average.Cp             =       PP.LiquidCp(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     901
     902"Inlet Heat Capacity Inner Stream"
     903        Inner.Properties.Inlet.Cp                       =       PP.LiquidCp(InletInner.T,InletInner.P,InletInner.z);
     904
     905"Outlet Heat Capacity Inner Stream"
     906        Inner.Properties.Outlet.Cp              =       PP.LiquidCp(OutletInner.T,OutletInner.P,OutletInner.z);
     907
     908"Average Mass Density Inner Stream"
     909        Inner.Properties.Average.rho    =       PP.LiquidDensity(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     910
     911"Inlet Mass Density Inner Stream"
     912        Inner.Properties.Inlet.rho              =       PP.LiquidDensity(InletInner.T,InletInner.P,InletInner.z);
     913
     914"Outlet Mass Density Inner Stream"
     915        Inner.Properties.Outlet.rho     =       PP.LiquidDensity(OutletInner.T,OutletInner.P,OutletInner.z);
     916
     917"Average Viscosity Inner Stream"
     918        Inner.Properties.Average.Mu     =       PP.LiquidViscosity(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     919
     920"Inlet  Viscosity Inner Stream"
     921        Inner.Properties.Inlet.Mu               =       PP.LiquidViscosity(InletInner.T,InletInner.P,InletInner.z);
     922
     923"Outlet Viscosity Inner Stream"
     924        Inner.Properties.Outlet.Mu      =       PP.LiquidViscosity(OutletInner.T,OutletInner.P,OutletInner.z);
     925
     926"Average        Conductivity Inner Stream"
     927        Inner.Properties.Average.K              =       PP.LiquidThermalConductivity(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     928
     929"Inlet  Conductivity Inner Stream"
     930        Inner.Properties.Inlet.K                =       PP.LiquidThermalConductivity(InletInner.T,InletInner.P,InletInner.z);
     931
     932"Outlet Conductivity Inner Stream"
     933        Inner.Properties.Outlet.K               =       PP.LiquidThermalConductivity(OutletInner.T,OutletInner.P,OutletInner.z);
     934
     935"Viscosity Inner Stream at wall temperature"
     936        Inner.Properties.Wall.Mu                =       PP.LiquidViscosity(Inner.Properties.Wall.Twall,Inner.Properties.Average.P,InletInner.z);
     937
     938        else
     939
     940"Average Heat Capacity InnerStream"
     941        Inner.Properties.Average.Cp     =       PP.VapourCp(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     942
     943"Inlet Heat Capacity Inner Stream"
     944        Inner.Properties.Inlet.Cp               =       PP.VapourCp(InletInner.T,InletInner.P,InletInner.z);
     945
     946"Outlet Heat Capacity Inner Stream"
     947        Inner.Properties.Outlet.Cp      =       PP.VapourCp(OutletInner.T,OutletInner.P,OutletInner.z);
     948
     949"Average Mass Density Inner Stream"
     950        Inner.Properties.Average.rho    =       PP.VapourDensity(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     951
     952"Inlet Mass Density Inner Stream"
     953        Inner.Properties.Inlet.rho              =       PP.VapourDensity(InletInner.T,InletInner.P,InletInner.z);
     954       
     955"Outlet Mass Density Inner Stream"
     956        Inner.Properties.Outlet.rho     =       PP.VapourDensity(OutletInner.T,OutletInner.P,OutletInner.z);
     957
     958"Average Viscosity Inner Stream"
     959        Inner.Properties.Average.Mu     =       PP.VapourViscosity(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     960
     961"Inlet Viscosity Inner Stream"
     962        Inner.Properties.Inlet.Mu               =       PP.VapourViscosity(InletInner.T,InletInner.P,InletInner.z);
     963
     964"Outlet Viscosity Inner Stream"
     965        Inner.Properties.Outlet.Mu      =       PP.VapourViscosity(OutletInner.T,OutletInner.P,OutletInner.z);
     966
     967"Average Conductivity Inner Stream"
     968        Inner.Properties.Average.K              =       PP.VapourThermalConductivity(Inner.Properties.Average.T,Inner.Properties.Average.P,InletInner.z);
     969
     970"Inlet Conductivity Inner Stream"
     971        Inner.Properties.Inlet.K                =       PP.VapourThermalConductivity(InletInner.T,InletInner.P,InletInner.z);
     972
     973"Outlet Conductivity Inner Stream"
     974        Inner.Properties.Outlet.K               =       PP.VapourThermalConductivity(OutletInner.T,OutletInner.P,OutletInner.z);
     975       
     976"Viscosity Inner Stream at wall temperature"
     977        Inner.Properties.Wall.Mu                =       PP.VapourViscosity(Inner.Properties.Wall.Twall,Inner.Properties.Average.P,InletInner.z);
     978
     979end
     980
     981if InletOuter.v equal 0
     982
     983        then
     984
     985"Average Heat Capacity Outer Stream"
     986        Outer.Properties.Average.Cp     =               PP.LiquidCp(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);
     987
     988"Inlet Heat Capacity Outer Stream"
     989        Outer.Properties.Inlet.Cp               =               PP.LiquidCp(InletOuter.T,InletOuter.P,InletOuter.z);
     990
     991"Outlet Heat Capacity Outer Stream"
     992        Outer.Properties.Outlet.Cp      =               PP.LiquidCp(OutletOuter.T,OutletOuter.P,OutletOuter.z);
     993
     994"Average Mass Density Outer Stream"
     995        Outer.Properties.Average.rho =          PP.LiquidDensity(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);
     996
     997"Inlet Mass Density Outer Stream"
     998        Outer.Properties.Inlet.rho              =               PP.LiquidDensity(InletOuter.T,InletOuter.P,InletOuter.z);
     999
     1000"Outlet Mass Density Outer Stream"
     1001        Outer.Properties.Outlet.rho     =               PP.LiquidDensity(OutletOuter.T,OutletOuter.P,OutletOuter.z);
     1002
     1003"Average Viscosity Outer Stream"
     1004        Outer.Properties.Average.Mu     =               PP.LiquidViscosity(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);
     1005
     1006"Inlet Viscosity Outer Stream"
     1007        Outer.Properties.Inlet.Mu       =               PP.LiquidViscosity(InletOuter.T,InletOuter.P,InletOuter.z);     
     1008
     1009"Outlet Viscosity Outer Stream"
     1010        Outer.Properties.Outlet.Mu      =               PP.LiquidViscosity(OutletOuter.T,OutletOuter.P,OutletOuter.z); 
     1011
     1012"Average Conductivity Outer Stream"
     1013        Outer.Properties.Average.K      =               PP.LiquidThermalConductivity(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);       
     1014
     1015"Inlet Conductivity Outer Stream"
     1016        Outer.Properties.Inlet.K                =               PP.LiquidThermalConductivity(InletOuter.T,InletOuter.P,InletOuter.z);   
     1017
     1018"Outlet Conductivity Outer Stream"
     1019        Outer.Properties.Outlet.K       =               PP.LiquidThermalConductivity(OutletOuter.T,OutletOuter.P,OutletOuter.z);       
     1020
     1021"Viscosity Outer Stream at wall temperature"
     1022        Outer.Properties.Wall.Mu                =               PP.LiquidViscosity(Outer.Properties.Wall.Twall,Outer.Properties.Average.P,InletOuter.z);       
     1023
     1024
     1025        else
     1026
     1027"Average Heat Capacity Outer Stream"
     1028        Outer.Properties.Average.Cp     =               PP.VapourCp(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);
     1029
     1030"Inlet Heat Capacity Outer Stream"
     1031        Outer.Properties.Inlet.Cp               =               PP.VapourCp(InletOuter.T,InletOuter.P,InletOuter.z);
     1032
     1033"Outlet Heat Capacity Outer Stream"
     1034        Outer.Properties.Outlet.Cp      =               PP.VapourCp(OutletOuter.T,OutletOuter.P,OutletOuter.z);
     1035
     1036"Average Mass Density Outer Stream"
     1037        Outer.Properties.Average.rho =          PP.VapourDensity(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);
     1038
     1039"Inlet Mass Density Outer Stream"
     1040        Outer.Properties.Inlet.rho              =               PP.VapourDensity(InletOuter.T,InletOuter.P,InletOuter.z);
     1041       
     1042"Outlet Mass Density Outer Stream"
     1043        Outer.Properties.Outlet.rho     =               PP.VapourDensity(OutletOuter.T,OutletOuter.P,OutletOuter.z);
     1044
     1045"Average Viscosity Outer Stream"
     1046        Outer.Properties.Average.Mu     =               PP.VapourViscosity(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);
     1047
     1048"Inlet Viscosity Outer Stream"
     1049        Outer.Properties.Inlet.Mu       =               PP.VapourViscosity(InletOuter.T,InletOuter.P,InletOuter.z);
     1050
     1051"Outlet Viscosity Outer Stream"
     1052        Outer.Properties.Outlet.Mu      =               PP.VapourViscosity(OutletOuter.T,OutletOuter.P,OutletOuter.z);
     1053
     1054"Average Conductivity Outer Stream"
     1055        Outer.Properties.Average.K      =               PP.VapourThermalConductivity(Outer.Properties.Average.T,Outer.Properties.Average.P,InletOuter.z);       
     1056
     1057"Inlet Conductivity Outer Stream"
     1058        Outer.Properties.Inlet.K                =               PP.VapourThermalConductivity(InletOuter.T,InletOuter.P,InletOuter.z);   
     1059
     1060"Outlet Conductivity Outer Stream"
     1061        Outer.Properties.Outlet.K       =               PP.VapourThermalConductivity(OutletOuter.T,OutletOuter.P,OutletOuter.z);       
     1062
     1063"Viscosity Outer Stream at wall temperature"
     1064        Outer.Properties.Wall.Mu                =               PP.VapourViscosity(Outer.Properties.Wall.Twall,Outer.Properties.Average.P,InletOuter.z);
     1065
     1066end
     1067
     1068switch HotSide
     1069       
     1070        case "outer":
     1071
     1072"Energy Balance Outer Stream"
     1073        Details.Q = InletOuter.F*(InletOuter.h-OutletOuter.h);
     1074
     1075"Energy Balance Inner Stream"
     1076        Details.Q = InletInner.F*(OutletInner.h-InletInner.h);
     1077
     1078        when InletInner.T > InletOuter.T switchto "inner";
     1079
     1080case "inner":
     1081
     1082"Energy Balance Hot Stream"
     1083        Details.Q = InletInner.F*(InletInner.h-OutletInner.h);
     1084
     1085"Energy Balance Cold Stream"
     1086        Details.Q = InletOuter.F*(OutletOuter.h - InletOuter.h);
     1087
     1088        when InletInner.T < InletOuter.T switchto "outer";
     1089
     1090end
     1091
     1092"Flow Mass Inlet Inner Stream"
     1093        Inner.Properties.Inlet.Fw       =  sum(M*InletInner.z)*InletInner.F;
     1094
     1095"Flow Mass Outlet Inner Stream"
     1096        Inner.Properties.Outlet.Fw      =  sum(M*OutletInner.z)*OutletInner.F;
     1097
     1098"Flow Mass Inlet Outer Stream"
     1099        Outer.Properties.Inlet.Fw               =  sum(M*InletOuter.z)*InletOuter.F;
     1100
     1101"Flow Mass Outlet Outer Stream"
     1102        Outer.Properties.Outlet.Fw      =  sum(M*OutletOuter.z)*OutletOuter.F;
     1103
     1104"Molar Balance Outer Stream"
     1105        OutletOuter.F = InletOuter.F;
     1106       
     1107"Molar Balance Inner Stream"
     1108        OutletInner.F = InletInner.F;
     1109
     1110"Outer Stream Molar Fraction Constraint"
     1111        OutletOuter.z=InletOuter.z;
     1112       
     1113"InnerStream Molar Fraction Constraint"
     1114        OutletInner.z=InletInner.z;
     1115
     1116"Exchange Surface Area for one segment of pipe"
     1117        Details.A=Pi*DoInner*(2*Lpipe);
     1118
     1119switch innerFlowRegime
     1120       
     1121        case "laminar":
     1122       
     1123"Inner Side Friction Factor for Pressure Drop - laminar Flow"
     1124        Inner.PressureDrop.fi*Inner.PressureDrop.Re = 16;
     1125       
     1126        when Inner.PressureDrop.Re > 2300 switchto "transition";
     1127
     1128        case "transition":
     1129       
     1130"using Turbulent Flow - to be implemented"
     1131        (Inner.PressureDrop.fi-0.0035)*(Inner.PressureDrop.Re^0.42) = 0.264;
     1132
     1133        when Inner.PressureDrop.Re < 2300 switchto "laminar";
     1134        when Inner.PressureDrop.Re > 10000 switchto "turbulent";
     1135
     1136        case "turbulent":
     1137
     1138"Inner Side Friction Factor - Turbulent Flow"
     1139        (Inner.PressureDrop.fi-0.0035)*(Inner.PressureDrop.Re^0.42) = 0.264;
     1140
     1141        when Inner.PressureDrop.Re < 10000 switchto "transition";
     1142       
     1143end     
     1144
     1145switch outerFlowRegime
     1146       
     1147        case "laminar":
     1148       
     1149"Outer Side Friction Factor - laminar Flow"
     1150        Outer.PressureDrop.fi*Outer.PressureDrop.Re = 16;
     1151       
     1152        when Outer.PressureDrop.Re > 2300 switchto "transition";
     1153
     1154        case "transition":
     1155       
     1156"using Turbulent Flow - Transition Flow must be implemented"
     1157        (Outer.PressureDrop.fi-0.0035)*(Outer.PressureDrop.Re^0.42) = 0.264;
     1158
     1159        when Outer.PressureDrop.Re < 2300 switchto "laminar";
     1160        when Outer.PressureDrop.Re > 10000 switchto "turbulent";
     1161
     1162        case "turbulent":
     1163
     1164"Outer Side Friction Factor - Turbulent Flow"
     1165        (Outer.PressureDrop.fi-0.0035)*(Outer.PressureDrop.Re^0.42) = 0.264;
     1166
     1167        when Outer.PressureDrop.Re < 10000 switchto "transition";
     1168       
     1169end
     1170
     1171switch innerFlowRegime
     1172       
     1173        case "laminar":
     1174       
     1175"Inner Side Friction Factor for Heat Transfer - laminar Flow"
     1176        Inner.HeatTransfer.fi   = 1/(0.79*ln(Inner.HeatTransfer.Re)-1.64)^2;
     1177       
     1178switch InnerLaminarCorrelation
     1179       
     1180        case "Hausen":
     1181
     1182"Nusselt Number"
     1183        Inner.HeatTransfer.Nu = 3.665 + ((0.19*((DiInner/Lpipe)*Inner.HeatTransfer.Re*Inner.HeatTransfer.PR)^0.8)/(1+0.117*((DiInner/Lpipe)*Inner.HeatTransfer.Re*Inner.HeatTransfer.PR)^0.467));
     1184       
     1185        case "Schlunder":
     1186
     1187"Nusselt Number"
     1188        Inner.HeatTransfer.Nu = (49.027896+4.173281*Inner.HeatTransfer.Re*Inner.HeatTransfer.PR*(DiInner/Lpipe))^(1/3);
     1189
     1190end
     1191       
     1192        when Inner.HeatTransfer.Re > 2300 switchto "transition";
     1193       
     1194        case "transition":
     1195       
     1196"Inner Side Friction Factor for Heat Transfer - transition Flow"
     1197        Inner.HeatTransfer.fi   = 1/(0.79*ln(Inner.HeatTransfer.Re)-1.64)^2;
     1198       
     1199switch InnerTransitionCorrelation
     1200       
     1201        case "Gnielinski":
     1202       
     1203"Nusselt Number"
     1204        Inner.HeatTransfer.Nu*(1+(12.7*sqrt(0.125*Inner.HeatTransfer.fi)*((Inner.HeatTransfer.PR)^(2/3) -1))) = 0.125*Inner.HeatTransfer.fi*(Inner.HeatTransfer.Re-1000)*Inner.HeatTransfer.PR;
     1205
     1206        case "Hausen":
     1207
     1208"Nusselt Number"
     1209        Inner.HeatTransfer.Nu =0.116*(Inner.HeatTransfer.Re^(0.667)-125)*Inner.HeatTransfer.PR^(0.333)*(1+(DiInner/Lpipe)^0.667);
     1210       
     1211end
     1212
     1213        when Inner.HeatTransfer.Re < 2300 switchto "laminar";
     1214        when Inner.HeatTransfer.Re > 10000 switchto "turbulent";
     1215
     1216        case "turbulent":
     1217
     1218switch InnerTurbulentCorrelation
     1219       
     1220        case "Petukhov":
     1221       
     1222"Inner Side Friction Factor for Heat Transfer - turbulent Flow"
     1223        Inner.HeatTransfer.fi   = 1/(1.82*log(Inner.HeatTransfer.Re)-1.64)^2;
     1224
     1225"Nusselt Number"
     1226        Inner.HeatTransfer.Nu*(1.07+(12.7*sqrt(0.125*Inner.HeatTransfer.fi)*((Inner.HeatTransfer.PR)^(2/3) -1))) = 0.125*Inner.HeatTransfer.fi*Inner.HeatTransfer.Re*Inner.HeatTransfer.PR;
     1227       
     1228        case "SiederTate":
     1229
     1230"Nusselt Number"
     1231        Inner.HeatTransfer.Nu = 0.027*(Inner.HeatTransfer.PR)^(1/3)*(Inner.HeatTransfer.Re)^(4/5);
     1232
     1233"Inner Side Friction Factor for Heat Transfer - turbulent Flow"
     1234        Inner.HeatTransfer.fi   = 1/(1.82*log(Inner.HeatTransfer.Re)-1.64)^2;
     1235       
     1236end
     1237       
     1238        when Inner.HeatTransfer.Re < 10000 switchto "transition";
     1239       
     1240end
     1241
     1242switch outerFlowRegime
     1243       
     1244        case "laminar":
     1245       
     1246"Outer Side Friction Factor for Heat Transfer - laminar Flow"
     1247        Outer.HeatTransfer.fi   = 1/(0.79*ln(Outer.HeatTransfer.Re)-1.64)^2;
     1248       
     1249switch OuterLaminarCorrelation
     1250       
     1251        case "Hausen":
     1252
     1253"Nusselt Number"
     1254        Outer.HeatTransfer.Nu = 3.665 + ((0.19*((Outer.HeatTransfer.Dh/Lpipe)*Outer.HeatTransfer.Re*Outer.HeatTransfer.PR)^0.8)/(1+0.117*((Outer.HeatTransfer.Dh/Lpipe)*Outer.HeatTransfer.Re*Outer.HeatTransfer.PR)^0.467));
     1255       
     1256        case "Schlunder":
     1257
     1258"Nusselt Number"
     1259        Outer.HeatTransfer.Nu = (49.027896+4.173281*Outer.HeatTransfer.Re*Outer.HeatTransfer.PR*(Outer.HeatTransfer.Dh/Lpipe))^(1/3);
     1260
     1261end
     1262       
     1263        when Outer.HeatTransfer.Re > 2300 switchto "transition";
     1264       
     1265        case "transition":
     1266       
     1267switch OuterTransitionCorrelation
     1268       
     1269        case "Gnielinski":
     1270
     1271"Outer Side Friction Factor for Heat Transfer - transition Flow"
     1272        Outer.HeatTransfer.fi   = 1/(0.79*ln(Outer.HeatTransfer.Re)-1.64)^2;
     1273
     1274"Nusselt Number"
     1275        Outer.HeatTransfer.Nu*(1+(12.7*sqrt(0.125*Outer.HeatTransfer.fi)*((Outer.HeatTransfer.PR)^(2/3) -1))) = 0.125*Outer.HeatTransfer.fi*(Outer.HeatTransfer.Re-1000)*Outer.HeatTransfer.PR;
     1276
     1277        case "Hausen":
     1278
     1279"Nusselt Number"
     1280        Outer.HeatTransfer.Nu = 0.116*(Outer.HeatTransfer.Re^(0.667)-125)*Outer.HeatTransfer.PR^(0.333)*(1+(Outer.HeatTransfer.Dh/Lpipe)^0.667);
     1281
     1282
     1283"Outer Side Friction Factor for Heat Transfer - transition Flow"
     1284        Outer.HeatTransfer.fi   = 1/(0.79*ln(Outer.HeatTransfer.Re)-1.64)^2;
     1285       
     1286end
     1287       
     1288        when Outer.HeatTransfer.Re < 2300 switchto "laminar";
     1289        when Outer.HeatTransfer.Re > 10000 switchto "turbulent";
     1290       
     1291        case "turbulent":
     1292       
     1293switch OuterTurbulentCorrelation
     1294       
     1295        case "Petukhov":
     1296
     1297"Outer Side Friction Factor for Heat Transfer - turbulent Flow"
     1298        Outer.HeatTransfer.fi   = 1/(1.82*log(Outer.HeatTransfer.Re)-1.64)^2;
     1299       
     1300"Nusselt Number"
     1301        Outer.HeatTransfer.Nu*(1.07+(12.7*sqrt(0.125*Outer.HeatTransfer.fi)*((Outer.HeatTransfer.PR)^(2/3) -1))) = 0.125*Outer.HeatTransfer.fi*Outer.HeatTransfer.Re*Outer.HeatTransfer.PR;
     1302       
     1303        case "SiederTate":
     1304
     1305"Nusselt Number"
     1306        Outer.HeatTransfer.Nu = 0.027*(Outer.HeatTransfer.PR)^(1/3)*(Outer.HeatTransfer.Re)^(4/5);
     1307
     1308"Outer Side Friction Factor for Heat Transfer - turbulent Flow"
     1309        Outer.HeatTransfer.fi   = 1/(1.82*log(Outer.HeatTransfer.Re)-1.64)^2;
     1310       
     1311end
     1312
     1313        when Outer.HeatTransfer.Re < 10000 switchto "transition";
     1314
     1315end
     1316
     1317"Inner Pipe Film Coefficient"
     1318        Inner.HeatTransfer.hcoeff = (Inner.HeatTransfer.Nu*Inner.Properties.Average.K/DiInner)*Inner.HeatTransfer.Phi;
     1319
     1320"Outer Pipe Film Coefficient"
     1321        Outer.HeatTransfer.hcoeff= (Outer.HeatTransfer.Nu*Outer.Properties.Average.K/Outer.HeatTransfer.Dh)*Outer.HeatTransfer.Phi;
     1322
     1323"Total Pressure Drop Outer Stream"
     1324        Outer.PressureDrop.Pdrop  = Outer.PressureDrop.Pd_fric+Outer.PressureDrop.Pd_ret;
     1325
     1326"Total Pressure Drop Inner Stream"
     1327        Inner.PressureDrop.Pdrop  = Inner.PressureDrop.Pd_fric+Inner.PressureDrop.Pd_ret;
     1328       
     1329"Pressure Drop Outer Stream"
     1330        OutletOuter.P  = InletOuter.P - Outer.PressureDrop.Pdrop;
     1331
     1332"Pressure Drop Inner Stream"
     1333        OutletInner.P  = InletInner.P - Inner.PressureDrop.Pdrop;
     1334       
     1335"Outer Pipe Pressure Drop for friction"
     1336        Outer.PressureDrop.Pd_fric = (2*Outer.PressureDrop.fi*(2*Lpipe)*Outer.Properties.Average.rho*Outer.HeatTransfer.Vmean^2)/(Outer.PressureDrop.Dh*Outer.HeatTransfer.Phi);
     1337       
     1338"Inner Pipe Pressure Drop for friction"
     1339        Inner.PressureDrop.Pd_fric = (2*Inner.PressureDrop.fi*(2*Lpipe)*Inner.Properties.Average.rho*Inner.HeatTransfer.Vmean^2)/(DiInner*Inner.HeatTransfer.Phi);
     1340
     1341"Outer Pipe Pressure Drop due to return"
     1342        Outer.PressureDrop.Pd_ret = 1.5*Outer.Properties.Average.rho*Outer.HeatTransfer.Vmean^2;
     1343
     1344"Inner Pipe Pressure Drop due to return"
     1345        Inner.PressureDrop.Pd_ret = 1.5*Inner.Properties.Average.rho*Inner.HeatTransfer.Vmean^2;
     1346
     1347"Outer Pipe Phi correction"
     1348        Outer.HeatTransfer.Phi = (Outer.Properties.Average.Mu/Outer.Properties.Wall.Mu)^0.14;
     1349       
     1350"Inner Pipe Phi correction"
     1351        Inner.HeatTransfer.Phi  = (Inner.Properties.Average.Mu/Inner.Properties.Wall.Mu)^0.14;
     1352
     1353"Outer Pipe Prandtl Number"
     1354        Outer.HeatTransfer.PR = ((Outer.Properties.Average.Cp/Outer.Properties.Average.Mw)*Outer.Properties.Average.Mu)/Outer.Properties.Average.K;
     1355
     1356"Inner Pipe Prandtl Number"
     1357        Inner.HeatTransfer.PR = ((Inner.Properties.Average.Cp/Inner.Properties.Average.Mw)*Inner.Properties.Average.Mu)/Inner.Properties.Average.K;
     1358
     1359"Outer Pipe Reynolds Number for Heat Transfer"
     1360        Outer.HeatTransfer.Re = (Outer.Properties.Average.rho*Outer.HeatTransfer.Vmean*Outer.HeatTransfer.Dh)/Outer.Properties.Average.Mu;
     1361
     1362"Outer Pipe Reynolds Number for Pressure Drop"
     1363        Outer.PressureDrop.Re = (Outer.Properties.Average.rho*Outer.HeatTransfer.Vmean*Outer.PressureDrop.Dh)/Outer.Properties.Average.Mu;
     1364
     1365"Inner Pipe Reynolds Number for Heat Transfer"
     1366        Inner.HeatTransfer.Re = (Inner.Properties.Average.rho*Inner.HeatTransfer.Vmean*Inner.HeatTransfer.Dh)/Inner.Properties.Average.Mu;
     1367
     1368"Inner Pipe Reynolds Number for Pressure Drop"
     1369        Inner.PressureDrop.Re = Inner.HeatTransfer.Re;
     1370
     1371"Outer Pipe Velocity"
     1372        Outer.HeatTransfer.Vmean*(Outer.HeatTransfer.As*Outer.Properties.Average.rho)  = Outer.Properties.Inlet.Fw;
     1373
     1374"Inner Pipe Velocity"
     1375        Inner.HeatTransfer.Vmean*(Inner.HeatTransfer.As*Inner.Properties.Average.rho)  = Inner.Properties.Inlet.Fw;
     1376
     1377"Overall Heat Transfer Coefficient Clean"
     1378        Details.Uc*((DoInner/(Inner.HeatTransfer.hcoeff*DiInner) )+(DoInner*ln(DoInner/DiInner)/(2*Kwall))+(1/(Outer.HeatTransfer.hcoeff)))=1;
     1379
     1380"Overall Heat Transfer Coefficient Dirty"
     1381        Details.Ud*(Rfi*(DoInner/DiInner) +  Rfo + (DoInner/(Inner.HeatTransfer.hcoeff*DiInner) )+(DoInner*ln(DoInner/DiInner)/(2*Kwall))+(1/(Outer.HeatTransfer.hcoeff)))=1;
     1382
     1383end
     1384
     1385Model Hairpin_NTU as Hairpin_Basic
     1386
     1387ATTRIBUTES
     1388
     1389        Icon = "icon/hairpin";
     1390        Pallete = true;
     1391        Brief  = "Hairpin Heat Exchanger - NTU Method";
     1392        Info  =
     1393        "to be documented.";
     1394
     1395PARAMETERS
     1396
     1397FlowDirection   as Switcher     (Brief="Flow Direction",Valid=["counter","cocurrent"],Default="cocurrent");
     1398       
     1399VARIABLES
     1400
     1401Method as NTU_Basic     (Brief="NTU Method of Calculation", Symbol=" ");
     1402
     1403EQUATIONS
     1404
     1405"Number of Units Transference"
     1406        Method.NTU*Method.Cmin = Details.Ud*Pi*DoInner*(2*Lpipe);
     1407       
     1408"Minimum Heat Capacity"
     1409        Method.Cmin  = min([Method.Ch,Method.Cc]);
     1410
     1411"Maximum Heat Capacity"
     1412        Method.Cmax  = max([Method.Ch,Method.Cc]);
     1413
     1414"Thermal Capacity Ratio"
     1415        Method.Cr    = Method.Cmin/Method.Cmax;
     1416
     1417"Effectiveness Correction"
     1418        Method.Eft1 = 1;
     1419
     1420if Method.Cr equal 0
     1421       
     1422        then   
     1423"Effectiveness"
     1424        Method.Eft = 1-exp(-Method.NTU);
     1425       
     1426        else
     1427
     1428switch  FlowDirection
     1429
     1430        case "cocurrent":
     1431       
     1432"Effectiveness in Cocurrent Flow"
     1433        Method.Eft = (1-exp(-Method.NTU*(1+Method.Cr)))/(1+Method.Cr);
     1434
     1435        case "counter":
     1436
     1437if Method.Cr equal 1
     1438       
     1439        then
     1440       
     1441"Effectiveness in Counter Flow"
     1442        Method.Eft = Method.NTU/(1+Method.NTU);
     1443       
     1444        else
     1445       
     1446"Effectiveness in Counter Flow"
     1447        Method.Eft = (1-exp(-Method.NTU*(1-Method.Cr)))/(1-Method.Cr*exp(-Method.NTU*(1-Method.Cr)));
     1448       
     1449end
     1450
     1451end
     1452
     1453end
     1454
     1455switch HotSide
     1456       
     1457        case "outer":
     1458
     1459"Duty"
     1460        Details.Q       = Method.Eft*Method.Cmin*(InletOuter.T-InletInner.T);
     1461
     1462"Hot Stream Heat Capacity"
     1463        Method.Ch  = InletOuter.F*Outer.Properties.Average.Cp;
     1464       
     1465"Cold Stream Heat Capacity"
     1466        Method.Cc = InletInner.F*Inner.Properties.Average.Cp;
     1467
     1468        when InletInner.T > InletOuter.T switchto "inner";
     1469       
     1470        case "inner":
     1471
     1472"Duty"
     1473        Details.Q       = Method.Eft*Method.Cmin*(InletInner.T-InletOuter.T);
     1474
     1475"Cold Stream Heat Capacity"
     1476        Method.Cc = InletOuter.F*Outer.Properties.Average.Cp;
     1477       
     1478"Hot Stream Heat Capacity"
     1479        Method.Ch = InletInner.F*Inner.Properties.Average.Cp;
     1480       
     1481        when InletInner.T < InletOuter.T switchto "outer";
     1482       
     1483end
     1484
     1485end
     1486
     1487Model Hairpin_LMTD as Hairpin_Basic
     1488       
     1489ATTRIBUTES
     1490
     1491        Icon = "icon/hairpin";
     1492        Pallete = true;
     1493        Brief  = "Hairpin Heat Exchanger - LMTD Method";
     1494        Info  =
     1495        "to be documented.";
     1496
     1497PARAMETERS
     1498
     1499FlowDirection   as Switcher     (Brief="Flow Direction",Valid=["counter","cocurrent"],Default="cocurrent");
     1500       
     1501VARIABLES
     1502
     1503Method as LMTD_Basic    (Brief="LMTD Method of Calculation", Symbol=" ");
     1504
     1505EQUATIONS
     1506
     1507"Exchange Surface Area"
     1508        Details.Q = Details.Ud*Pi*DoInner*(2*Lpipe)*Method.LMTD;
     1509       
     1510"LMTD Correction Factor - True counter ou cocurrent flow"
     1511        Method.Fc = 1;
     1512
     1513switch HotSide
     1514       
     1515        case "outer":
     1516       
     1517switch FlowDirection
     1518
     1519        case "cocurrent":
     1520       
     1521"Temperature Difference at Inlet - Cocurrent Flow"
     1522        Method.DT0 = InletOuter.T - InletInner.T;
     1523
     1524"Temperature Difference at Outlet - Cocurrent Flow"
     1525        Method.DTL = OutletOuter.T - OutletInner.T;
     1526
     1527        case "counter":
     1528       
     1529"Temperature Difference at Inlet - Counter Flow"
     1530        Method.DT0 = InletOuter.T - OutletInner.T;
     1531
     1532"Temperature Difference at Outlet - Counter Flow"
     1533        Method.DTL = OutletOuter.T - InletInner.T;
     1534       
     1535
     1536end
     1537
     1538        when InletInner.T > InletOuter.T switchto "inner";
     1539       
     1540        case "inner":
     1541
     1542switch FlowDirection
     1543
     1544        case "cocurrent":
     1545       
     1546"Temperature Difference at Inlet - Cocurrent Flow"
     1547        Method.DT0 = InletInner.T - InletOuter.T;
     1548
     1549"Temperature Difference at Outlet - Cocurrent Flow"
     1550        Method.DTL = OutletInner.T - OutletOuter.T;
     1551       
     1552        case "counter":
     1553       
     1554"Temperature Difference at Inlet - Counter Flow"
     1555        Method.DT0 = InletInner.T - OutletOuter.T;
     1556
     1557"Temperature Difference at Outlet - Counter Flow"
     1558        Method.DTL = OutletInner.T - InletOuter.T;
     1559       
     1560end
     1561
     1562        when InletInner.T < InletOuter.T switchto "outer";
     1563
     1564end
     1565
     1566end
  • trunk/eml/heat_exchangers/HEX_Engine.mso

    r387 r404  
    356356VARIABLES
    357357
    358 Pdrop   as press_delta  (Brief="Pressure Drop",Default=0.01, Lower=1e-10,DisplayUnit='kPa', Symbol ="\Delta P}");
     358Pdrop   as press_delta  (Brief="Total Pressure Drop",Default=0.01, Lower=1e-10,DisplayUnit='kPa', Symbol ="\Delta P");
     359Pd_fric as press_delta  (Brief="Pressure Drop for friction",Default=0.01, Lower=1e-10,DisplayUnit='kPa', Symbol ="\Delta P_{fric}");
     360Pd_ret  as press_delta  (Brief="Pressure Drop due to return",Default=0.01, Lower=0,DisplayUnit='kPa', Symbol ="\Delta P_{return}");
    359361fi      as fricfactor   (Brief="Friction Factor", Default=0.05, Lower=1e-10, Upper=2000);
    360362Re      as positive             (Brief="Reynolds Number",Default=100,Lower=1);
Note: See TracChangeset for help on using the changeset viewer.