Air-Water Equilibrium (AWE) Property Package
This property package implements property relationships for an aqueous liquid phase in equilibrium with air.
- The AWE property package:
contains a liquid and a vapor phase;
sets water as the solvent for the liquid phase;
sets air as the solvent for the vapor phase;
uses mass flowrate, pressure, and temperature as state variables;
does not support dynamics
Configuration
The AWE property package has several configuration options depending on the user’s preferences.
These are set via a Python dict when building the flowsheet.
Details of the implications of different configuration options are described in a later section.
Option |
Description |
Default |
Required |
Units |
Form |
|---|---|---|---|---|---|
|
Solute names in stream |
User provided |
Yes |
\(\text{n/a}\) |
|
|
Molecular weight in for solutes in |
User provided |
Yes |
\(\text{kg mol}^{-1}\) |
|
|
Liquid and vapor phase diffusivity data |
User provided |
No |
\(\text{kg m}^{-1} \text{s}^{-1}\) |
|
|
Molar volume data for solutes |
User provided |
No |
\(\text{m}^{3} \text{ mol}^{-1}\) |
|
|
Critical molar volume data for solutes |
User provided |
No |
\(\text{m}^{3} \text{ mol}^{-1}\) |
|
|
Liquid and vapor phase density data |
|
No |
\(\text{kg m}^{-3}\) |
|
|
Liquid and vapor phase dynamic viscosity data |
|
No |
\(\text{Pa s}\) |
|
|
Dimensionless Henry’s Constant data for solutes |
User provided |
No |
\(\text{dimensionless}\) |
|
|
Boolean to indicate if Henry’s Constant should be temperature adjusted |
|
No |
\(\text{n/a}\) |
|
|
Standard enthalpy change of dissolution in water data for solutes |
User provided |
No |
\(\text{J mol}^{-1}\) |
|
|
Boiling temperature data for solutes |
User provided |
No |
\(\text{K}\) |
|
|
Charge data for solutes |
User provided |
No |
\(\text{K}\) |
|
|
Approach for liquid diffusivity calculation |
Hayduk-Laudie |
No |
\(\text{n/a}\) |
|
|
Approach for vapor diffusivity calculation |
Wilke-Lee |
No |
\(\text{n/a}\) |
|
|
Approach for molar volume calculation |
Tyn-Calus |
No |
\(\text{n/a}\) |
|
Note
1 default values are for 20 °C
Sets
The AWE property package contains two phases (Liq and Vap), two solvents (H2O and Air)
and as many solutes as the user provides via solute_list in the configuration.
Many properties in AWE are not calculated for every phase or component provided. Thus, several different indexing sets are created.
Description |
Symbol |
Name |
Indices |
|---|---|---|---|
All components and all solvents |
\(j\) |
|
|
Phases |
\(p\) |
|
|
Solvents |
\(j\) |
|
|
Components in liquid phase |
\(j\) |
|
|
Components in vapor phase |
\(j\) |
|
|
Solutes in liquid phase |
\(j\) |
|
|
Solutes in vapor phase |
\(j\) |
|
|
Solutes in both phases |
\(j\) |
|
|
Components in both phases |
\(j\) |
|
|
State variables
Description |
Symbol |
Variable |
Index |
Units |
|---|---|---|---|---|
Component mass flowrate |
\(M\) |
|
|
\(\text{kg}\text{ } \text{s}^{-1}\) |
Temperature |
\(T\) |
|
|
\(\text{K}\) |
Pressure |
\(P\) |
|
None |
\(\text{Pa}\) |
Parameters
Description |
Symbol |
Parameter |
Index |
Indexing Set |
Units |
|---|---|---|---|---|---|
Component molecular weight |
\(m_N\) |
|
|
|
\(\text{kg mol}^{-1}\) |
Molar volume of solute |
\(V\) |
|
|
|
\(\text{m}^3 \text{ mol}^{-1}\) |
Critical molar volume of solute |
\(V_c\) |
|
|
|
\(\text{m}^3 \text{ mol}^{-1}\) |
Dynamic viscosity |
\(\mu\) |
|
|
|
\(\text{Pa s}\) |
Component dimensionless Henry’s constant |
\(h_j\) |
|
|
|
\(\text{dimensionless}\) |
Standard enthalpy change of solution |
\(\Delta H_j^{\theta}\) |
|
|
|
\(\text{J}\text{ mol}^{-1}\) |
Boiling point temperature |
\(T_{b,j}\) |
|
|
|
\(\text{K}\) |
Properties
Description |
Symbol |
Variable |
Index |
Indexing Set |
Units |
|---|---|---|---|---|---|
Mass density of each phase |
\(\rho_p\) |
|
|
|
\(\text{kg m}^{-3}\) |
Mass density of each solvent |
\(\rho_s\) |
|
|
|
\(\text{kg m}^{-3}\) |
Component molar flowrate |
\(N\) |
|
|
|
\(\text{mol }\text{s}^{-1}\) |
Component mass fraction |
\(x\) |
|
|
|
\(\text{dimensionless}\) |
Component mass concentration |
\(m\) |
|
|
|
\(\text{kg m}^{-3}\) |
Component molar fraction |
\(y\) |
|
|
|
\(\text{dimensionless}\) |
Component molar concentration |
\(n\) |
|
|
|
\(\text{mol m}^{-3}\) |
Phase volumetric flowrate |
\(Q_p\) |
|
|
|
\(\text{m}^3\text{ } \text{s}^{-1}\) |
Phase gravimetric (mass) flowrate |
\(M_p\) |
|
|
|
\(\text{kg}\text{ } \text{s}^{-1}\) |
Total volumetric flowrate |
\(Q_{tot}\) |
|
None |
|
\(\text{m}^3\text{ } \text{s}^{-1}\) |
Mass diffusivity of solute |
\(D\) |
|
|
|
\(\text{m}^2 \text{ s}^{-1}\) |
Component energy of molecular attraction |
\(\varepsilon_j\) |
|
|
|
\(\text{erg}\) |
Air-component energy of molecular attraction |
\(\varepsilon_{air, j}\) |
|
|
|
\(\text{erg}\) |
Component collision molecular separation |
\(r_j\) |
|
|
|
\(\text{nm}\) |
Air-component collision molecular separation |
\(r_{air, j}\) |
|
|
|
\(\text{nm}\) |
Component collision function |
\(f(kT/\varepsilon_{air, j})\) |
|
|
|
\(\text{dimensionless}\) |
Component zeta for collision function |
\(\xi\) |
|
|
|
\(\text{dimensionless}\) |
Component ee for zeta of collision function |
\(E\) |
|
|
|
\(\text{dimensionless}\) |
Molar volume of solute |
\(V_j\) |
|
|
|
\(\text{m}^3 \text{ mol}^{-1}\) |
Component dimensionless Henry’s constant |
\(h_j\) |
|
|
|
\(\text{dimensionless}\) |
Saturation vapor pressure of water |
\(P_{sat}\) |
|
|
|
\(\text{Pa}\) |
Vapor pressure of water |
\(P_{vap}\) |
|
|
|
\(\text{Pa}\) |
Relative humidity |
\(rh\) |
|
|
|
\(\text{dimensionless}\) |
Latent heat of vaporization |
\(L_v\) |
|
None |
None |
\(\text{kJ kg}^{-1}\) |
Specific heat of water |
\(c_{p}\) |
|
|
|
\(\text{kJ kg}^{-1} \text{K}^{-1}\) |
Relationships
Description |
Equation/Relationship |
|---|---|
Component mass fraction |
\(x_j=\frac{M_j}{\sum_j{M_j}}\) |
Component mass concentration |
\(m_j=\rho_p x_j\) |
Component molar fraction |
\(y_j=\frac{N_j}{\sum_j{N_j}}\) |
Component molar concentration |
\(n_j=\frac{m_j}{m_{N,j}}\) |
Phase volumetric flowrate |
\(Q_p=\frac{\sum_j{N_j m_{Nj}}}{\rho}\) |
Phase gravimetric flowrate |
\(M_p=Q_p \rho_p\) |
Total volumetric flowrate |
\(Q_{tot}=\sum_p{Q_p}\) |
Mass density of each phase 1 |
\(\rho_p\text{ specified as user input (default) or calculated via correlation in Sharqawy (liquid) or via CIPM-2007 correlation (vapor)}\) |
Mass density of each solvent 2 |
\(\text{Calculated from Sharqawy correlation (water) or via CIPM-2007 correlation (air)}\) |
Component mass liquid phase diffusivity 3 |
\(D_{liq}\text{ specified as user input or calculated via Hayduk-Laudie correlation}\) |
Component mass vapor phase diffusivity 4 |
\(D_{vap}\text{ specified as user input or calculated via Wilke-Lee correlation}\) |
Component Henry’s constant 5 |
\(h_j\text{ specified as user input or calculated via van't Hoff correlation}\) |
Component molar volume 6 |
\(V_j\text{ specified as user input or calculated via Tyn-Calus correlation}\) |
Vapor pressure of water 7 |
\(P_{vap}\text{ specified as user input or calculated from relative humidity}\) |
Saturation vapor pressure of water 8 |
\(P_{sat}\text{ specified as user input or calculated via the Arden-Buck (default), Huang, or Antoine correlation}\) |
Relative humidity 9 |
\(rh\text{ specified as user input or calculated from } \frac{P_{vap}}{P_{sat}}\) |
Latent heat of vaporization 10 |
\(L_v \text{ specified as user input or calculated from Sharqawy correlation}\) |
Specific heat of water 11 |
\(c_p \text{ specified as user input or calculated from Sharqawy correlation}\) |
Note
1 Density for both phases can either be (1) specified when the user provides data via the density_data configuration option or (2) calculated by the correlation defined in Sharqawy, M. H., Lienhard V, J. H., & Zubair, S. M. (2010) for the liquid phase and CIPM-2007 correlation for the vapor phase (eq A1.1, EURAMET ref.). For the latter, the density_calculation configuration option must be set to DensityCalculation.calculated. Note for the vapor phase density calculation, Air is assumed to be the only component.
2 Density for each solvent (pure water and air) is calculated by the correlation defined in Sharqawy, M. H., Lienhard V, J. H., & Zubair, S. M. (2010) for pure water and via the CIPM-2007 correlation for air (eq. A1.1, EURAMET ref.).
3 Liquid phase diffusivity can either be (1) specified when the user provides data via the diffusivity_data configuration option or (2) calculated by the correlation defined in Hayduk, W., & Laudie, H. (1974). For the latter, the liq_diffus_calculation configuration option must be set to LiqDiffusivityCalculation.HaydukLaudie.
4 Vapor phase diffusivity can either be (1) specified when the user provides data via the diffusivity_data configuration option or (2) calculated by the correlation defined in Wilke & Lee (1955). For the latter, the vap_diffus_calculation configuration option must be set to VapDiffusivityCalculation.WilkeLee.
5 Henry’s constant can either be (1) specified when the user provides data via the henry_constant_data configuration option or (2) corrected for the vapor phase temperature via the van’t Hoff equation if the user sets the temp_adjust_henry configuration option to True. In the latter case, the user provided data is assumed to be for T = 298 K (i.e., \(h_{j,std}\)) and is added as a parameter called henry_comp_ref. In either case, user data is required.
6 Molar volume can either be (1) specified when the user provides data via the molar_volume_comp configuration option or (2) calculated by the Tyn-Calus correlation defined in Aniceto, J. P. S., Zêzere, B., & Silva, C. M. (2021). For the latter, the molar_volume_calculation configuration option must be set to MolarVolumeCalculation.TynCalus and the component critical molar volume must be specified via the critical_molar_volume_data configuration option.
7 Vapor pressure of water can either be (1) specified when the user provides data via the pressure_vap_data configuration option or (2) calculated from relative humidity. For the latter, the vapor_pressure_calculation configuration option must be set to VaporPressureCalculation.FromRelativeHumidity.
8 Saturation vapor pressure of water can either be (1) specified when the user provides data via the pressure_vap_sat configuration option or (2) calculated using the Arden-Buck (default), Huang, or Antoine correlation. For the latter, the saturation_vapor_pressure_calculation configuration option must be set to one of SaturationVaporPressureCalculation.ArdenBuck, SaturationVaporPressureCalculation.Huang, or SaturationVaporPressureCalculation.Antoine.
9 Relative humidity can either be (1) specified when the user provides data via the relative_humidity_data configuration option or (2) calculated from the ratio of vapor pressure to saturation vapor pressure. For the latter, the relative_humidity_calculation configuration option must be set to RelativeHumidityCalculation.FromVaporPressureRatio.
10 Latent heat of vaporization can either be (1) specified when the user provides data via the latent_heat_vaporization_data configuration option or (2) calculated from the Sharqawy correlation if the user sets the latent_heat_vaporization_calculation configuration option to LatentHeatVaporizationCalculation.Sharqawy.
11 Specific heat of water can either be (1) specified when the user provides data via the specific_heat_water_data configuration option or (2) calculated from the Sharqawy correlation if the user sets the specific_heat_water_calculation configuration option to SpecificHeatWaterCalculation.Sharqawy.
van’t Hoff Correlation
The following is used to temperature correct Henry’s constant:
Tyn-Calus Correlation
The following is used to calculate molar volume:
Where \(\tau_A = 0.285\) and \(\tau_B = 1.048\).
Hayduk-Laudie Correlation
The following is used to calculate component liquid phase diffusion if user sets liq_diffus_calculation to LiqDiffusivityCalculation.HaydukLaudie.
The Hayduk-Laudie correlation returns liquid diffusivity \(\big( D_{liq,j} \big)\) in units of \(\text{m}^2\text{ s}^{-1}\); in the correlation, liquid viscosity
\(\big( \mu_{liq} \big)\) has units of \(\text{cP}\) and molar volume \(\big( V_j \big)\) has units of \(\text{cm}^3\text{ mol}^{-1}\):
Where \(\varphi_A = 13.26 \times 10^{-9}\), \(\varphi_B = 1.14\), and \(\varphi_C = 0.589\).
Wilke-Lee Correlation
The following is used to calculate component vapor phase diffusion if user sets vap_diffus_calculation to VapDiffusivityCalculation.WilkeLee:
The Wilke-Lee correlation includes the collision function \(f(kT/\varepsilon_{air, j})\) in the denominator. There are several intermediary calculations necessary to get the value for the collision function, summarized in the following equations. Necessary parameters are provided in a table at the end of this section.
The collision function is calculated according to:
Where the exponent \(\xi\) is calculated with:
The \(E\) parameter is the base-10 logarithm of the expression \(\frac{kT}{\varepsilon_{air, j}}\) used in the collision function:
The molecular separation at collision for component \(j\) and air \(r_{j,air}\) is the average of the molecular separation of each component:
And \(r_j\) is calculated with:
The energy of molecular attraction for each component \(\varepsilon_j\) is calculated with the boiling point \(T_{b,j}\):
For air, the energy of molecular attraction \(\varepsilon_{air}\) is:
Finally, the energy of molecular attraction between component \(j\) and air \(\varepsilon_{j,air}\) is:
The following contains all the constants and parameters needed for the calculations used for the Wilke-Lee correlation.
Parameter |
Value |
Units |
|---|---|---|
\(k^*\) |
\(\text{1.381} \times 10^{-16}\) |
\(\text{g cm}^{2} \text{ s}^{-2} \text{ K}^{-1}\) |
\(\omega_A\) |
\(\text{1.084}\) |
\(\text{cm}^{2} \text{ K}^{-1.5}\) |
\(\omega_B\) |
\(\text{0.249}\) |
\(\text{cm}^{2} \text{ K}^{-1.5}\) |
\(x_0\) |
\(\text{-0.14329}\) |
\(\text{dimensionless}\) |
\(x_1\) |
\(\text{-0.48343}\) |
\(\text{dimensionless}\) |
\(x_2\) |
\(\text{0.1939}\) |
\(\text{dimensionless}\) |
\(x_3\) |
\(\text{0.1361}\) |
\(\text{dimensionless}\) |
\(x_4\) |
\(\text{-0.20578}\) |
\(\text{dimensionless}\) |
\(x_5\) |
\(\text{0.083899}\) |
\(\text{dimensionless}\) |
\(x_6\) |
\(\text{-0.011491}\) |
\(\text{dimensionless}\) |
\(r_{air}\) |
\(\text{0.3711}\) |
\(\text{nm}\) |
\(\gamma\) |
\(\text{1.18}\) |
\(\text{nm mol}^{1/3} \text{ L}^{-1/3}\) |
\(\text{ }^*\) Boltzmann’s constant must be in \(\text{g cm}^{2} \text{ s}^{-2} \text{ K}^{-1}\) for these correlations.
Arden-Buck Correlation
Saturation pressure of water can be calculated with the Arden-Buck correlation if the user sets the saturation_vapor_pressure_calculation configuration option to SaturationVaporPressureCalculation.ArdenBuck:
With \(A = 6.1121\), \(b = 18.678\), \(c = 257.14\), \(d = 234.5\), and \(T\) is the temperature of the vapor stream in °C. Note that this equation will return \(P_{sat}\) in units of millibar (hPa). This is the default correlation.
Antoine Equation
Saturation pressure of water can be calculated according to Antoine equation if the user sets the saturation_vapor_pressure_calculation configuration option to SaturationVaporPressureCalculation.Antoine:
Where \(A = 8.07131\), \(B = 1730.63\), \(C = 233.426\) and \(T\) is the temperature of the liquid stream in °C.
Huang Correlation
Saturation pressure of water can be calculated with the Huang correlation if the user sets the saturation_vapor_pressure_calculation configuration option to SaturationVaporPressureCalculation.Huang:
With \(a = 34.494\), \(b = 4924.99\), \(c = 1.57\), \(d_1 = 237.1\), \(d_2 = 105\), and \(T\) is the temperature of the vapor stream in °C.
Specific Heat of Water (Vapor Phase)
The specific heat of water (vapor phase) is calculated from the Shomate equation:
Where \(A = 1670.359\), \(B = 379.262\), \(C = 377.092\), \(D = -140.685\), \(E = 4.559\), and \(T' = T / 1000\) where \(T\) is the temperature of the vapor stream in Kelvin. Note that these coefficients were converted from units of \(\text{J} \text{ mol}^{-1} \text{ K}^{-1}\) to \(\text{J} \text{ kg}^{-1} \text{ K}^{-1}\).
Density of Air
The density of air is calculated via the simplified form of CIPM-formula (Comité International des Poids et Mesures), exponential version (eq. A1.1 in EURAMET ref.):
Where \(A = 0.34848\), \(B = 0.009\), \(C = 0.061\), \(P\) is the barometric pressure in hPa, \(rh\) is the relative humidity, and \(T\) is the temperature of the air stream in °C. Note that this is also the equation used to calculate the density of the vapor phase (i.e., \(\rho_{air} = \rho_{vap}\)).
Physical/Chemical Constants
Description |
Symbol |
Value |
Unit |
|---|---|---|---|
Ideal gas constant |
\(R\) |
\(\text{8.3145}\) |
\(\text{J mol}^{-1} \text{K}^{-1}\) |
Faraday constant |
\(F\) |
\(96,485.33\) |
\(\text{C mol}^{-1}\) |
Avogadro constant |
\(N_A\) |
\(\text{6.022} \times 10^{23}\) |
\(\text{dimensionless}\) |
Boltzmann constant |
\(k\) |
\(\text{1.381} \times 10^{-16}\) |
\(\text{g cm}^{2} \text{s}^{-2} \text{K}^{-1}\) |
Scaling
A comprehensive scaling factor calculation method is coded in this property package.
Default scaling factors are as follows.
State variable |
Index |
Default scaling factor |
|---|---|---|
|
None |
\(10^{-5}\) |
|
|
\(10^{-2}\) |
|
|
\(10^{-2}\) |
|
|
\(10^{-3}\) |
|
|
\(1\) |
|
|
\(10^{-3}\) |
|
|
\(1\) |
|
|
\(10^{3}\) |
|
|
\(10^{5}\) |
|
|
\(10^{10}\) |
|
|
\(10^{6}\) |
|
|
\(10^{4}\) |
|
|
\(10^{4}\) |
Note the only state variable for which there is no default scaling factor is flow_mass_phase_comp, so that must be assigned by the user.
Provided the state variables are scaled, calling calculate_scaling_factors on the model will assign scaling factors
to all instantiated variables in the property model:
m.fs.properties.set_default_scaling('flow_mass_phase_comp', 1e2, index=('Liq','{component name}'))
# m is the model name, and fs is the instantiated flowsheet block of m.
calculate_scaling_factors(m)
Proper scaling of variables is, in many cases, crucial to solver’s performance in finding an optimal solution of a problem. While designing scaling can have a mathematical sophistication, a general rule is to scale all variables as close to 1 as possible (in the range of 1e-2 to 1e2).