3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure > Class Template Reference

A compositional two-phase fluid system with water and air as components in both, the liquid and the gas phase. More...

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

Inheritance diagram for Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >:
Inheritance graph

Description

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
class Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >

A compositional two-phase fluid system with water and air as components in both, the liquid and the gas phase.

This fluidsystem features gas and liquid phases of distilled water \((\mathrm{H_2O})\)) and air (Pseudo component composed of \(\mathrm{79\%\;N_2}\), \(\mathrm{20\%\;O_2}\) and \(\mathrm{1\%\;Ar}\)) as components. It is applied by default with the tabulated version of water of the IAPWS-formulation.

Public Types

using H2O = H2Otype
using Air = Dumux::Components::Air<Scalar>
using Scalar = ScalarType
 export the scalar type
using ParameterCache = NullParameterCache
 The type of parameter cache objects.

Static Public Member Functions

static std::string phaseName (int phaseIdx)
 Return the human readable name of a phase.
static constexpr bool isMiscible ()
 Returns whether the fluids are miscible.
static constexpr bool isGas (int phaseIdx)
 Return whether a phase is gaseous.
static constexpr bool isIdealMixture (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal mixture.
static constexpr bool isCompressible (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to be compressible.
static constexpr bool isIdealGas (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal gas.
static std::string componentName (int compIdx)
 Return the human readable name of a component.
static Scalar molarMass (int compIdx)
 Return the molar mass of a component \(\mathrm{[kg/mol]}\).
static Scalar criticalTemperature (int compIdx)
 Critical temperature of a component \(\mathrm{[K]}\).
static Scalar criticalPressure (int compIdx)
 Critical pressure of a component \(\mathrm{[Pa]}\).
template<class FluidState>
static Scalar vaporPressure (const FluidState &fluidState, int compIdx)
 Vapor pressure of a component \(\mathrm{[Pa]}\).
static Scalar criticalMolarVolume (int compIdx)
 Molar volume of a component at the critical point \(\mathrm{[m^3/mol]}\).
static Scalar acentricFactor (int compIdx)
 The acentric factor of a component \(\mathrm{[-]}\).
static void init ()
 Initialize the fluid system's static parameters generically.
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.
template<class FluidState>
static Scalar density (const FluidState &fluidState, const int phaseIdx)
 Given a phase's composition, temperature, pressure, and the partial pressures of all components, return its density \(\mathrm{[kg/m^3]}\).
template<class FluidState>
static Scalar molarDensity (const FluidState &fluidState, int phaseIdx)
 The molar density \(\rho_{mol,\alpha}\) of a fluid phase \(\alpha\) in \(\mathrm{[mol/m^3]}\).
template<class FluidState>
static Scalar viscosity (const FluidState &fluidState, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).
template<class FluidState>
static Scalar fugacityCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
 Returns the fugacity coefficient \(\mathrm{[-]}\) of a component in a phase.
template<class FluidState>
static Scalar relativeHumidity (const FluidState &fluidState)
 Returns the relative humidity of the gas phase.
template<class FluidState>
static Scalar diffusionCoefficient (const FluidState &fluidState, int phaseIdx, int compIdx)
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 \(i\) and \(j\) in this phase.
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]}\).
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.
template<class FluidState>
static Scalar thermalConductivity (const FluidState &fluidState, int phaseIdx)
 Thermal conductivity of a fluid phase \(\mathrm{[W/(m K)]}\).
template<class FluidState>
static Scalar heatCapacity (const FluidState &fluidState, int phaseIdx)
 Specific isobaric heat capacity of a fluid phase. \(\mathrm{[J/(kg*K)}\).
static Scalar density (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the density \(\mathrm{[kg/m^3]}\) of a fluid phase.
static Scalar molarDensity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the molar density \(\mathrm{[mol/m^3]}\) of a fluid phase.
static Scalar viscosity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Calculate the dynamic viscosity of a fluid phase \(\mathrm{[Pa*s]}\).
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.
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)]}\).
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.
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]}\).
static Scalar thermalConductivity (const FluidState &fluidState, const ParameterCache &paramCache, int phaseIdx)
 Thermal conductivity \(\lambda_\alpha \) of a fluid phase \(\mathrm{[W/(m K)]}\).
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)]}\).
static constexpr bool isTracerFluidSystem ()
 Some properties of the fluid system.
template<class I = Implementation, std::enable_if_t<!I::isTracerFluidSystem(), int > = 0>
static constexpr int getMainComponent (int phaseIdx)
 Get the main component of a given phase if possible.
static constexpr bool viscosityIsConstant (int phaseIdx)
 Returns true if and only if a fluid phase is assumed to have a constant viscosity.

Static Public Attributes

static constexpr int numPhases = 2
 Number of phases in the fluid system.
static constexpr int numComponents = 2
 Number of components in the fluid system.
static constexpr int liquidPhaseIdx = 0
 index of the liquid phase
static constexpr int gasPhaseIdx = 1
 index of the gas phase
static constexpr int phase0Idx = liquidPhaseIdx
 index of the first phase
static constexpr int phase1Idx = gasPhaseIdx
 index of the second phase
static constexpr int H2OIdx = 0
 index of the frist component
static constexpr int AirIdx = 1
 index of the second component
static constexpr int comp0Idx = H2OIdx
 index of the frist component
static constexpr int comp1Idx = AirIdx
 index of the second component
static constexpr int liquidCompIdx = H2OIdx
 index of the liquid component
static constexpr int gasCompIdx = AirIdx
 index of the gas component

Member Typedef Documentation

◆ Air

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
using Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::Air = Dumux::Components::Air<Scalar>

◆ H2O

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
using Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::H2O = H2Otype

◆ ParameterCache

template<class ScalarType, class Implementation>
using Dumux::FluidSystems::Base< ScalarType, Implementation >::ParameterCache = NullParameterCache
inherited

The type of parameter cache objects.

◆ Scalar

template<class ScalarType, class Implementation>
using Dumux::FluidSystems::Base< ScalarType, Implementation >::Scalar = ScalarType
inherited

export the scalar type

Member Function Documentation

◆ acentricFactor()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::acentricFactor ( int compIdx)
inlinestatic

The acentric factor of a component \(\mathrm{[-]}\).

Parameters
compIdxThe index of the component to consider

◆ binaryDiffusionCoefficient() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::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 \(i\) and \(j\) in this phase.

Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
compIIdxThe index of the first component to consider
compJIdxThe index of the second component to consider

◆ componentEnthalpy()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::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<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
std::string Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::componentName ( int compIdx)
inlinestatic

Return the human readable name of a component.

Parameters
compIdxindex of the component

◆ criticalMolarVolume()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::criticalMolarVolume ( int compIdx)
inlinestatic

Molar volume of a component at the critical point \(\mathrm{[m^3/mol]}\).

Parameters
compIdxThe index of the component to consider

◆ criticalPressure()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::criticalPressure ( int compIdx)
inlinestatic

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

Parameters
compIdxThe index of the component to consider

◆ criticalTemperature()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::criticalTemperature ( int compIdx)
inlinestatic

Critical temperature of a component \(\mathrm{[K]}\).

Parameters
compIdxThe index of the component to consider

◆ density() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::density ( const FluidState & fluidState,
const int phaseIdx )
inlinestatic

Given a phase's composition, temperature, pressure, and the partial pressures of all components, return its density \(\mathrm{[kg/m^3]}\).

If Policy::useH2ODensityAsLiquidMixtureDensity() == false, we apply Eq. (7) in Class et al. (2002a) [13]
for the liquid density.

Parameters
phaseIdxindex of the phase
fluidStatethe fluid state

◆ density() [2/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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

◆ diffusionCoefficient() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::diffusionCoefficient ( const FluidState & fluidState,
int phaseIdx,
int compIdx )
inlinestatic

◆ enthalpy() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::enthalpy ( const FluidState & fluidState,
int phaseIdx )
inlinestatic

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

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

See: Class 2001: Theorie und numerische Modellierung nichtisothermer Mehrphasenprozesse in NAPL-kontaminierten porösen Medien Chapter 2.1.13 Innere Energie, Wäremekapazität, Enthalpie [14]

Formula (2.42): the specific enthalpy of a gasphase result from the sum of (enthalpies*mass fraction) of the components

Todo
This system neglects the contribution of gas-molecules in the liquid phase. This contribution is probably not big. Somebody would have to find out the enthalpy of solution for this system. ...

◆ fugacityCoefficient() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::fugacityCoefficient ( const FluidState & fluidState,
int phaseIdx,
int compIdx )
inlinestatic

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

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

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

where \(p_\alpha\) is the pressure of the fluid phase.

For liquids with very low miscibility this boils down to the Henry constant for the solutes and the saturated vapor pressure both divided by phase pressure.

◆ getMainComponent()

template<class ScalarType, class Implementation>
template<class I = Implementation, std::enable_if_t<!I::isTracerFluidSystem(), int > = 0>
constexpr int Dumux::FluidSystems::Base< ScalarType, Implementation >::getMainComponent ( int phaseIdx)
inlinestaticconstexprinherited

Get the main component of a given phase if possible.

Parameters
phaseIdxThe index of the fluid phase to consider
Todo
Unfortunately we currently still have the assumption in some volume variables (e.g. 1pnc, 2pnc) that the main component index of a phase is equal to the phase index of that phase. This means changing this only works if the volume variables are written accordingly.
Note
This only makes sense if this is not a tracer fluid system (then the bulk component is not balanced)

◆ heatCapacity() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::heatCapacity ( const FluidState & fluidState,
int phaseIdx )
inlinestatic

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

Todo
Check whether the gas phase enthalpy is a linear mixture of the component enthalpies and the mole fractions is a good assumption.
Parameters
fluidStateAn arbitrary fluid state
phaseIdxfor which phase to give back the heat capacity

◆ init() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
void Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::init ( )
inlinestatic

Initialize the fluid system's static parameters generically.

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<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
void Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::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 \(\mathrm{[K]}\)
tempMaxThe maximum temperature used for tabulation of water \(\mathrm{[K]}\)
nTempThe number of ticks on the temperature axis of the table of water
pressMinThe minimum pressure used for tabulation of water \(\mathrm{[Pa]}\)
pressMaxThe maximum pressure used for tabulation of water \(\mathrm{[Pa]}\)
nPressThe number of ticks on the pressure axis of the table of water

◆ isCompressible()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
constexpr bool Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::isCompressible ( int phaseIdx)
inlinestaticconstexpr

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<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
constexpr bool Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::isGas ( int phaseIdx)
inlinestaticconstexpr

Return whether a phase is gaseous.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ isIdealGas()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
constexpr bool Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::isIdealGas ( int phaseIdx)
inlinestaticconstexpr

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<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
constexpr bool Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::isIdealMixture ( int phaseIdx)
inlinestaticconstexpr

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 independent on the fluid composition. This assumption 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<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
constexpr bool Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::isMiscible ( )
inlinestaticconstexpr

Returns whether the fluids are miscible.

◆ isTracerFluidSystem()

template<class ScalarType, class Implementation>
constexpr bool Dumux::FluidSystems::Base< ScalarType, Implementation >::isTracerFluidSystem ( )
inlinestaticconstexprinherited

Some properties of the fluid system.

If the fluid system only contains tracer components

◆ molarDensity() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::molarDensity ( const FluidState & fluidState,
int phaseIdx )
inlinestatic

The molar density \(\rho_{mol,\alpha}\) of a 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 molar mass of the main component \(M_\kappa\):

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

◆ molarMass()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::molarMass ( int compIdx)
inlinestatic

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

Parameters
compIdxindex of the component

◆ phaseName()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
std::string Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::phaseName ( int phaseIdx)
inlinestatic

Return the human readable name of a phase.

Parameters
phaseIdxindex of the phase

◆ relativeHumidity()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::relativeHumidity ( const FluidState & fluidState)
inlinestatic

Returns the relative humidity of the gas phase.

The relative humidity is the ratio of the partial pressure of water vapor to the equilibrium vapor pressure of water at a given temperature.

◆ thermalConductivity() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::thermalConductivity ( const FluidState & fluidState,
int phaseIdx )
inlinestatic

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

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

Use the conductivity of air and water as a first approximation. Source: http://en.wikipedia.org/wiki/List_of_thermal_conductivities

◆ vaporPressure()

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::vaporPressure ( const FluidState & fluidState,
int compIdx )
inlinestatic

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

Parameters
fluidStateThe fluid state
compIdxThe index of the component to consider

◆ viscosity() [1/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
Scalar Dumux::FluidSystems::Base< Scalar, ThisType >::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/2]

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
template<class FluidState>
Scalar Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::viscosity ( const FluidState & fluidState,
int phaseIdx )
inlinestatic

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

Compositional effects in the gas phase are accounted by the Wilke method. See Reid et al. (1987) [53]
4th edition, McGraw-Hill, 1987, 407-410 5th edition, McGraw-Hill, 2001, p. 9.21/22

Note
Compositional effects for a liquid mixture have to be implemented.
Parameters
fluidStateAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider

◆ viscosityIsConstant()

template<class ScalarType, class Implementation>
constexpr bool Dumux::FluidSystems::Base< ScalarType, Implementation >::viscosityIsConstant ( int phaseIdx)
inlinestaticconstexprinherited

Returns true if and only if a fluid phase is assumed to have a constant viscosity.

Parameters
phaseIdxThe index of the fluid phase to consider

Member Data Documentation

◆ AirIdx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::AirIdx = 1
staticconstexpr

index of the second component

◆ comp0Idx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::comp0Idx = H2OIdx
staticconstexpr

index of the frist component

◆ comp1Idx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::comp1Idx = AirIdx
staticconstexpr

index of the second component

◆ gasCompIdx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::gasCompIdx = AirIdx
staticconstexpr

index of the gas component

◆ gasPhaseIdx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::gasPhaseIdx = 1
staticconstexpr

index of the gas phase

◆ H2OIdx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::H2OIdx = 0
staticconstexpr

index of the frist component

◆ liquidCompIdx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::liquidCompIdx = H2OIdx
staticconstexpr

index of the liquid component

◆ liquidPhaseIdx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::liquidPhaseIdx = 0
staticconstexpr

index of the liquid phase

◆ numComponents

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::numComponents = 2
staticconstexpr

Number of components in the fluid system.

◆ numPhases

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::numPhases = 2
staticconstexpr

Number of phases in the fluid system.

◆ phase0Idx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::phase0Idx = liquidPhaseIdx
staticconstexpr

index of the first phase

◆ phase1Idx

template<class Scalar, class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >, class Policy = H2OAirDefaultPolicy<>, bool useKelvinVaporPressure = false>
int Dumux::FluidSystems::H2OAir< Scalar, H2Otype, Policy, useKelvinVaporPressure >::phase1Idx = gasPhaseIdx
staticconstexpr

index of the second phase


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