Ignore:
File:
1 edited

Legend:

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

    r46 r1  
    141141end
    142142
    143 Model reboilerSteady_fakeH
    144         PARAMETERS
    145 ext PP as CalcObject;
    146 ext NComp as Integer;
    147         DP as press_delta (Brief="Pressure Drop in the reboiler");
    148         k as Real (Brief = "Flow Constant", Unit="mol/J");
    149        
    150         VARIABLES
    151 in      InletL as stream; #(Brief="Liquid inlet stream");
    152 out     OutletV as stream; #(Brief="Vapour outlet stream");
    153 in      Q as heat_rate (Brief="Heat supplied");
    154 
    155         EQUATIONS
    156         "Molar Balance"
    157         InletL.F = OutletV.F;
    158         InletL.z = OutletV.z;
    159        
    160         "Energy Balance"
    161         InletL.F*InletL.h + Q = OutletV.F*OutletV.h;
    162        
    163         "Pressure"
    164         DP = InletL.P - OutletV.P;
    165 
    166         "Fake Vapourisation Fraction"
    167         OutletV.v = 1.0;
    168        
    169         "Fake output temperature"
    170         OutletV.T = 300*"K";
    171        
    172         "Pressure Drop through the reboiler"
    173         OutletV.F = k*Q;
    174 end
    175 
    176 #*-------------------------------------------------------------------
    177 * Model of a dynamic reboiler with reaction
    178 *-------------------------------------------------------------------*#
    179 Model reboilerReact
    180         PARAMETERS
    181 ext PP as CalcObject;
    182 ext NComp as Integer;
    183         Across as area (Brief="Cross Section Area of reboiler");
    184         V as volume (Brief="Total volume of reboiler");
    185 
    186         stoic(NComp) as Real(Brief="Stoichiometric matrix");
    187         Hr as energy_mol;
    188         Pstartup as pressure;
    189 
    190         VARIABLES
    191 in      Inlet as stream;                        #(Brief="Feed Stream");
    192 in      InletL as stream;                       #(Brief="Liquid inlet stream");
    193 out     OutletL as stream_therm;        #(Brief="Liquid outlet stream");
    194 out     OutletV as stream_therm;        #(Brief="Vapour outlet stream");
    195 
    196         Q as heat_rate (Brief="Heat supplied");
    197         M(NComp) as mol (Brief="Molar Holdup in the tray");
    198         ML as mol (Brief="Molar liquid holdup");
    199         MV as mol (Brief="Molar vapour holdup");
    200         E as energy (Brief="Total Energy Holdup on tray");
    201         vL as volume_mol (Brief="Liquid Molar Volume");
    202         vV as volume_mol (Brief="Vapour Molar volume");
    203         Level as length (Brief="Level of liquid phase");
    204         Vol as volume;
    205         startup as Real;
    206         rhoV as dens_mass;
    207         r as reaction_mol (Brief = "Reaction resulting ethyl acetate", Unit = "mol/l/s");
    208         C(NComp) as conc_mol (Brief = "Molar concentration", Lower = -1);
    209 
    210         EQUATIONS
    211         "Molar Concentration"
    212         OutletL.z = vL * C;
    213        
    214         "Component Molar Balance"
    215         diff(M)= Inlet.F*Inlet.z + InletL.F*InletL.z
    216                 - OutletL.F*OutletL.z - OutletV.F*OutletV.z + stoic*r*ML*vL;
    217        
    218         "Energy Balance"
    219         diff(E) = Inlet.F*Inlet.h + InletL.F*InletL.h
    220                 - OutletL.F*OutletL.h - OutletV.F*OutletV.h + Q + Hr * r * vL*ML;
    221        
    222         "Molar Holdup"
    223         M = ML*OutletL.z + MV*OutletV.z;
    224        
    225         "Energy Holdup"
    226         E = ML*OutletL.h + MV*OutletV.h - OutletL.P*V;
    227        
    228         "Mol fraction normalisation"
    229         sum(OutletL.z)=1.0;
    230        
    231         "Liquid Volume"
    232         vL = PP.LiquidVolume(OutletL.T, OutletL.P, OutletL.z);
    233         "Vapour Volume"
    234         vV = PP.VapourVolume(OutletV.T, OutletV.P, OutletV.z); 
    235         "Vapour Density"
    236         rhoV = PP.VapourDensity(OutletV.T, OutletV.P, OutletV.z);
    237        
    238         "Level of liquid phase"
    239         Level = ML*vL/Across;
    240 
    241         Vol = ML*vL;
    242        
    243         "vaporization fraction "
    244         OutletV.v = 1.0;
    245         OutletL.v = 0.0;
    246        
    247         "Mechanical Equilibrium"
    248         OutletL.P = OutletV.P;
    249        
    250         "Thermal Equilibrium"
    251         OutletL.T = OutletV.T; 
    252        
    253         "Geometry Constraint"
    254         V = ML*vL + MV*vV;             
    255 
    256         "Chemical Equilibrium"
    257         PP.LiquidFugacityCoefficient(OutletL.T, OutletL.P, OutletL.z)*OutletL.z =
    258         PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, OutletV.z)*OutletV.z;
    259 
    260         sum(OutletL.z)=sum(OutletV.z);
    261        
    262 end
Note: See TracChangeset for help on using the changeset viewer.