This package implements property relationships for an NaCl solution as provided in Bartholomew and Mauter (2019).
- This NaCl property package:
- supports only H2O (solvent) and TDS (solute) components
- supports only liquid phase
- is formulated on a mass basis
- is intended for isothermal applications at 25C
- does not support dynamics
This package includes one temperature dependent property, specific enthalpy. The specific enthalpy is based on relationships developed for seawater instead of a NaCl solution, but the deviation is expected to be negligible for isothermal applications (the recommended use for this property package).
Description | Symbol | Indices |
---|---|---|
Components | j | ['H2O', 'TDS'] |
Phases | p | ['Liq'] |
Description | Symbol | Variable | Index | Units |
---|---|---|---|---|
Component mass flowrate | M_j | flow_mass_phase_comp | [p, j] | \text{kg/s} |
Temperature | T | temperature | None | \text{K} |
Pressure | P | pressure | None | \text{Pa} |
Description | Symbol | Variable | Index | Units |
---|---|---|---|---|
Component mass fraction | x_j | mass_frac_phase_comp | [p, j] | \text{dimensionless} |
Mass density | \rho | dens_mass_phase | [p] | \text{kg/}\text{m}^3 |
Phase volumetric flowrate | Q_p | flow_vol_phase | [p] | \text{m}^3\text{/s} |
Volumetric flowrate | Q | flow_vol | None | \text{m}^3\text{/s} |
Mass concentration | C_j | conc_mass_phase_comp | [p, j] | \text{kg/}\text{m}^3 |
Component mole flowrate | N_j | flow_mol_phase_comp | [p, j] | \text{mole/s} |
Component mole fraction | y_j | mole_frac_phase_comp | [p, j] | \text{dimensionless} |
Molality | Cm_{TDS} | molality_comp | ['TDS'] | \text{mole/kg} |
Dynamic viscosity | \mu | visc_d_phase | [p] | \text{Pa}\cdotp\text{s} |
Solute diffusivity | D | diffus | None | \text{m}^2\text{/s} |
Osmotic coefficient | \phi | osm_coeff | None | \text{dimensionless} |
Osmotic pressure | \pi | pressure_osm | None | \text{Pa} |
Specific enthalpy | \widehat{H} | enth_mass_phase | [p] | \text{J/kg} |
Enthalpy flow | H | enth_flow | None | \text{J/s} |
Description | Equation |
---|---|
Component mass fraction | X_j = \frac{M_j}{\sum_{j} M_j} |
Mass density | Equation 4 in Bartholomew & Mauter (2019) |
Volumetric flowrate | Q = \frac{\sum_{j} M_j}{\rho} |
Mass concentration | C_j = X_j \cdotp \rho |
Component mole flowrate | N_j = \frac{M_j}{MW_j} |
Component mole fraction | y_j = \frac{N_j}{\sum_{j} N_j} |
Molality | Cm_{TDS} = \frac{x_{TDS}}{(1-x_{TDS}) \cdotp MW_{TDS}} |
Dynamic viscosity | Equation 5 in Bartholomew & Mauter (2019) |
Solute diffusivity | Equation 6 in Bartholomew & Mauter (2019) |
Osmotic coefficient | Equation 3b in Bartholomew & Mauter (2019) |
Osmotic pressure | \pi = i \cdotp \phi \cdotp Cm_{TDS} \cdotp \rho_w \cdotp R \cdotp T [See note 1 below] |
Specific enthalpy | Equation 43 and 55 in Sharqawy (2010) [See note 2 below] |
Enthalpy flow | H = \sum_{j} M_j \cdotp \widehat{H} |
Note 1: Osmotic pressure calculation uses the van 't Hoff factor (i\text{, assumed to be 2}), density of water (\rho_w\text{, assumed to be 1000 kg/}\text{m}^3), gas constant (R\text{, 8.314 J/mol}\cdotp\text{K}) in addition to previously defined variables.
Note 2: Specific enthalpy calculation is based on seawater relationships in Sharqawy (2010).
This NaCl property package includes support for scaling, such as providing default or calculating scaling factors for almost all variables. The only variables that do not have scaling factors are the component mass flowrate and the user must set them or the user will receive a warning.
The user can specify the scaling factors for component mass flowrates with the following:
.. testsetup:: from pyomo.environ import ConcreteModel from idaes.core import FlowsheetBlock
# relevant imports
import watertap.property_models.NaCl_prop_pack as props
from idaes.core.util.scaling import calculate_scaling_factors
# relevant assignments
m = ConcreteModel()
m.fs = FlowsheetBlock(dynamic=False)
m.fs.properties = props.NaClParameterBlock()
# set scaling for component mass flowrate
m.fs.properties.set_default_scaling('flow_mass_phase_comp', 1, index=('Liq', 'H2O'))
m.fs.properties.set_default_scaling('flow_mass_phase_comp', 1e2, index=('Liq', 'NaCl'))
# calculate scaling factors
calculate_scaling_factors(m.fs)
The default scaling factors are as follows:
- 1e-2 for temperature
- 1e-6 for pressure
- 1e-3 for mass density
- 1e3 for dynamic viscosity
- 1e9 for solute diffusivity
- 1 for the osmotic coefficient
- 1e-5 for the specific enthalpy
The scaling factors for other variables can be calculated based on their relationships with the other variables with the user supplied or default scaling factors.
Timothy V. Bartholomew, Meagan S. Mauter (2019) Computational framework for modeling membrane processes without process and solution property simplifications, Journal of Membrane Science, 573, 682-693, DOI: 10.1016/j.memsci.2018.11.067
Mostafa H. Sharqawy, John H. Lienhard V & Syed M. Zubair (2010) Thermophysical properties of seawater: a review of existing correlations and data, Desalination and Water Treatment, 16:1-3, 354-380, DOI: 10.5004/dwt.2010.1079