version 3.10-dev
Dumux::Components::Brine< Scalar, H2O_Tabulated > Class Template Reference

A class for the brine fluid properties. More...

#include <dumux/material/components/brine.hh>

Inheritance diagram for Dumux::Components::Brine< Scalar, H2O_Tabulated >:

Description

template<class Scalar, class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
class Dumux::Components::Brine< Scalar, H2O_Tabulated >
Template Parameters
ScalarThe type used for scalar values
H2OStatic polymorphism: the Brine class can access all properties of the H2O class
Note
This is an implementation of brine as a pseudo-component with a constant salinity.
the salinity is read from the input file and is a mandatory parameter

Public Types

using H2O = Components::TabulatedComponent< Dumux::Components::H2O< Scalar > >
 

Static Public Member Functions

static std::string name ()
 A human readable name for the brine. More...
 
static Scalar salinity ()
 Return the constant salinity. More...
 
static Scalar molarMass ()
 The molar mass in \(\mathrm{[kg/mol]}\) of brine. This assumes that the salt is pure NaCl. More...
 
static Scalar criticalTemperature ()
 Returns the critical temperature \(\mathrm{[K]}\) of brine. Here, it is assumed to be equal to that of pure water. The critical temperature of brine is dependent on the salt concentration. With increasing NaCl mass fraction the critical point shifts to higher temperatures, see Bakker, 2018 (DOI: 10.1016/j.cageo.2018.03.003). More...
 
static Scalar criticalPressure ()
 Returns the critical pressure \(\mathrm{[Pa]}\) of brine. Here, it is assumed to be equal to that of pure water. The critical pressure of brine is dependent on the salt concentration. With increasing NaCl mass fraction the critical point shifts to higher pressures, see Bakker, 2018 (DOI: 10.1016/j.cageo.2018.03.003). More...
 
static Scalar tripleTemperature ()
 Returns the temperature \(\mathrm{[K]}\) at brine's triple point. Here, it is assumed to be equal to that of pure water. The triple temperature of brine is dependent on the salt concentration, see Bakker, 2018 (DOI: 10.1016/j.cageo.2018.03.003). More...
 
static Scalar triplePressure ()
 Returns the pressure \(\mathrm{[Pa]}\) at brine's triple point. Here, it is assumed to be equal to that of pure water. The triple pressure of brine is dependent on the salt concentration, see Bakker, 2018 (DOI: 10.1016/j.cageo.2018.03.003). More...
 
static Scalar vaporPressure (Scalar temperature)
 The vapor pressure in \(\mathrm{[Pa]}\) of pure brine at a given temperature. More...
 
static const Scalar gasEnthalpy (Scalar temperature, Scalar pressure)
 Specific enthalpy of gaseous brine \(\mathrm{[J/kg]}\). Only water volatile and salt is suppose to stay in the liquid phase. More...
 
static const Scalar liquidEnthalpy (Scalar T, Scalar p)
 Specific enthalpy of liquid brine \(\mathrm{[J/kg]}\). More...
 
static const Scalar liquidHeatCapacity (Scalar temperature, Scalar pressure)
 Specific isobaric heat capacity of brine \(\mathrm{[J/kg]}\). More...
 
static const Scalar gasHeatCapacity (Scalar temperature, Scalar pressure)
 Specific isobaric heat capacity of water steam \(\mathrm{[J/kg]}\). More...
 
static const Scalar gasInternalEnergy (Scalar temperature, Scalar pressure)
 Specific internal energy of steam \(\mathrm{[J/kg]}\). More...
 
static const Scalar liquidInternalEnergy (Scalar temperature, Scalar pressure)
 Specific internal energy of liquid brine \(\mathrm{[J/kg]}\). More...
 
static Scalar gasDensity (Scalar temperature, Scalar pressure)
 The density of steam at a given pressure and temperature \(\mathrm{[kg/m^3]}\). More...
 
static Scalar gasMolarDensity (Scalar temperature, Scalar pressure)
 The molar density of steam in \(\mathrm{[mol/m^3]}\) at a given pressure and temperature. We take the value of the H2O gas molar density here because salt is not in the gas phase. More...
 
static constexpr bool gasIsIdeal ()
 Returns true if the gas phase is assumed to be ideal. More...
 
static constexpr bool gasIsCompressible ()
 Returns true if the gas phase is assumed to be compressible. More...
 
static constexpr bool liquidIsCompressible ()
 Returns true if the liquid phase is assumed to be compressible. More...
 
static Scalar liquidDensity (Scalar temperature, Scalar pressure)
 The density of pure brine at a given pressure and temperature \(\mathrm{[kg/m^3]}\). More...
 
static Scalar liquidMolarDensity (Scalar temperature, Scalar pressure)
 The molar density of brine in \(\mathrm{[mol/m^3]}\) at a given pressure and temperature. More...
 
static Scalar gasPressure (Scalar temperature, Scalar density)
 The pressure of steam in \(\mathrm{[Pa]}\) at a given density and temperature. More...
 
static Scalar liquidPressure (Scalar temperature, Scalar density)
 The pressure of brine in \(\mathrm{[Pa]}\) at a given density and temperature. More...
 
static Scalar gasViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of steam. More...
 
static Scalar liquidViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of pure brine. More...
 
static Scalar liquidThermalConductivity (Scalar temperature, Scalar pressure)
 Thermal conductivity of a brine \(\mathrm{[W/(m K)]}\). More...
 

Static Public Attributes

static constexpr Scalar R = Constants<Scalar>::R
 The ideal gas constant \(\mathrm{[J/mol/K]}\). More...
 

Member Typedef Documentation

◆ H2O

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
using Dumux::Components::Brine< Scalar, H2O_Tabulated >::H2O = Components::TabulatedComponent<Dumux::Components::H2O<Scalar> >

Member Function Documentation

◆ criticalPressure()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::criticalPressure ( )
inlinestatic

◆ criticalTemperature()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::criticalTemperature ( )
inlinestatic

◆ gasDensity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasEnthalpy()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static const Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasEnthalpy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasHeatCapacity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static const Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasHeatCapacity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

See:

IAPWS: "Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam", http://www.iapws.org/relguide/IF97-Rev.pdf [32]

◆ gasInternalEnergy()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static const Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasInternalEnergy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasIsCompressible()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static constexpr bool Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasIsCompressible ( )
inlinestaticconstexpr

◆ gasIsIdeal()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static constexpr bool Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasIsIdeal ( )
inlinestaticconstexpr

◆ gasMolarDensity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasMolarDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasPressure()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasPressure ( Scalar  temperature,
Scalar  density 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
densitydensity of component in \(\mathrm{[kg/m^3]}\)

◆ gasViscosity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::gasViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component
pressurepressure of component

◆ liquidDensity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)
Note
The density is computed as a function of the salt mass fraction, pressure and temperature. The used function is an empirical relationship fitted to experimental data. It is presented by Batzle and Wang, 1992 (DOI: 10.1190/1.1443207) [12], better description and comparison with other approaches in Adams and Bachu, 2002 (DOI: 10.1046/j.1468-8123.2002.00041.x) [3].

◆ liquidEnthalpy()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static const Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidEnthalpy ( Scalar  T,
Scalar  p 
)
inlinestatic
Parameters
Ttemperature of component in \(\mathrm{[K]}\)
ppressure of component in \(\mathrm{[Pa]}\)

Equations given in:

  • Palliser & McKibbin (1998) [65]
  • Michaelides (1981) [54]
  • Daubert & Danner (1989) [25]

◆ liquidHeatCapacity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static const Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidHeatCapacity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

See:

IAPWS: "Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam", http://www.iapws.org/relguide/IF97-Rev.pdf [32]

◆ liquidInternalEnergy()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static const Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidInternalEnergy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ liquidIsCompressible()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static constexpr bool Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidIsCompressible ( )
inlinestaticconstexpr

◆ liquidMolarDensity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidMolarDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ liquidPressure()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidPressure ( Scalar  temperature,
Scalar  density 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
densitydensity of component in \(\mathrm{[kg/m^3]}\)

◆ liquidThermalConductivity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidThermalConductivity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

The thermal conductivity of brine is implemented based on the contribution of NaCl ( \(\lambda_{brine}\)/ \(\lambda_{H_2O}\)) of [94] https://link.springer.com/content/pdf/10.1007/BF00867119.pdf, also discussed in [64] https://docecity.com/thermal-conductivity-of-aqueous-sodium-chloride-acs-publicat-5f10766acba00.html

◆ liquidViscosity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::liquidViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)
Note
The viscosity is computed as a function of the salt mass fraction and temperature. The used function is an empirical relationship fitted to experimental data. It is presented by Batzle and Wang, 1992 (DOI: 10.1190/1.1443207) [12], better description and comparison with other approaches in Adams and Bachu, 2002 (DOI: 10.1046/j.1468-8123.2002.00041.x) [3]. However, the equation given in Adams and Bachu, 2002(DOI: 10.1046/j.1468-8123.2002.00041.x) [3] is obviously wrong when compared to the original by Batzle and Wang, 1992 (DOI: 10.1190/1.1443207) [12].

◆ molarMass()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::molarMass ( )
inlinestatic

◆ name()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static std::string Dumux::Components::Brine< Scalar, H2O_Tabulated >::name ( )
inlinestatic

◆ salinity()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::salinity ( )
inlinestatic

◆ triplePressure()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::triplePressure ( )
inlinestatic

◆ tripleTemperature()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::tripleTemperature ( )
inlinestatic

◆ vaporPressure()

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
static Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::vaporPressure ( Scalar  temperature)
inlinestatic
Note
The vapor pressure of brine decreases with the mole fraction of water in the liquid phase. This is described by Raoult's law, see Thomas Fetzer's Dissertation Eq. 2.11. It is also the simplified version of the Kelvin equation, neglecting the influence of the capillary pressure here.
Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)

Member Data Documentation

◆ R

template<class Scalar , class H2O_Tabulated = Components::TabulatedComponent<Components::H2O<Scalar>>>
constexpr Scalar Dumux::Components::Brine< Scalar, H2O_Tabulated >::R = Constants<Scalar>::R
staticconstexpr

The documentation for this class was generated from the following file: