Changeset 491


Ignore:
Timestamp:
Apr 3, 2008, 9:22:56 PM (15 years ago)
Author:
gerson bicca
Message:

fixed heat exchanger cost model

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/eml/costs/HeatExchangerSimplified_cost.mso

    r331 r491  
    1818*------------------------------------------------------------------*#
    1919
    20 using "heat_exchangers/HeatExchangerSimplified";
     20using "heat_exchangers/Heatex";
    2121
    2222# This model is valid if 14m^2 < A < 1100 m^2
    2323
    24 Model HeatExchanger_LMTD_cost as HeatExchanger_LMTD
     24Model HeatExchanger_LMTD_cost as Heatex_LMTD
    2525        ATTRIBUTES
    2626        Pallete         = true;
     
    7777end
    7878
    79 Model Shell_and_tubes_LMTD_cost as Shell_and_Tubes_LMTD
     79Model Shell_and_tubes_LMTD_cost as Heatex_LMTD
    8080        ATTRIBUTES
    8181        Pallete         = true;
     
    9898        Pmax  as pressure       (Brief="Average  Pressure");
    9999
    100         EQUATIONS
    101         "Average pressure"
    102         Pmax = max( [HotSide.Properties.Average.P , ColdSide.Properties.Average.P] );
    103        
    104         "Capital Cost"
    105         Ce = Cb*Fd*Fp*Fm;
    106        
    107         "Basic Cost"
    108         Cb = 'US$'*exp(Cost(1,1) + Cost(1,2)*ln(Details.A/'m^2') + Cost(1,3)*(ln(Details.A/'m^2'))^2);
    109 
    110         "Cost Factor based on the type of the heat exchanger"
    111         Fd = exp(Cost(2,1) + Cost(2,2)*ln(Details.A/'m^2') + Cost(2,3)*ln(Details.A/'m^2'));
    112 
    113         if Pmax <= 700 * 'kPa' then
    114                 "Cost Factor based on the project pressure" # verificar
    115                 Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
    116         else if 700 * 'kPa' < Pmax and Pmax < 2100 * 'kPa' then
    117                 Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
    118         else if 2100 * 'kPa' < Pmax and Pmax < 4200 * 'kPa' then
    119                 Fp = Cost(6,1) + Cost(6,2)*ln(Details.A/'m^2');
    120         else if 4200 * 'kPa' < Pmax and Pmax < 6200 * 'kPa' then
    121                 Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2');
    122         else
    123                 Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2'); # verificar
    124         end
    125         end
    126         end
    127         end
    128        
    129         "Cost Factor based on the construction material"
    130         Fm = Cost(8,1) + Cost(8,2)*ln(Details.A/'m^2');
    131        
    132 end
    133 
    134 Model HeatExchanger_NTU_cost as HeatExchanger_NTU
     100SET
     101
     102ExchangerType = "Shell and Tube";
     103
     104        EQUATIONS
     105        "Average pressure"
     106        Pmax = max( [HotSide.Properties.Average.P , ColdSide.Properties.Average.P] );
     107       
     108        "Capital Cost"
     109        Ce = Cb*Fd*Fp*Fm;
     110       
     111        "Basic Cost"
     112        Cb = 'US$'*exp(Cost(1,1) + Cost(1,2)*ln(Details.A/'m^2') + Cost(1,3)*(ln(Details.A/'m^2'))^2);
     113
     114        "Cost Factor based on the type of the heat exchanger"
     115        Fd = exp(Cost(2,1) + Cost(2,2)*ln(Details.A/'m^2') + Cost(2,3)*ln(Details.A/'m^2'));
     116
     117        if Pmax <= 700 * 'kPa' then
     118                "Cost Factor based on the project pressure" # verificar
     119                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
     120        else if 700 * 'kPa' < Pmax and Pmax < 2100 * 'kPa' then
     121                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
     122        else if 2100 * 'kPa' < Pmax and Pmax < 4200 * 'kPa' then
     123                Fp = Cost(6,1) + Cost(6,2)*ln(Details.A/'m^2');
     124        else if 4200 * 'kPa' < Pmax and Pmax < 6200 * 'kPa' then
     125                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2');
     126        else
     127                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2'); # verificar
     128        end
     129        end
     130        end
     131        end
     132       
     133        "Cost Factor based on the construction material"
     134        Fm = Cost(8,1) + Cost(8,2)*ln(Details.A/'m^2');
     135       
     136end
     137
     138Model HeatExchanger_NTU_cost as Heatex_NTU
    135139        ATTRIBUTES
    136140        Pallete         = true;
     
    187191end
    188192
    189 Model Shell_and_tubes_NTU_cost as Shell_and_Tubes_NTU
     193Model Shell_and_tubes_NTU_cost as Heatex_NTU
    190194        ATTRIBUTES
    191195        Pallete         = true;
     
    208212        Pmax  as pressure       (Brief="Average  Pressure");
    209213
    210         EQUATIONS
    211         "Average pressure"
    212         Pmax = max( [HotSide.Properties.Average.P , ColdSide.Properties.Average.P] );
    213        
    214         "Capital Cost"
    215         Ce = Cb*Fd*Fp*Fm;
    216        
    217         "Basic Cost"
    218         Cb = 'US$'*exp(Cost(1,1) + Cost(1,2)*ln(Details.A/'m^2') + Cost(1,3)*(ln(Details.A/'m^2'))^2);
    219 
    220         "Cost Factor based on the type of the heat exchanger"
    221         Fd = exp(Cost(2,1) + Cost(2,2)*ln(Details.A/'m^2') + Cost(2,3)*ln(Details.A/'m^2'));
    222 
    223         if Pmax <= 700 * 'kPa' then
    224                 "Cost Factor based on the project pressure" # verificar
    225                 Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
    226         else if 700 * 'kPa' < Pmax and Pmax < 2100 * 'kPa' then
    227                 Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
    228         else if 2100 * 'kPa' < Pmax and Pmax < 4200 * 'kPa' then
    229                 Fp = Cost(6,1) + Cost(6,2)*ln(Details.A/'m^2');
    230         else if 4200 * 'kPa' < Pmax and Pmax < 6200 * 'kPa' then
    231                 Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2');
    232         else
    233                 Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2'); # verificar
    234         end
    235         end
    236         end
    237         end
    238        
    239         "Cost Factor based on the construction material"
    240         Fm = Cost(8,1) + Cost(8,2)*ln(Details.A/'m^2');
    241        
    242 end
    243 
     214SET
     215
     216ExchangerType = "Shell and Tube";
     217
     218        EQUATIONS
     219        "Average pressure"
     220        Pmax = max( [HotSide.Properties.Average.P , ColdSide.Properties.Average.P] );
     221       
     222        "Capital Cost"
     223        Ce = Cb*Fd*Fp*Fm;
     224       
     225        "Basic Cost"
     226        Cb = 'US$'*exp(Cost(1,1) + Cost(1,2)*ln(Details.A/'m^2') + Cost(1,3)*(ln(Details.A/'m^2'))^2);
     227
     228        "Cost Factor based on the type of the heat exchanger"
     229        Fd = exp(Cost(2,1) + Cost(2,2)*ln(Details.A/'m^2') + Cost(2,3)*ln(Details.A/'m^2'));
     230
     231        if Pmax <= 700 * 'kPa' then
     232                "Cost Factor based on the project pressure" # verificar
     233                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
     234        else if 700 * 'kPa' < Pmax and Pmax < 2100 * 'kPa' then
     235                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
     236        else if 2100 * 'kPa' < Pmax and Pmax < 4200 * 'kPa' then
     237                Fp = Cost(6,1) + Cost(6,2)*ln(Details.A/'m^2');
     238        else if 4200 * 'kPa' < Pmax and Pmax < 6200 * 'kPa' then
     239                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2');
     240        else
     241                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2'); # verificar
     242        end
     243        end
     244        end
     245        end
     246       
     247        "Cost Factor based on the construction material"
     248        Fm = Cost(8,1) + Cost(8,2)*ln(Details.A/'m^2');
     249       
     250end
     251
  • trunk/sample/costs/sample_HeatExchangerDetailed_cost.mso

    r383 r491  
    6060#       Shell Geometrical Parameters
    6161#=====================================================================       
    62 exchanger.Tpass                 = 2;
    63 exchanger.Dishell               = 0.75  *'m';
    64 exchanger.Lcf                   = 0.043  *'m';
    65 exchanger.Nss                   = 2;
    66 exchanger.Donozzle_Shell    = 0.1937    *'m';
    67 exchanger.Dinozzle_Shell    = 0.1937    *'m';
    68 exchanger.Honozzle_Shell    = 0.0225    *'m';
    69 exchanger.Hinozzle_Shell    = 0.02155   *'m';
     62exchanger.Tubes.Tubepasses                      = 2;
     63exchanger.Shell.ShellID                 = 0.75  *'m';
     64exchanger.Clearances.BundleToShell                      = 0.043  *'m';
     65exchanger.Clearances.SealStrip                  = 2;
     66exchanger.Shell.InletNozzleID    = 0.1937       *'m';
     67exchanger.Shell.OutletNozzleID    = 0.1937      *'m';
     68exchanger.Clearances.Honozzle_Shell    = 0.0225         *'m';
     69exchanger.Clearances.Hinozzle_Shell    = 0.02155        *'m';
    7070#=====================================================================
    7171#       Tubes Geometrical Parameters
    7272#=====================================================================
    73 exchanger.Ntt                   = 500;
     73exchanger.Tubes.NumberOfTubes                   = 500;
    7474exchanger.Pattern                       = "Triangle";
    75 exchanger.pitch                         = 0.0254        *'m';
    76 exchanger.Ltube                 = 5.5           *'m';
    77 exchanger.Ditube                = 0.013395  *'m';
    78 exchanger.Dotube                = 0.015875  *'m';
    79 exchanger.Kwall                         = 0.057         *'kW/m/K';
    80 exchanger.Donozzle_Tube     = 0.203     *'m';
    81 exchanger.Dinozzle_Tube         = 0.203         *'m';
     75exchanger.Tubes.TubePitch                       = 0.0254        *'m';
     76exchanger.Tubes.TubeLength                      = 5.5           *'m';
     77exchanger.Tubes.TubeID                  = 0.013395  *'m';
     78exchanger.Tubes.TubeOD                  = 0.015875  *'m';
     79exchanger.Tubes.Kwall                           = 0.057         *'kW/m/K';
     80exchanger.Tubes.InletNozzleID    = 0.203        *'m';
     81exchanger.Tubes.OutletNozzleID          = 0.203         *'m';
    8282#=====================================================================
    8383#       Baffles Geometrical Parameters
    8484#=====================================================================
    85 exchanger.Lcd           = 0.0047        *'m';
    86 exchanger.Bc            = 30;
    87 exchanger.Ltd           = 0.00039  *'m';
    88 exchanger.Nb            = 6;
     85exchanger.Clearances.BaffleToShell              = 0.0047        *'m';
     86exchanger.Baffles.BaffleCut             = 30;
     87exchanger.Clearances.TubeToBaffle       = 0.00039  *'m';
     88exchanger.Baffles.NumberOfBaffles               = 6;
    8989
    9090#=====================================================================
    9191#       Fouling
    9292#=====================================================================
    93 exchanger.Rfi = 0.001*'m^2*K/kW';
    94 exchanger.Rfo = 0.001*'m^2*K/kW';
     93exchanger.Tubes.Fouling = 0.001*'m^2*K/kW';
     94exchanger.Shell.Fouling = 0.001*'m^2*K/kW';
    9595
    9696# costs
     
    107107
    108108SPECIFY
     109SPECIFY
    109110#============================================
    110111#   Hot Stream
     
    121122        streamcold_in.Outlet.z  = [1];
    122123        streamcold_in.Outlet.P  = 2210*'kPa';
    123 
    124124#=====================================================================
    125125#       Baffle Spacing
    126126#=====================================================================
    127         exchanger.Baffles.Ls     = 0.622  *'m';
    128         exchanger.Baffles.Lsi = 0.807  *'m';
     127        exchanger.Baffles.Central_Spacing        = 0.622  *'m';
     128        exchanger.Baffles.Inlet_Spacing= 0.807  *'m';
    129129
    130130OPTIONS
     
    162162        exchanger.ShellType  = "Eshell";
    163163       
    164 exchanger.LMTDcorrection  = "Fakeri";
     164exchanger.LMTDcorrection  = "Bowmann";
    165165
    166166#   Heat Transfer Correlation
     
    172172#       Shell Geometrical Parameters
    173173#=====================================================================       
    174 exchanger.Tpass                 = 2;
    175 exchanger.Dishell               = 0.75  *'m';
    176 exchanger.Lcf                   = 0.043  *'m';
    177 exchanger.Nss                   = 2;
    178 exchanger.Donozzle_Shell    = 0.1937    *'m';
    179 exchanger.Dinozzle_Shell    = 0.1937    *'m';
    180 exchanger.Honozzle_Shell    = 0.0225    *'m';
    181 exchanger.Hinozzle_Shell    = 0.02155   *'m';
     174exchanger.Tubes.Tubepasses                      = 2;
     175exchanger.Shell.ShellID                 = 0.75  *'m';
     176exchanger.Clearances.BundleToShell                      = 0.043  *'m';
     177exchanger.Clearances.SealStrip                  = 2;
     178exchanger.Shell.InletNozzleID    = 0.1937       *'m';
     179exchanger.Shell.OutletNozzleID    = 0.1937      *'m';
     180exchanger.Clearances.Honozzle_Shell    = 0.0225         *'m';
     181exchanger.Clearances.Hinozzle_Shell    = 0.02155        *'m';
    182182#=====================================================================
    183183#       Tubes Geometrical Parameters
    184184#=====================================================================
    185 exchanger.Ntt                   = 500;
     185exchanger.Tubes.NumberOfTubes                   = 500;
    186186exchanger.Pattern                       = "Triangle";
    187 exchanger.pitch                         = 0.0254        *'m';
    188 exchanger.Ltube                 = 5.5           *'m';
    189 exchanger.Ditube                = 0.013395  *'m';
    190 exchanger.Dotube                = 0.015875 *'m';
    191 exchanger.Kwall                         = 0.057         *'kW/m/K';
    192 exchanger.Donozzle_Tube     = 0.203     *'m';
    193 exchanger.Dinozzle_Tube         = 0.203         *'m';
     187exchanger.Tubes.TubePitch                       = 0.0254        *'m';
     188exchanger.Tubes.TubeLength                      = 5.5           *'m';
     189exchanger.Tubes.TubeID                  = 0.013395  *'m';
     190exchanger.Tubes.TubeOD                  = 0.015875 *'m';
     191exchanger.Tubes.Kwall                           = 0.057         *'kW/m/K';
     192exchanger.Tubes.InletNozzleID    = 0.203        *'m';
     193exchanger.Tubes.OutletNozzleID          = 0.203         *'m';
    194194#=====================================================================
    195195#       Baffles Geometrical Parameters
    196196#=====================================================================
    197 exchanger.Lcd           = 0.0047        *'m';
    198 exchanger.Bc            = 30;
    199 exchanger.Ltd           = 0.00039  *'m';
    200 exchanger.Nb            = 6;
     197exchanger.Clearances.BaffleToShell              = 0.0047        *'m';
     198exchanger.Baffles.BaffleCut             = 30;
     199exchanger.Clearances.TubeToBaffle       = 0.00039  *'m';
     200exchanger.Baffles.NumberOfBaffles               = 6;
    201201
    202202#=====================================================================
    203203#       Fouling
    204204#=====================================================================
    205 exchanger.Rfi = 0.001*'m^2*K/kW';
    206 exchanger.Rfo = 0.001*'m^2*K/kW';
     205exchanger.Tubes.Fouling = 0.001*'m^2*K/kW';
     206exchanger.Shell.Fouling = 0.001*'m^2*K/kW';
    207207
    208208# costs
     
    236236#       Baffle Spacing
    237237#=====================================================================
    238         exchanger.Baffles.Ls     = 0.622  *'m';
    239         exchanger.Baffles.Lsi = 0.807  *'m';
    240 
     238        exchanger.Baffles.Central_Spacing        = 0.622  *'m';
     239        exchanger.Baffles.Inlet_Spacing= 0.807  *'m';
     240       
    241241OPTIONS
    242242
  • trunk/sample/costs/sample_HeatExchangerSimplified_cost.mso

    r331 r491  
    5050        NComp                           = PP.NumberOfComponents;
    5151       
    52         exchanger.FlowDirection      = "counter";
    53 
    54         # costs
    55         exchanger.Material = "Stainless steel 316";
    56        
    57         exchanger.Cost(1,:) = [8.202,0.01506,0.06811];
    58         exchanger.Cost(2,:) = [-0.9003,0.0906,0];
    59         exchanger.Cost(3,:) = [1.35,0,0];
    60         exchanger.Cost(4,:) = [-0.7844,0.0830,0];
    61         exchanger.Cost(5,:) = [0.8955,0.04981,0];
    62         exchanger.Cost(6,:) = [1.2002,0.07140,0];
    63         exchanger.Cost(7,:) = [1.4272,0.12088,0];
    64         exchanger.Cost(8,:) = [0.8608,0.23296,0];
    65        
    66 
    67 SPECIFY
    68 
    69         exchanger.Method.Fc                                      = 1;
    70        
     52        exchanger.ExchangerType       = "Counter Flow";
     53
     54        # costs
     55        exchanger.Material = "Stainless steel 316";
     56       
     57        exchanger.Cost(1,:) = [8.202,0.01506,0.06811];
     58        exchanger.Cost(2,:) = [-0.9003,0.0906,0];
     59        exchanger.Cost(3,:) = [1.35,0,0];
     60        exchanger.Cost(4,:) = [-0.7844,0.0830,0];
     61        exchanger.Cost(5,:) = [0.8955,0.04981,0];
     62        exchanger.Cost(6,:) = [1.2002,0.07140,0];
     63        exchanger.Cost(7,:) = [1.4272,0.12088,0];
     64        exchanger.Cost(8,:) = [0.8608,0.23296,0];
     65       
     66
     67SPECIFY
     68
    7169        exchanger.Details.A                                      = 139.35*'m^2';
    7270        exchanger.Details.Ud                                     = 0.75*'W/(m^2*K)';
     
    117115        NComp                           = PP.NumberOfComponents;
    118116       
    119         exchanger.FlowDirection      = "counter";
     117        exchanger.ExchangerType       = "Counter Flow";
    120118
    121119        # costs
     
    156154
    157155end
     156
    158157
    159158FlowSheet sample_Shell_and_tubes_LMTD_cost
     
    178177
    179178        exchanger.LMTDcorrection = "Bowmann";
    180         exchanger.ShellType             = "Eshell";
    181179       
    182180        # costs
     
    249247        NComp                           = PP.NumberOfComponents;
    250248
    251         exchanger.ShellType             = "Eshell";
    252 
    253249        # costs
    254250        exchanger.Material = "Stainless steel 316";
Note: See TracChangeset for help on using the changeset viewer.