3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
Dumux::FluidSystems::Brine< Scalar, H2OType > Class Template Reference

A compositional single phase fluid system consisting of two components, which are H2O and NaCl. More...

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

Inheritance diagram for Dumux::FluidSystems::Brine< Scalar, H2OType >:

Description

template<class Scalar, class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
class Dumux::FluidSystems::Brine< Scalar, H2OType >

A compositional single phase fluid system consisting of two components, which are H2O and NaCl.

Public Types

using H2O = H2OType
 export the involved components More...
 
using NaCl = Dumux::Components::NaCl< Scalar >
 

Static Public Member Functions

static const std::string phaseName (int phaseIdx=liquidPhaseIdx)
 Return the human readable name of the phase. More...
 
static constexpr bool isMiscible ()
 Returns whether the fluids are miscible. More...
 
static constexpr bool isGas (int phaseIdx=liquidPhaseIdx)
 Return whether a phase is gaseous. More...
 
static bool isIdealMixture (int phaseIdx=liquidPhaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal mixture. More...
 
static bool isCompressible (int phaseIdx=liquidPhaseIdx)
 Returns true if and only if a fluid phase is assumed to be compressible. More...
 
static bool isIdealGas (int phaseIdx=liquidPhaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal gas. More...
 
static std::string componentName (int compIdx)
 Return the human readable name of a component. More...
 
static Scalar molarMass (int compIdx)
 Return the molar mass of a component in \(\mathrm{[kg/mol]}\). More...
 
static void init ()
 Initialize the fluid system's static parameters generically. More...
 
static void init (Scalar tempMin, Scalar tempMax, unsigned nTemp, Scalar pressMin, Scalar pressMax, unsigned nPress)
 Initialize the fluid system's static parameters using problem specific temperature and pressure ranges. More...
 
template<class FluidState >
static Scalar density (const FluidState &fluidState, int phaseIdx=liquidPhaseIdx)
 Return the phase density [kg/m^3]. More...
 
template<class FluidState >
static Scalar fugacityCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase. More...
 
template<class FluidState >
static Scalar viscosity (const FluidState &fluidState, int phaseIdx=liquidPhaseIdx)
 Return the viscosity of the phase. More...
 
template<class FluidState >
static Scalar vaporPressure (const FluidState &fluidState, int compIdx)
 Vapor pressure of a component \(\mathrm{[Pa]}\). More...
 
template<class FluidState >
static Scalar enthalpy (const FluidState &fluidState, int phaseIdx)
 Given a phase's composition, temperature and pressure, return its specific enthalpy \(\mathrm{[J/kg]}\). More...
 
template<class FluidState >
static Scalar componentEnthalpy (const FluidState &fluidState, int phaseIdx, int componentIdx)
 Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase. More...
 
template<class FluidState >
static Scalar molarDensity (const FluidState &fluidState, int phaseIdx=liquidPhaseIdx)
 The molar density \(\rho_{mol,\alpha}\) of the fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\). More...
 
template<class FluidState >
static Scalar diffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Returns the diffusion coefficient \(\mathrm{[-]}\) of a component in a phase. More...
 
template<class FluidState >
static Scalar binaryDiffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIIdx, int compJIdx)
 Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase. More...
 
template<class FluidState >
static Scalar thermalConductivity (const FluidState &fluidState, int phaseIdx)
 Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\). More...
 
template<class FluidState >
static Scalar heatCapacity (const FluidState &fluidState, int phaseIdx)
 Specific isobaric heat capacity of a fluid phase. \(\mathrm{[J/(kg*K)}\). More...
 
template<class FluidState >
static Scalar density (const FluidState &fluidState, int phaseIdx)
 Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar density (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar fugacityCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase. More...
 
template<class FluidState >
static Scalar fugacityCoefficient (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx, int compIdx)
 Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase. More...
 
template<class FluidState >
static Scalar viscosity (const FluidState &fluidState, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More...
 
template<class FluidState >
static Scalar viscosity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\). More...
 
template<class FluidState >
static Scalar enthalpy (const FluidState &fluidState, int phaseIdx)
 Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More...
 
template<class FluidState >
static Scalar enthalpy (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\). More...
 
template<class FluidState >
static Scalar molarDensity (const FluidState &fluidState, int phaseIdx)
 Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar molarDensity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase. More...
 
template<class FluidState >
static Scalar diffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\). More...
 
template<class FluidState >
static Scalar diffusionCoefficient (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx, int compIdx)
 Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\). More...
 
template<class FluidState >
static Scalar binaryDiffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIIdx, int compJIdx)
 Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase. More...
 
template<class FluidState >
static Scalar binaryDiffusionCoefficient (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx, int compIIdx, int compJIdx)
 Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase. More...
 
template<class FluidState >
static Scalar thermalConductivity (const FluidState &fluidState, int phaseIdx)
 Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More...
 
template<class FluidState >
static Scalar thermalConductivity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\). More...
 
template<class FluidState >
static Scalar heatCapacity (const FluidState &fluidState, int phaseIdx)
 Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\). More...
 
template<class FluidState >
static Scalar heatCapacity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\). More...
 

Static Public Attributes

static const int numPhases = 1
 Number of phases in the fluid system. More...
 
static const int numComponents = 2
 Number of components in the fluid system (H2O, NaCl) More...
 
static constexpr int phase0Idx = 0
 Index of the first (and only) phase. More...
 
static constexpr int liquidPhaseIdx = phase0Idx
 The one considered phase is liquid. More...
 
static constexpr int H2OIdx = 0
 index of the water component More...
 
static constexpr int NaClIdx = 1
 index of the NaCl component More...
 
static constexpr int comp0Idx = H2OIdx
 index of the first component More...
 
static constexpr int comp1Idx = NaClIdx
 index of the second component More...
 

Member Typedef Documentation

◆ H2O

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

export the involved components

◆ NaCl

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
using Dumux::FluidSystems::Brine< Scalar, H2OType >::NaCl = Dumux::Components::NaCl<Scalar>

Member Function Documentation

◆ binaryDiffusionCoefficient() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::binaryDiffusionCoefficient ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx,
int  compIIdx,
int  compJIdx 
)
inlinestatic

Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase.

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase
compIIdxIndex of the component i
compJIdxIndex of the component j

◆ binaryDiffusionCoefficient() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::binaryDiffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIIdx,
int  compJIdx 
)
inlinestatic

Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIIdxIndex of the component i
compJIdxIndex of the component j

◆ binaryDiffusionCoefficient() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::binaryDiffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIIdx,
int  compJIdx 
)
inlinestatic

Given a phase's composition, temperature and pressure, return the binary diffusion coefficient \(\mathrm{[m^2/s]}\) for components \(\mathrm{i}\) and \(\mathrm{j}\) in this phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIIdxIndex of the component i
compJIdxIndex of the component j

The implemented value for NaCl is for a molar concentration of 2.5984 mol/l and a temperature of 25°C, see Rard and Miller, 1979 (DOI: 10.1007/BF00648776) [58]. Dependent on the salt concentration the coefficient can vary between 1.47e-9 m^2/s and 1.6e-9 m^2/s, see Rard and Miller, 1979. It also depends on temperature; values for different temparatures can e.g. found here: Alanis et al., 2000 (DOI: 10.1117/1.602422) [4].

◆ componentEnthalpy()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::componentEnthalpy ( const FluidState &  fluidState,
int  phaseIdx,
int  componentIdx 
)
inlinestatic

Returns the specific enthalpy \(\mathrm{[J/kg]}\) of a component in a specific phase.

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
componentIdxThe index of the component to consider

◆ componentName()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static std::string Dumux::FluidSystems::Brine< Scalar, H2OType >::componentName ( int  compIdx)
inlinestatic

Return the human readable name of a component.

Parameters
compIdxThe index of the component to consider

◆ density() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::density ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx 
)
inlinestatic

Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ density() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::density ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ density() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::density ( const FluidState &  fluidState,
int  phaseIdx = liquidPhaseIdx 
)
inlinestatic

Return the phase density [kg/m^3].

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) [8], better description and comparison with other approaches in Adams and Bachu, 2002 (DOI: 10.1046/j.1468-8123.2002.00041.x) [2].

◆ diffusionCoefficient() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::diffusionCoefficient ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase
compIdxIndex of the component Molecular diffusion of a component \(\mathrm{\kappa}\) is caused by a gradient of the chemical potential and follows the law

\[ J = - D \mathbf{grad} \mu_\kappa \]

where \(\mathrm{\mu_\kappa}\) is the component's chemical potential, \(\mathrm{D}\) is the diffusion coefficient and \(\mathrm{J}\) is the diffusive flux. \(\mathrm{\mu_\kappa}\) is connected to the component's fugacity \(\mathrm{f_\kappa}\) by the relation

\[ \mu_\kappa = R T_\alpha \mathrm{ln} \frac{f_\kappa}{p_\alpha} \]

where \(\mathrm{p_\alpha}\) and \(\mathrm{T_\alpha}\) are the fluid phase' pressure and temperature.

◆ diffusionCoefficient() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::diffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the binary molecular diffusion coefficient for a component in a fluid phase \(\mathrm{[mol^2 * s / (kg*m^3)]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIdxIndex of the component Molecular diffusion of a component \(\mathrm{\kappa}\) is caused by a gradient of the chemical potential and follows the law

\[ J = - D \mathbf{grad} \mu_\kappa \]

where \(\mathrm{\mu_\kappa}\) is the component's chemical potential, \(\mathrm{D}\) is the diffusion coefficient and \(\mathrm{J}\) is the diffusive flux. \(\mathrm{\mu_\kappa}\) is connected to the component's fugacity \(\mathrm{f_\kappa}\) by the relation

\[ \mu_\kappa = R T_\alpha \mathrm{ln} \frac{f_\kappa}{p_\alpha} \]

where \(\mathrm{p_\alpha}\) and \(\mathrm{T_\alpha}\) are the fluid phase' pressure and temperature.

◆ diffusionCoefficient() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::diffusionCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Returns the diffusion coefficient \(\mathrm{[-]}\) of a component in a phase.

◆ enthalpy() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::enthalpy ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx 
)
inlinestatic

Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ enthalpy() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::enthalpy ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy \(\mathrm{[J/kg]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ enthalpy() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::enthalpy ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Given a phase's composition, temperature and pressure, return its specific enthalpy \(\mathrm{[J/kg]}\).

Parameters
fluidStateThe fluid state
phaseIdxThe index of the phase to consider

Equations given in:

  • Palliser & McKibbin (1998) [52]
  • Michaelides (1981) [42]
  • Daubert & Danner (1989) [17]

◆ fugacityCoefficient() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::fugacityCoefficient ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase.

The fugacity coefficient \(\mathrm{\phi^\kappa_\alpha}\) is connected to the fugacity \(\mathrm{f^\kappa_\alpha}\) and the component's mole fraction \(\mathrm{x^\kappa_\alpha}\) by means of the relation

\[ f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha \]

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase
compIdxIndex of the component

◆ fugacityCoefficient() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::fugacityCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase.

The fugacity coefficient \(\mathrm{\phi^\kappa_\alpha}\) is connected to the fugacity \(\mathrm{f^\kappa_\alpha}\) and the component's mole fraction \(\mathrm{x^\kappa_\alpha}\) by means of the relation

\[ f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha \]

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase
compIdxIndex of the component

◆ fugacityCoefficient() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::fugacityCoefficient ( const FluidState &  fluidState,
int  phaseIdx,
int  compIdx 
)
inlinestatic

Calculate the fugacity coefficient \(\mathrm{[Pa]}\) of an individual component in a fluid phase.

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
compIdxThe index of the component to consider

◆ heatCapacity() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::heatCapacity ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx 
)
inlinestatic

Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).

Parameters
fluidStaterepresents all relevant thermodynamic quantities of a fluid system
paramCachemutable parameters
phaseIdxIndex of the fluid phase

Given a fluid state, an up-to-date parameter cache and a phase index, this method computes the isobaric heat capacity \(c_{p,\alpha}\) of the fluid phase. The isobaric heat capacity is defined as the partial derivative of the specific enthalpy \(h_\alpha\) to the fluid pressure \(p_\alpha\):

\( c_{p,\alpha} = \frac{\partial h_\alpha}{\partial p_\alpha} \)

◆ heatCapacity() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::heatCapacity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Specific isobaric heat capacity \(c_{p,\alpha}\) of a fluid phase \(\mathrm{[J/(kg*K)]}\).

Parameters
fluidStaterepresents all relevant thermodynamic quantities of a fluid system
phaseIdxIndex of the fluid phase

Given a fluid state, an up-to-date parameter cache and a phase index, this method computes the isobaric heat capacity \(c_{p,\alpha}\) of the fluid phase. The isobaric heat capacity is defined as the partial derivative of the specific enthalpy \(h_\alpha\) to the fluid pressure \(p_\alpha\):

\( c_{p,\alpha} = \frac{\partial h_\alpha}{\partial p_\alpha} \)

◆ heatCapacity() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::heatCapacity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Specific isobaric heat capacity of a fluid phase. \(\mathrm{[J/(kg*K)}\).

Parameters
fluidStateAn abitrary fluid state
phaseIdxThe index of the fluid phase to consider

◆ init() [1/2]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static void Dumux::FluidSystems::Brine< Scalar, H2OType >::init ( )
inlinestatic

Initialize the fluid system's static parameters generically.

Note
If a tabulated H2O component is used, we do our best to create tables that always work.

◆ init() [2/2]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static void Dumux::FluidSystems::Brine< Scalar, H2OType >::init ( Scalar  tempMin,
Scalar  tempMax,
unsigned  nTemp,
Scalar  pressMin,
Scalar  pressMax,
unsigned  nPress 
)
inlinestatic

Initialize the fluid system's static parameters using problem specific temperature and pressure ranges.

Parameters
tempMinThe minimum temperature used for tabulation of water [K]
tempMaxThe maximum temperature used for tabulation of water [K]
nTempThe number of ticks on the temperature axis of the table of water
pressMinThe minimum pressure used for tabulation of water [Pa]
pressMaxThe maximum pressure used for tabulation of water [Pa]
nPressThe number of ticks on the pressure axis of the table of water

◆ isCompressible()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static bool Dumux::FluidSystems::Brine< Scalar, H2OType >::isCompressible ( int  phaseIdx = liquidPhaseIdx)
inlinestatic

Returns true if and only if a fluid phase is assumed to be compressible.

Compressible means that the partial derivative of the density to the fluid pressure is always larger than zero.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isGas()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static constexpr bool Dumux::FluidSystems::Brine< Scalar, H2OType >::isGas ( int  phaseIdx = liquidPhaseIdx)
inlinestaticconstexpr

Return whether a phase is gaseous.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isIdealGas()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static bool Dumux::FluidSystems::Brine< Scalar, H2OType >::isIdealGas ( int  phaseIdx = liquidPhaseIdx)
inlinestatic

Returns true if and only if a fluid phase is assumed to be an ideal gas.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isIdealMixture()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static bool Dumux::FluidSystems::Brine< Scalar, H2OType >::isIdealMixture ( int  phaseIdx = liquidPhaseIdx)
inlinestatic

Returns true if and only if a fluid phase is assumed to be an ideal mixture.

We define an ideal mixture as a fluid phase where the fugacity coefficients of all components times the pressure of the phase are indepent on the fluid composition. This assumtion is true if Henry's law and Raoult's law apply. If you are unsure what this function should return, it is safe to return false. The only damage done will be (slightly) increased computation times in some cases.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isMiscible()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static constexpr bool Dumux::FluidSystems::Brine< Scalar, H2OType >::isMiscible ( )
inlinestaticconstexpr

Returns whether the fluids are miscible.

Note
There is only one phase, so miscibility makes no sense here

◆ molarDensity() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::molarDensity ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx 
)
inlinestatic

Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ molarDensity() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::molarDensity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ molarDensity() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::molarDensity ( const FluidState &  fluidState,
int  phaseIdx = liquidPhaseIdx 
)
inlinestatic

The molar density \(\rho_{mol,\alpha}\) of the fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\).

The molar density for the simple relation is defined by the mass density \(\rho_\alpha\) and the average molar mass of the phase \(M_\alpha\):

\[\rho_{mol,\alpha} = \frac{\rho_\alpha}{M_\alpha} \;.\]

◆ molarMass()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::molarMass ( int  compIdx)
inlinestatic

Return the molar mass of a component in \(\mathrm{[kg/mol]}\).

Parameters
compIdxThe index of the component to consider

◆ phaseName()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
static const std::string Dumux::FluidSystems::Brine< Scalar, H2OType >::phaseName ( int  phaseIdx = liquidPhaseIdx)
inlinestatic

Return the human readable name of the phase.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ thermalConductivity() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::thermalConductivity ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx 
)
inlinestatic

Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ thermalConductivity() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::thermalConductivity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ thermalConductivity() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::thermalConductivity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\).

Parameters
fluidStateAn abitrary fluid state
phaseIdxThe index of the fluid phase to consider

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

◆ vaporPressure()

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::vaporPressure ( const FluidState &  fluidState,
int  compIdx 
)
inlinestatic

Vapor pressure of a component \(\mathrm{[Pa]}\).

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, without the influence of the capillary pressure as we have one-phase flow.
Parameters
fluidStateThe fluid state
compIdxThe index of the component to consider

◆ viscosity() [1/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::viscosity ( const FluidState &  fluidState,
const ParameterCache &  paramCache,
int  phaseIdx 
)
inlinestatic

Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).

Parameters
fluidStateThe fluid state
paramCachemutable parameters
phaseIdxIndex of the fluid phase

◆ viscosity() [2/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Base< ScalarType, Implementation >::viscosity ( const FluidState &  fluidState,
int  phaseIdx 
)
inlinestatic

Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).

Parameters
fluidStateThe fluid state
phaseIdxIndex of the fluid phase

◆ viscosity() [3/3]

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
template<class FluidState >
static Scalar Dumux::FluidSystems::Brine< Scalar, H2OType >::viscosity ( const FluidState &  fluidState,
int  phaseIdx = liquidPhaseIdx 
)
inlinestatic

Return the viscosity of the phase.

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) [8], better description and comparison with other approaches in Adams and Bachu, 2002 (DOI: 10.1046/j.1468-8123.2002.00041.x) [2]. However, the equation given in Adams and Bachu, 2002(DOI: 10.1046/j.1468-8123.2002.00041.x) [2] is obviously wrong when compared to the original by Batzle and Wang, 1992 (DOI: 10.1190/1.1443207) [8].

Member Data Documentation

◆ comp0Idx

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
constexpr int Dumux::FluidSystems::Brine< Scalar, H2OType >::comp0Idx = H2OIdx
staticconstexpr

index of the first component

◆ comp1Idx

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
constexpr int Dumux::FluidSystems::Brine< Scalar, H2OType >::comp1Idx = NaClIdx
staticconstexpr

index of the second component

◆ H2OIdx

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
constexpr int Dumux::FluidSystems::Brine< Scalar, H2OType >::H2OIdx = 0
staticconstexpr

index of the water component

◆ liquidPhaseIdx

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
constexpr int Dumux::FluidSystems::Brine< Scalar, H2OType >::liquidPhaseIdx = phase0Idx
staticconstexpr

The one considered phase is liquid.

◆ NaClIdx

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
constexpr int Dumux::FluidSystems::Brine< Scalar, H2OType >::NaClIdx = 1
staticconstexpr

index of the NaCl component

◆ numComponents

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
const int Dumux::FluidSystems::Brine< Scalar, H2OType >::numComponents = 2
static

Number of components in the fluid system (H2O, NaCl)

◆ numPhases

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
const int Dumux::FluidSystems::Brine< Scalar, H2OType >::numPhases = 1
static

Number of phases in the fluid system.

◆ phase0Idx

template<class Scalar , class H2OType = Components::TabulatedComponent<Dumux::Components::H2O<Scalar>>>
constexpr int Dumux::FluidSystems::Brine< Scalar, H2OType >::phase0Idx = 0
staticconstexpr

Index of the first (and only) phase.


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