Vapour Liquid Equilibrium (VLE)

From SysCAD Documentation
Jump to navigation Jump to search

Navigation: Models ➔ Sub-Models ➔ Vapour Liquid Equilibrium (VLE)


General Description

The VLE block or sub-model is used to calculate the vapour-liquid equilibrium state and adjust the fractions of these vapour and liquid species in the model or stream. The VLE sub-model is used in a number of unit models. Different models may have options to specify some of the required state variable results for the VLE calculations. The VLE block is typically used in one of these three ways:

  • Flash off vapour (e.g. flash tank, where user may specify required operating pressure or temperature)
  • Condense vapour (e.g. condensing shell & tube heater, where user may specify requirement to condense all vapour)
  • Adjust vapour/liquid ratio (e.g. pipe, where the ratio of vapour/liquid is adjusted to equilibrium for the current pressure & temperature)

Notes:

  1. VLE is most commonly used for H2O (steam / water) calculations. Please see Water and Steam Properties for information about the equations used in SysCAD for H2O.
  2. If the species model used includes a Boiling Point Elevation (BPE) correlation, this will be accounted for in the VLE calculations for single component VLE. See also Boiling Point Elevation for Std Model.
  3. If other vapours are present (for example non-condensables) then these will have an effect on the VLE and the final pressure exerted by the flash component is its 'Partial Pressure' and not the full pressure.
  4. Multiple components may be available for use in VLE if there is a liquid and vapour phase species present together with a suitable vapour pressure equation.
  5. For a component with a vapour phase (e.g. CO2(g)) and with multiple liquid phase species (e.g. CO2(aq) and CO2(aq)) then only one of the liquid phase species will participate in VLE calculations and the alternate liquid species is ignored.

Model Theory

The sub-model is used or configured to achieve vapour : liquid equilibrium at a required pressure (or temperature) using the user defined VLE method. It may also be used to fully condense all of the vapours or flash all of the liquid. At this stage only two phase flash calculations are handled in SysCAD. Any solids are ignored in the flash calculations, however the enthalpy balance does include the solids. The temperature and amount of material which changes phase is calculated using an adiabatic flash routine. The routine used depends on the VLE specified by the user.

The two broad categories of VLE theory used in SysCAD are VLE of a single component or VLE for multiple components using K values1.

Single Component VLE

The Temperature : Pressure curves for saturated steam is automatically part of the SysCAD internal data. For other species the required data (vapour pressure equation) needs to be entered in the species database to allow the user to select other components for the single component VLE calculations.

The solver will attempt to obtain equilibrium between the vapour and liquor phases of H2O (or selected component) at the user defined flash pressure. If the unit is using the default species model, Standard, then the equilibrium point will be saturated conditions of selected species (for H2O this would be saturated steam as found in Steam Tables).

If the unit uses a species model with an Elevated Boiling point calculation, then the equilibrium point will be adjusted to compensate for the changed boiling point (for H2O case).

Partial Pressure

The partial pressure of any species is calculated as follows:

[math]\displaystyle{ \mathbf{\mathit{P_a = y_a\times P_T}} }[/math]

where

Pa = partial pressure of species 'a'
ya = mole fraction of species 'a' in vapour phase
PT = total pressure of the stream

Multiple Component VLE

BlogIcon.png Discussion Page
K Values in Multicomponent VLE

In this case the model will use K values to determine the phase equilibrium at the required pressure. The K values are either specified by the user, or are the ideal values.

The basic equations that need to be solved to obtain the equilibrium point are:

  • [math]\displaystyle{ \mathbf{\mathit{f_1(V_2T_2)=\sum_i \cfrac {z_i(1-K_i)}{1+V(K_i-1)}=0}} }[/math]
  • [math]\displaystyle{ \mathbf{\mathit{f_1(V_2T_2)=H^F-V(H^V-H^L)-H^L=0}} }[/math]
where:
V Vapour Flow rate
T2 Temperature after flash
zi Mole fraction of component i in the Feed
Ki Vapour-Liquid equilibrium Ratio of component i
HF Enthalpy of Feed
HV Enthalpy of Vapour fraction
HL Enthalpy of Liquid fraction

The model will use iterative techniques to solve the above equations simultaneously. If, after a large number of iterations, convergence is not achieved, the model will flag the user with a message that Vapour : Liquid equilibrium was not achieved.

References

Coker, A.K., "Equilibrium flash calculations quickly computed on PC", Oil & Gas Journal, Jan 14, 1991.

Vapour Pressure Data

The vapour pressure data for H2O is included in SysCAD. Users can add new species to the list by following these steps:

We will use ammonia as an example:

  • Edit the SysCAD Database to include both the liquid and vapour phase of ammonia.
  • For NH3(g), make sure the field Vp and Tc contain valid data. (See Species Table - Vapour Pressure for further information.)
  • Next, close any opened projects and edit the project configuration file to include NH3(g) and NH3(aq) in the Display List. (See Species Configuration for further information.)
  • Caution SysCAD VLE currently only supports a single liquid phase species. Only one of NH3(aq) and NH3(l) can be used within VLE calculations (the other is ignored).
  • Reload the project and the ammonia should be available as a flash component.
    VLE species.png
  • Choose ammonia from the VLE Tab Component droplist.


See also Example for Vapour Pressure Data fitting

Data Sections

Tag (Long/Short) Input / Calc Description/Calculated Variables

Requirements

Model Single/Vapour P This option allows the user to set the vapour fraction of a single component at a fixed percentage.
Multi/Fixed K This allows the user to set the K values of the relevant components in the species list.
Multi/Ideal K's This option uses the ideal K values for the relevant components. In this option the user does not set any further variables, as these all become read only.
State FeedBack This will display the calculation state of the block. If there are no warnings or errors this will be 'OK'.

Data Section for Single Component VLE

The following fields are only shown if Model = Single/Vapour P. Please refer to Data Section for Multi Component VLE for other models.

Tag (Long/Short) Input / Calc Description/Calculated Variables
Component List The user may choose which component to flash.
Note: Only components with VLE data in the species database will be available in the drop down list. (See the ammonia example described on the top of the page.)
PrevVapFrac Input
PrevVapPress Input
BPE.Method None The Boiling Point Elevation will be set to zero in this unit.
StreamModel The Boiling Point Elevation will be calculated based on the stream model.
If the Standard Species Model is used, this will use the method defined in the Plant Model - Standard Properties Model Options, which is either None or van't Hoff. Please see Boiling Point Elevation Definition for more information on this equation.
If a Species Properties Model is detected, the BPE value will be based on the calculation defined for that Species Properties Model.
User The user may enter a value to be used for the Boiling Point Elevation in this unit. This value must be between BPE_LoLimit and BPE_HiLimit which are specified in Plant Model - Species tab. Default range is between 0°C and 20°C.
VantHoff Only visible if at least one species in the project has van't Hoff constants defined in the species database. The Boiling Point Elevation will be calculated based on the van't Hoff equation and the constants entered by the user into the species database. Equation is described in Boiling Point Elevation Definition.
BPE.User Input Only visible if BPE.Method = User. The user specified Boiling Point Elevation in this unit. This value must be between BPE_LoLimit and BPE_HiLimit specified in PlantModel on the Species tab page.
BPE.ScaleOrOffset Tick Box Only visible if BPE.Method is NOT set to None. If this is enabled then the user may apply a scaling value to the calculated BPE value, and / or an offset. The following 2 fields will become visible if this box is ticked:
BPE.Scale Input The required scaling value to apply to the calculated BPE value.
BPE.Offset Input The required offset value to add to the calculated BPE value.
 
GridDisplay Tick Box This is a global selection, if this is selected, then where available, variables will display in a table format, if not selected, they will be listed in separate groups as a single list.

Feed OR Product Conditions

Feed... OR Prod...
Temperature / T Display The stream Temperature.
TotalP Display The stream Total Pressure.
PartialP Display The Partial Pressure of the flashing species (often H2O(g)) in the stream.
SatP@T Display The saturation pressure at stream temperature.
SatT@PP Display The saturation temperature at stream Partial Pressure.
SatT@P Display The saturation temperature at stream Total Pressure.
SuperHeat@PP Display The degree of super heat at stream Partial Pressure.
SuperHeat@P Display The degree of super heat at stream Total Pressure.
MassFlow / Qm Display The total mass flowrate in the stream.
VapourMassFlow / VQm Display The vapour volumetric flowrate in the stream.
VapourFrac / Vf Display The vapour fraction in the stream.
FlashVapFlow / FlashVapQm Display The flow of the flash vapour species (often H2O(g)) in the stream.
FlashVapFrac Display The mass fraction of the flash vapour species (often H2O(g)) in the stream.

Results

VapFlashed.MassFlow / Qm Calc The mass of vapour flashed. Negative values indicate condensing.
LiqFlashed.Fraction / Frac Calc The fraction of liquid phase flash species that converts to vapour.
LiqFinal.Fraction / Frac Calc The final liquid phase fraction of the flash species (liquid phase flash species / total liquid).
BPE Calc The boiling point elevation value used in the VLE calculation.
InertStatus Display Available from Build 139.30836. Displays the presence of inert (non-condensable and non-volatile) species as text.
LiquorModel Display Displays the calculation SpModel used for liquor properties. This may be Standard where the Standard Mass Weighted mean model is used, or it may be a different species model, such as Bayer or a client specific species model.
SatMethodUsed Display Displays the method used to calculate the mixture's saturation conditions.

Data Section for Multi Component VLE

The following fields are only shown if Model = Multi/Fixed K OR Multi/Ideal K's. Please refer to Data Section for Single Component VLE for Model = Single/Vapour P.

Tag (Long/Short) Input / Calc Description/Calculated Variables
K..
XXX Input/Display The K value for component XXX. If Model = Multi/Fixed K then this is a user specified value (input). If Model = Multi/Ideal K's, then this will be a calculated value.
If there are multiple liquid phase species for the component, the liquid phase species ignored will be shown as a comment to RHS of the K value.
 
GridDisplay Tick Box This is a global selection, if this is selected, then where available, variables will display in a table format, if not selected, they will be listed in separate groups as a single list.

Feed OR Product Conditions

Feed... OR Prod...
Temperature / T Display The stream Temperature.
TotalP Display The stream Total Pressure.
MassFlow / Qm Display The total mass flowrate in the stream.
VapourMassFlow / VQm Display The vapour volumetric flowrate in the stream.
VapourFrac / Vf Display The vapour fraction in the stream.
FlashVapFlow / FlashVapQm Display The flow of the flash vapour species in the stream.
FlashVapFrac Display The mass fraction of the flash vapour species in the stream.
XXX(l).Qm Display Available from Build 139.30807. The flow of flash liquor for component XXX (e.g. H2O(l)) in the stream.
XXX(g).Qm Display Available from Build 139.30807. The flow of the flash vapour for component XXX (e.g. H2O(g)) in the stream.

Results

VapFlashed.MassFlow / Qm Calc The mass of vapour flashed. Negative values indicate condensing.
LiqFlashed.Fraction / Frac Calc
LiqFinal.Fraction / Frac Calc
BubblePt Calc Available from Build 139.30807. The bubble point, the temperature where the first bubble of vapour is formed. May be undefined (*) if not applicable.
DewPt Calc Available from Build 139.30807. The dew point, the temperature where the first drop of vapour begins to condense. May be undefined (*) if not applicable.
InertStatus Display Available from Build 139.30836. Displays the presence of inert (non-condensable and non-volatile) species as text.
LiquorModel Display Displays the calculation SpModel used for liquor properties. This may be Standard where the Standard Mass Weighted mean model is used, or it may be a different species model, such as Bayer or a client specific species model.
SatMethodUsed Display Displays the method used to calculate the mixture's saturation conditions.

Phase Change Limits

Two important VLE limits, available from Build 139.31157, for each VLE component are defined in the Plant Model - Species tab:

  • FracToVap.Max - The maximum final fraction of the VLE species in vapour phase versus the total of that species in the liquid and vapour phases.
  • FracInLiq.Min - The minimum final fraction of the VLE species in the liquid phase versus all other liquid phase species. Especially important for H2O to ensure correct behaviour of aqueous (aq) species.

Further Notes

The following discussion relates primarily to the use of VLE (the VLEquilibrium field) in a Feeder.

Simple Liquors

If no non-condensable gases are present, then for the component we have a single vapour species in equilibrium with the liquor.

For the generic case (Bayer liquor, steam vapour) the vapour is actually superheated. The non-volatile components in the liquor lead to Boiling Point Elevation', so the vapour temperature is higher than the saturation temperature for pure water at that pressure.

In general the Saturated or Superheated Vapour options will be meaningless here. In some cases it may be possible to flash off all of the water from a particular liquor, but the present implementations have correlations that are pretty much meaningless when there are low levels of water (high concentrations of caustic/alumina etc. in the case of Bayer liquors).

  • For a given fixed temperature:
    • If the pressure is greater or equal to the liquor vapour pressure, then we have pure liquid.
    • If the pressure is below the liquor vapour pressure, then steam will flash off. The residual liquor will have a greater boiling point elevation (or equivalently a lower vapour pressure). Note that this is not a flash calculation: i.e. we keep the temperature fixed. We must adjust the composition to get the right vapour pressure at that temperature.

Whether non-condensable gases are present or not, these calculations with liquors are more complex than for the single component case, since the BPE or saturation pressure changes with composition. With only a pure component in the liquid phase, the saturation pressure is fixed.

Simple Liquors with non-condensable gases

This situation arises in modelling Bayer liquors and other aqueous solutions. Because the partial pressure of the volatile vapour (steam in this case) must be equal to the saturation pressure, small amounts of non-condensable gases can generate large fractions of steam in the vapour phase.

If non-condensable gases are present, then some vapour will evaporate from the liquor so that the partial pressure of vapour in the non-condensable gases is equal to the vapour pressure of the liquor. Thus even if the liquor is subcooled (wrt the system pressure) there may be some fraction of vapour in the gas phase.

In practice however, we may want to have a saturated liquor together with non-condensable gases alone (without vapour). Using the Saturated_Liq options will achieve this.

VLE Option Matrix (as used in Feeder)

Name PARAM RESULT Pure Component Liquor (with Non-volatiles) Pure Comp + non-condensable gases Liquor + NC Selectable in Operation Mode
Off T,P - Yes* Yes* Yes* Yes* All
Saturated_Vap(T) T P, X=1 Yes No Yes No General, Vapour, Steam
Saturated_Vap(P) P T, X=1 Yes No Yes No General, Vapour, Steam
Superheated_Vap(dT,P) Degree Superheat, P X=1 Yes No Yes No General, Vapour, Steam
Superheated_Vap(T,P) T,P X=1 Yes No Yes No General, Vapour, Steam
Saturated_Liq(T) T P, X=0 Yes Yes No No General, Liquids, Slurry, Water
Saturated_Liq(P) P T, X=0 Yes Yes No No General, Liquids, Slurry, Water
Subcooled_Liq(dT,P) Degree Subcool, P X=0 Yes Yes No No General, Liquids, Slurry, Water
Subcooled_Liq(T,P) T,P X=0 Yes Yes No No General, Liquids, Slurry, Water
Saturated(X,T) T,X P Yes NI NI NI General
Saturated(X,P) P,X T Yes NI NI NI General
Saturated_NonCond(T,P) T,P X No** Yes Yes Yes General
RelativeHumidity T, P, RH X Yes Yes General
  • Yes - Available and physically meaningful
  • * - If VLE is off, anything goes, the resulting stream may not be in equilibrium and quality can be set arbitrarily.
  • ** - Unless P=PSat(T)
  • No - Not physically meaningful; should be avoided, behavior is undefined.
  • NI - (Not Implemented) Possibly meaningful but not specifically implemented, undefined behaviour if used.

If you are using the VLE option, you should ensure that you choose conditions that are physically realistic. The cases flagged here are not physically achievable in true VLE conditions.

However they can still be used: just use care in interpreting the results. For example, if you are venting non-condensable gases and don't want to change the composition of the liquor (due to venting small amounts of steam as well), selecting Saturated_Liq(T) will ensure that no vapour is present.