Changeset 346


Ignore:
Timestamp:
Aug 19, 2007, 10:32:18 PM (15 years ago)
Author:
Argimiro Resende Secchi
Message:

Adding entropy in streamPH, sources and sinks.

Location:
trunk
Files:
1 added
4 edited

Legend:

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

    r324 r346  
    227227VARIABLES
    228228
    229 DT0             as temp_delta   (Brief="Temperature Difference at Inlet",Lower=1);
    230 DTL             as temp_delta   (Brief="Temperature Difference at Outlet",Lower=1);
    231 LMTD            as temp_delta   (Brief="Logarithmic Mean Temperature Difference",Lower=1);
     229DT0             as temp_delta   (Brief="Temperature Difference at Inlet",Lower=1e-6);
     230DTL             as temp_delta   (Brief="Temperature Difference at Outlet",Lower=1e-6);
     231LMTD            as temp_delta   (Brief="Logarithmic Mean Temperature Difference",Lower=1e-6);
    232232Fc                      as positive             (Brief="LMTD Correction Factor",Lower=0.1);
    233233
  • trunk/eml/streams.mso

    r325 r346  
    3535
    3636        VARIABLES
    37         F as flow_mol;
    38         T as temperature;
    39         P as pressure;
    40         z(NComp) as fraction(Brief = "Overall Molar Fraction");
    41         h as enth_mol;
    42         v as fraction(Brief = "Vapourization fraction");
     37        F as flow_mol                   (Brief = "Stream Molar Flow Rate");
     38        T as temperature                (Brief = "Stream Temperature");
     39        P as pressure                   (Brief = "Stream Pressure");
     40        z(NComp) as fraction    (Brief = "Stream Molar Fraction");
     41        h as enth_mol                   (Brief = "Stream Enthalpy");
     42        v as fraction                   (Brief = "Vapourization fraction");
    4343end
    4444
     
    101101       
    102102        VARIABLES
    103         x(NComp) as fraction(Brief = "Liquid Molar Fraction");
    104         y(NComp) as fraction(Brief = "Vapour Molar Fraction");
    105        
     103        x(NComp) as fraction    (Brief = "Liquid Molar Fraction");
     104        y(NComp) as fraction    (Brief = "Vapour Molar Fraction");
     105        s as entr_mol                   (Brief = "Stream Entropy");
     106
    106107        EQUATIONS
    107108        "Flash Calculation"
    108109        [v, x, y] = PP.FlashPH(P, h, z);
     110       
    109111        "Enthalpy"
    110112        h = (1-v)*PP.LiquidEnthalpy(T, P, x) +
    111113                v*PP.VapourEnthalpy(T, P, y);
     114       
     115        "Entropy"
     116        s = (1-v)*PP.LiquidEntropy(T, P, x) +
     117                v*PP.VapourEntropy(T, P, y);
    112118end
    113119
     
    153159        x(NComp)                        as fraction                     (Brief = "Liquid Molar Fraction");
    154160        y(NComp)                        as fraction                     (Brief = "Vapour Molar Fraction");
    155         hl                                      as enth_mol;
    156         hv                                      as enth_mol;
     161        hl                                      as enth_mol                     (Brief = "Liquid Enthalpy");
     162        hv                                      as enth_mol                     (Brief = "Vapour Enthalpy");
     163        s                                       as entr_mol                     (Brief = "Stream Entropy");
     164        sl                                      as entr_mol                     (Brief = "Liquid Entropy");
     165        sv                                      as entr_mol                     (Brief = "Vapour Entropy");     
    157166        zmass(NComp)            as fraction                     (Brief = "Mass Fraction");
    158167        Mw                                      as molweight            (Brief = "Average Mol Weight");
     
    168177       
    169178        "Overall Enthalpy"
    170         Outlet.h = (1-Outlet.v)*PP.LiquidEnthalpy(Outlet.T, Outlet.P, x) +
    171                 Outlet.v*PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
    172        
     179        Outlet.h = (1-Outlet.v)*hl + Outlet.v*hv;
     180
     181        "Liquid Enthalpy"
    173182        hl = PP.LiquidEnthalpy(Outlet.T, Outlet.P, x);
     183
     184        "Vapour Enthalpy"
    174185        hv = PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
    175        
     186
     187        "Overall Entropy"
     188        s = (1-Outlet.v)*sl + Outlet.v*sv;
     189
     190        "Liquid Entropy"
     191        sl = PP.LiquidEntropy(Outlet.T, Outlet.P, x);
     192       
     193        "Vapour Entropy"
     194        sv = PP.VapourEntropy(Outlet.T, Outlet.P, y);
     195
    176196        "Average Molecular Weight"
    177197        Mw = sum(M*Outlet.z);
     
    229249        x(NComp)                        as fraction             (Brief = "Liquid Molar Fraction");
    230250        y(NComp)                        as fraction             (Brief = "Vapour Molar Fraction");
    231         hl                                      as enth_mol;
    232         hv                                      as enth_mol;
     251        hl                                      as enth_mol             (Brief = "Liquid Enthalpy");
     252        hv                                      as enth_mol             (Brief = "Vapour Enthalpy");
     253        s                                       as entr_mol             (Brief = "Stream Entropy");
     254        sl                                      as entr_mol             (Brief = "Liquid Entropy");
     255        sv                                      as entr_mol             (Brief = "Vapour Entropy");     
    233256
    234257        EQUATIONS
     
    237260       
    238261        "Overall Enthalpy"
    239         Outlet.h = (1-Outlet.v)*PP.LiquidEnthalpy(Outlet.T, Outlet.P, x) +
    240                 Outlet.v*PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
    241 
     262        Outlet.h = (1-Outlet.v)*hl + Outlet.v*hv;
     263
     264        "Liquid Enthalpy"
    242265        hl = PP.LiquidEnthalpy(Outlet.T, Outlet.P, x);
     266
     267        "Vapour Enthalpy"
    243268        hv = PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
     269       
     270        "Overall Entropy"
     271        s = (1-Outlet.v)*sl + Outlet.v*sv;
     272
     273        "Liquid Entropy"
     274        sl = PP.LiquidEntropy(Outlet.T, Outlet.P, x);
     275       
     276        "Vapour Entropy"
     277        sv = PP.VapourEntropy(Outlet.T, Outlet.P, y);
    244278end
    245279
     
    285319        Fw                              as flow_mass    (Brief = "Stream Mass Flow");
    286320        Fvol            as flow_vol     (Brief = "Volumetric Flow");
    287        
     321        s                               as entr_mol             (Brief = "Stream Entropy");
     322
    288323        EQUATIONS
    289324        "Flash Calculation"
     
    318353        zmass = M*Inlet.z / Mw;
    319354       
     355        "Overall Entropy"
     356        s = (1-v)*PP.LiquidEntropy(Inlet.T, Inlet.P, x) +
     357                v*PP.VapourEntropy(Inlet.T, Inlet.P, y);
    320358end
    321359
  • trunk/sample/stage_separators/sample_column.mso

    r313 r346  
    276276        TimeStep = 0.1;
    277277        TimeEnd = 50;
    278         #time = [0:0.01:1, 2:50];
    279278        #GuessFile="Distillation_kettle_cond_Test.rlt";
    280279        #Dynamic = false;       
    281280end
    282281
    283 FlowSheet Distillation_thermosyphon_subcooling_Test
    284         PARAMETERS
    285         PP      as Plugin(Brief="Physical Properties",
    286                 Type="PP",
    287                 Components = [ "isobutane", "n-pentane", "propylene",
    288                 "benzene", "isobutene" ],
    289                 LiquidModel = "PR",
    290                 VapourModel = "PR"
    291         );
    292         NComp   as Integer;
    293        
    294         VARIABLES
    295         Qc as energy_source (Brief="Heat rate removed from condenser");
    296         Qr as energy_source (Brief="Heat rate supplied to reboiler");
    297         Qttop as energy_source (Brief="Heat rate removed from condenser");
    298         Qtbottom as energy_source (Brief="Heat rate supplied to reboiler");
    299        
    300         SET
    301         NComp = PP.NumberOfComponents;
    302 
    303         DEVICES
    304         col as Distillation_thermosyphon_subcooling;
    305         feed as source;
    306         zero as stream;
    307        
    308         CONNECTIONS
    309         feed.Outlet to col.trays(5).Inlet;
    310         zero to col.trays([1:4]).Inlet;
    311         zero to col.trays([6:col.NTrays]).Inlet;
    312         Qttop.OutletQ to col.ttop.InletQ;
    313         Qtbottom.OutletQ to col.tbottom.InletQ;
    314         Qc.OutletQ to col.cond.InletQ;
    315         Qr.OutletQ to col.reb.InletQ;
    316        
    317         SPECIFY
    318         feed.Outlet.F = 113.4 * 'kmol/h';
    319         feed.Outlet.T = 291 * 'K';
    320         feed.Outlet.P = 168.3 * 'kPa';
    321         feed.Outlet.z = 1/NComp;
    322        
    323         zero.F = 0 * 'kmol/h';
    324         zero.T = 300 * 'K';
    325         zero.P = 1 * 'atm';
    326         zero.z = 1/NComp;
    327         zero.v = 0;
    328         zero.h = 0 * 'J/mol';
    329        
    330         col.sptop.Outlet2.F = 85 * 'kmol/h';
    331         col.sptop.frac = 0.444445;
    332         col.spbottom.Outlet1.F = 100 * 'kmol/h';
    333        
    334         Qr.OutletQ.Q = 3.7743e6 * 'kJ/h';
    335         Qc.OutletQ.Q = -3.71e6 * 'kJ/h';
    336         Qttop.OutletQ.Q = 0 * 'kJ/h';
    337         Qtbottom.OutletQ.Q = 0 * 'kJ/h';
    338        
    339         col.pump1.dP = 16 * 'kPa';
    340         col.trays.Emv = 1;
    341         col.cond.DP = 0.5 * 'atm';
    342        
    343         SET
    344         col.NTrays = 8;
    345         col.trays.V = 4 * 'ft^3';
    346         col.trays.Ah = 0.394 * 'ft^2';
    347         col.trays.lw = 20.94 * 'in';
    348         col.trays.hw = 0.125 * 'ft';
    349         col.trays.Q = 0 * 'kW';
    350         col.trays.beta = 0.6;
    351         col.trays.alfa = 4;
    352         col.trays.Ap = 3.94 * 'ft^2';
    353         col.reb.DP = 0.5 * 'atm';
    354         col.tbottom.Across = 2.20 * 'm^2';
    355        
    356         INITIAL
    357         # ttop
    358         col.ttop.Outlet.T = 260 *'K';
    359         col.ttop.Level = 1 * 'm';
    360         col.ttop.Outlet.z([1:4]) = [0.65, 0.05, 0.01, 0.01];
    361 
    362         # tbottom
    363         col.tbottom.Outlet.T = 330 *'K';
    364         col.tbottom.Level = 1 * 'm';
    365         col.tbottom.Outlet.z([1:4]) = [0.1, 0.7, 0.01, 0.01];
    366 
    367         # column trays
    368         col.trays.OutletL.T = [290:(330-290)/(col.NTrays-1):330] * 'K';
    369         col.trays.Level = 1.2 * col.trays.hw;
    370         col.trays.OutletL.z([1:4]) = [0.5, 0.05, 0.01, 0.01];
    371 
    372         OPTIONS
    373         TimeStep = 0.1;
    374         TimeEnd = 50;
    375         #time = [0:0.01:1, 2:50];
    376         #GuessFile="Distillation_kettle_cond_Test.rlt";
    377         #Dynamic = false;       
    378 end
    379282
    380283FlowSheet Column_ctrl
     
    467370        PC.Parameters.gain = 0.5;
    468371        PC.Parameters.derivTime = 1*'s';
    469         PC.Ports.setPoint = (2.0*'bar'-Pmin)/(Pmax-Pmin);
     372        PC.Ports.setPoint = (4.0*'bar'-Pmin)/(Pmax-Pmin);
    470373        PC.Ports.input = Pad;
    471374        Pad = (col.cond.OutletV.P-Pmin)/(Pmax-Pmin);
     
    519422        feed.Outlet.F = 113.4 * 'kmol/h';
    520423        feed.Outlet.T = 291 * 'K';
    521         feed.Outlet.P = 168.3 * 'kPa';
     424        feed.Outlet.P = 5 * 'bar';
    522425        feed.Outlet.z = 1/NComp;
    523426       
     
    529432        zero.h = 0 * 'J/mol';
    530433       
    531         Qr.OutletQ.Q = 3e6 * 'kJ/h';
     434        Qr.OutletQ.Q = 4e6 * 'kJ/h';
    532435        col.pump1.dP = 16 * 'kPa';
    533436        col.trays.Emv = 1;
     
    565468        Hmaxb = 2 * 'm';
    566469        Pmin = 0.5 * 'bar';
    567         Pmax = 4 * 'bar';
     470        Pmax = 6 * 'bar';
    568471        Qcmax = -5e5 * 'kJ/h';
    569472        Qcmin = -5e6 * 'kJ/h';
  • trunk/sample/stage_separators/sample_columnReact.mso

    r313 r346  
    105105        feed.Outlet.F = 1.076 * 'mol/s';
    106106        feed.Outlet.T = 300 * 'K';
    107         feed.Outlet.P = 1.0 * 'atm';
     107        feed.Outlet.P = 3.0 * 'atm';
    108108        feed.Outlet.z = [0.4962, 0.4808, 0, 0.0229];
    109109
     
    115115        zero.h = 0 * 'J/mol';
    116116
    117         col.p.dP = 0.95 * 'atm' - col.sp.Outlet2.P;
     117        col.p.dP = 2 * 'atm' - col.sp.Outlet2.P;
    118118        col.trays.Emv = 1;
    119119       
     
    241241        # condenser
    242242        col.cond.OutletL.T = 300 *'K';
    243         col.cond.Level = 0.1 * 'm';
     243        col.cond.Level = 0.4 * 'm';
    244244        col.cond.OutletL.z([1:3]) = [0.4962, 0.4808, 0];
    245245
    246246        # reboiler
    247247        col.reb.OutletL.T = 300 * 'K';
    248         col.reb.Level = 0.1 * 'm';
     248        col.reb.Level = 0.4 * 'm';
    249249        col.reb.OutletL.z([1:3]) = [0.4962, 0.4808, 0];
    250250
Note: See TracChangeset for help on using the changeset viewer.