Changeset 841


Ignore:
Timestamp:
Aug 31, 2009, 4:57:29 PM (13 years ago)
Author:
gerson bicca
Message:

improved reboiler model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/eml/stage_separators/reboiler.mso

    r821 r841  
    1515*----------------------------------------------------------------------
    1616* Author: Paula B. Staudt
    17 * $Id: reboiler.mso 555 2008-07-18 19:01:13Z rafael $
     17* $Id$
    1818*--------------------------------------------------------------------*#
    1919
    2020using "streams";
    21 
    22 Model reboilerSteady
    23 
    24 ATTRIBUTES
    25         Pallete         = true;
    26         Icon            = "icon/ReboilerSteady";
    27         Brief           = "Model of a  Steady State reboiler with no thermodynamics equilibrium - thermosyphon.";
    28         Info            =
    29 "== ASSUMPTIONS ==
    30 * perfect mixing of both phases;
    31 * no thermodynamics equilibrium;
    32 
    33 == SET ==
    34 * the pressure drop in the reboiler;
    35 * the FlowConstant that relates the Flow through the reboiler and the heat duty
    36 **      Flow^3 = FlowConstant*InletQ
    37 
    38 == SPECIFY ==
    39 * the InletLiquid stream;
    40 * the InletQ (the model requires an energy stream, also you can use a controller for setting the heat duty using the heat_flow model)
    41 OR the outlet temperature (OutletVapour.T);
    42 
    43 == OPTIONAL ==
    44 * the reboiler model has two control ports
    45 ** TI OutletVapour Temperature Indicator;
    46 ** PI OutletVapour Pressure Indicator;
    47 ";     
    48 
    49 PARAMETERS
    50         outer PP                as Plugin               (Brief = "External Physical Properties", Type="PP");
    51         outer NComp     as Integer              (Brief="Number of Components");
    52         Pdrop                   as press_delta  (Brief="Pressure Drop in the reboiler", Symbol = "\Delta P");
    53         FlowConstant                    as Real (Brief = "Flow Constant");
    54         k                       as Real (Brief = "Flow Constant", Hidden = true, Unit='mol^3/(kg*m^2)');
    55 
    56 SET
    57 
    58         k = 1*'mol^3/(kg*m^2)';
    59        
    60 VARIABLES
    61         in      InletLiquid     as stream                               (Brief="Liquid inlet stream", PosX=0.345, PosY=1, Symbol="_{inL}");
    62         out     OutletVapour    as streamPH                             (Brief="Vapour outlet stream", PosX=0.17, PosY=0, Symbol="_{outV}");
    63         in      InletQ                  as power                                (Brief="Heat supplied", PosX=1, PosY=0.08, Symbol="Q_{in}", Protected = true);
    64         vV                              as volume_mol                   (Brief="Vapour Molar volume", Protected = true);
    65         rhoV                    as dens_mass                    (Brief="Vapour Density", Symbol = "\rho", Protected = true);
    66        
    67         out     TI as control_signal    (Brief="Temperature  Indicator of Reboiler", Protected = true, PosX=0.44, PosY=0);
    68         out     PI as control_signal    (Brief="Pressure Indicator of Reboiler", Protected = true, PosX=0.35, PosY=0);
    69 
    70 EQUATIONS
    71 
    72 "Molar Flow Balance"
    73         InletLiquid.F = OutletVapour.F;
    74 
    75 "Molar Composition Balance"
    76         InletLiquid.z = OutletVapour.z;
    77        
    78 "Vapour Volume"
    79         vV = PP.VapourVolume(OutletVapour.T, OutletVapour.P, OutletVapour.z);
    80        
    81 "Vapour Density"
    82         rhoV = PP.VapourDensity(OutletVapour.T, OutletVapour.P, OutletVapour.z);
    83 
    84 "Energy Balance"
    85         InletLiquid.F*InletLiquid.h + InletQ = OutletVapour.F*OutletVapour.h;
    86        
    87 "Pressure Drop"
    88         OutletVapour.P = InletLiquid.P - Pdrop;
    89 
    90 "Temperature indicator"
    91         TI * 'K' = OutletVapour.T;
    92 
    93 "Pressure indicator"
    94         PI * 'atm' = OutletVapour.P;
    95        
    96 "Flow through the reboiler"
    97         OutletVapour.F^3 = FlowConstant*k*InletQ;
    98 
    99 end
    10021
    10122Model thermosyphon
     
    17091end
    17192
    172 Model reboilerSteady_fakeH
    173 
    174         ATTRIBUTES
     93Model reboilerSteady
     94
     95ATTRIBUTES
    17596        Pallete         = true;
    17697        Icon            = "icon/ReboilerSteady";
    177         Brief           = "Model of a  Steady State reboiler with fake calculation of outlet conditions.";
     98        Brief           = "Model of a  Steady State reboiler with no thermodynamics equilibrium - thermosyphon.";
    17899        Info            =
    179 "Model of a  Steady State reboiler with fake calculation of vaporisation fraction and output temperature, but with a real
     100"Model of a  Steady State reboiler with two approaches:
     101**Fake Conditions: fake calculation of vaporisation fraction and output temperature, but with a real
    180102calculation of the output stream enthalpy.
     103
     104**Flash PH: in the outlet stream a PH Flash is performed to obtain the outlet conditions.
    181105
    182106== ASSUMPTIONS ==
     
    185109
    186110== SET ==
    187 * the fake Outlet temperature ;
     111* the option Flash_Calculation
     112* the fake Outlet temperature;
    188113* the fake outlet vapour fraction;
    189114* the pressure drop in the reboiler;
     
    194119* the InletLiquid stream;
    195120* the InletQ (the model requires an energy stream, also you can use a controller for setting the heat duty using the heat_flow model)
    196 ;
     121OR the outlet temperature (OutletVapour.T);
    197122
    198123== OPTIONAL ==
     
    202127";     
    203128
    204        
    205129PARAMETERS
    206         outer PP        as Plugin(Brief = "External Physical Properties", Type="PP");
    207         outer NComp as Integer;
     130        outer PP                as Plugin               (Brief = "External Physical Properties", Type="PP");
     131        outer NComp     as Integer              (Brief="Number of Components");
     132        Flash_Calculation as Switcher (Brief="Flash Calculation", Valid=["Flash_PH","Fake_Conditions"],Default="Fake_Conditions");
     133        Pdrop                   as press_delta  (Brief="Pressure Drop in the reboiler", Symbol = "\Delta P");
     134        FlowConstant                    as Real (Brief = "Flow Constant");
    208135        Fake_Temperature                as temperature  (Brief="Fake temperature", Symbol = "T_{fake}");
    209136        Fake_Vfrac              as fraction     (Brief="Fake vapour fraction", Symbol = "v_{fake}");
    210         Pdrop           as press_delta  (Brief="Pressure Drop in the reboiler", Symbol = "\Delta P");
    211         FlowConstant                    as Real (Brief = "Flow Constant");
    212137        k                       as Real (Brief = "Flow Constant", Hidden = true, Unit='mol^3/(kg*m^2)');
    213138
     
    217142       
    218143VARIABLES
    219         in      InletLiquid     as stream                               (Brief="Liquid inlet stream", PosX=0.345, PosY=1, Symbol="_{inL}");
    220         out     OutletVapour    as stream                               (Brief="Vapour outlet stream", PosX=0.17, PosY=0, Symbol="_{outV}");
    221         in      InletQ                  as power                                (Brief="Heat Duty", PosX=1, PosY=0.08, Symbol="Q_{in}", Protected = true);
     144        in      InletLiquid     as stream                       (Brief="Liquid inlet stream", PosX=0.345, PosY=1, Symbol="_{inL}", Protected = true);
     145        out     OutletVapour    as stream                       (Brief="Vapour outlet stream", PosX=0.17, PosY=0, Symbol="_{outV}", Protected = true);
     146        in      InletQ                  as power                        (Brief="Heat supplied", PosX=1, PosY=0.08, Symbol="Q_{in}", Protected = true);
     147
     148        x(NComp) as fraction    (Brief = "Liquid Molar Fraction",Hidden=true);
     149        y(NComp) as fraction    (Brief = "Vapour Molar Fraction",Hidden=true);
    222150
    223151        out     TI as control_signal    (Brief="Temperature  Indicator of Reboiler", Protected = true, PosX=0.44, PosY=0);
     
    226154EQUATIONS
    227155
    228 "Molar Balance"
     156"Molar Flow Balance"
    229157        InletLiquid.F = OutletVapour.F;
    230        
    231 "Composition Balance"
     158
     159"Molar Composition Balance"
    232160        InletLiquid.z = OutletVapour.z;
    233161       
     
    236164       
    237165"Pressure Drop"
    238         OutletVapour.P = InletLiquid.P - Pdrop ;
     166        OutletVapour.P = InletLiquid.P - Pdrop;
     167
     168"Temperature indicator"
     169        TI * 'K' = OutletVapour.T;
     170
     171"Pressure indicator"
     172        PI * 'atm' = OutletVapour.P;
     173       
     174"Flow through the reboiler"
     175        OutletVapour.F^3 = FlowConstant*k*InletQ;
     176
     177switch  Flash_Calculation
     178
     179        case "Flash_PH":
     180
     181"Flash Calculation"
     182        [OutletVapour.v, x, y] = PP.FlashPH(OutletVapour.P, OutletVapour.h, OutletVapour.z);
     183       
     184"Enthalpy"
     185        OutletVapour.h = (1-OutletVapour.v)*PP.LiquidEnthalpy(OutletVapour.T, OutletVapour.P, x) +
     186        OutletVapour.v*PP.VapourEnthalpy(OutletVapour.T, OutletVapour.P, y);
     187
     188        case "Fake_Conditions":
    239189
    240190"Fake Vapourisation Fraction"
     
    244194        OutletVapour.T = Fake_Temperature;
    245195
    246 "Temperature indicator"
    247         TI * 'K' = OutletVapour.T;
    248 
    249 "Pressure indicator"
    250         PI * 'atm' = OutletVapour.P;
    251        
    252 "Flow through the reboiler"
    253         OutletVapour.F^3 = FlowConstant*k*InletQ;
     196"Fake Liquid Molar Fraction"
     197        x = 1;
     198
     199 "Fake Vapour Molar Fraction"
     200        y = 1;
     201
     202end
    254203
    255204end
Note: See TracChangeset for help on using the changeset viewer.