3.1-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::Components::Air< Scalar > Class Template Reference

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

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

Inheritance diagram for Dumux::Components::Air< Scalar >:
Inheritance graph

Description

template<class Scalar>
class Dumux::Components::Air< Scalar >

A class for the air fluid properties.

Template Parameters
ScalarThe type used for scalar values

Public Types

using Scalar = Scalar
 export the scalar type used by the component More...
 

Static Public Member Functions

static std::string name ()
 A human readable name for Air. More...
 
static constexpr Scalar molarMass ()
 The molar mass in \(\mathrm{[kg/mol]}\) of Air. More...
 
static Scalar criticalTemperature ()
 Returns the critical temperature \(\mathrm{[K]}\) of Air. More...
 
static Scalar criticalPressure ()
 Returns the critical pressure \(\mathrm{[Pa]}\) of Air. More...
 
static Scalar gasDensity (Scalar temperature, Scalar pressure)
 The density \(\mathrm{[kg/m^3]}\) of Air at a given pressure and temperature. More...
 
static Scalar gasMolarDensity (Scalar temperature, Scalar pressure)
 The molar density of air in \(\mathrm{[mol/m^3]}\), depending on pressure and temperature. More...
 
static constexpr bool gasIsCompressible ()
 Returns true, the gas phase is assumed to be compressible. More...
 
static constexpr bool gasIsIdeal ()
 Returns true, the gas phase is assumed to be ideal. More...
 
static Scalar gasPressure (Scalar temperature, Scalar density)
 The pressure \(\mathrm{[Pa]}\) of gaseous Air at a given density and temperature. More...
 
static Scalar oldGasViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature. More...
 
static Scalar gasViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature. More...
 
static Scalar simpleGasViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature. More...
 
static Scalar exactGasViscosity (Scalar temperature, Scalar pressure)
 The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature. More...
 
static Scalar gasEnthalpy (Scalar temperature, Scalar pressure)
 Specific enthalpy of Air \(\mathrm{[J/kg]}\) with 273.15 \( K \) as basis. More...
 
static const Scalar gasInternalEnergy (Scalar temperature, Scalar pressure)
 Specific internal energy of Air \(\mathrm{[J/kg]}\). More...
 
static const Scalar gasHeatCapacity (Scalar temperature, Scalar pressure)
 Specific isobaric heat capacity \(\mathrm{[J/(kg*K)]}\) of pure air. More...
 
static Scalar gasThermalConductivity (Scalar temperature, Scalar pressure)
 Thermal conductivity \(\mathrm{[[W/(m*K)]}\) of air. More...
 
static void init (Scalar tempMin, Scalar tempMax, unsigned nTemp, Scalar pressMin, Scalar pressMax, unsigned nPress)
 A default routine for initialization, not needed for components and must not be called. More...
 
static constexpr Scalar tripleTemperature ()
 Returns the temperature in \(\mathrm{[K]}\) at the component's triple point. More...
 
static constexpr Scalar triplePressure ()
 Returns the pressure in \(\mathrm{[Pa]}\) at the component's triple point. More...
 
static Scalar vaporPressure (Scalar t)
 The vapor pressure in \(\mathrm{[Pa]}\) of the component at a given temperature in \(\mathrm{[K]}\). More...
 
static constexpr bool gasViscosityIsConstant ()
 Returns true if the gas phase viscostiy is constant. More...
 

Static Public Attributes

static constexpr bool isTabulated
 if the component relies on tabulated values More...
 

Member Typedef Documentation

◆ Scalar

using Dumux::Components::Base< Scalar , Air< Scalar > >::Scalar = Scalar
inherited

export the scalar type used by the component

Member Function Documentation

◆ criticalPressure()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::criticalPressure ( )
inlinestatic

Returns the critical pressure \(\mathrm{[Pa]}\) of Air.

◆ criticalTemperature()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::criticalTemperature ( )
inlinestatic

Returns the critical temperature \(\mathrm{[K]}\) of Air.

◆ exactGasViscosity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::exactGasViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature.

This is a very exact approach by Lemmon and Jacobsen (2004) [42] All the values and parameters used below are explained in their paper Since they use ''eta'' for dyn. viscosity, we do it as well for easier comparison with the paper

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasDensity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::gasDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

The density \(\mathrm{[kg/m^3]}\) of Air at a given pressure and temperature.

Ideal gas is assumed.

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of phase in \(\mathrm{[Pa]}\)

◆ gasEnthalpy()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::gasEnthalpy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

Specific enthalpy of Air \(\mathrm{[J/kg]}\) with 273.15 \( K \) as basis.

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

Kays et al. (2005, 431ff) [36]

◆ gasHeatCapacity()

template<class Scalar >
static const Scalar Dumux::Components::Air< Scalar >::gasHeatCapacity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

Specific isobaric heat capacity \(\mathrm{[J/(kg*K)]}\) of pure air.

This methods uses the formula for "zero-pressure" heat capacity that is only dependent on temperature, because the pressure dependence is rather small. This one should be accurate for a pressure of 1 atm.

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

Values taken from Hollis (1996) [31]
"Tables of Thermal Properties of Gases"

◆ gasInternalEnergy()

template<class Scalar >
static const Scalar Dumux::Components::Air< Scalar >::gasInternalEnergy ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

Specific internal energy of Air \(\mathrm{[J/kg]}\).

Definition of enthalpy: \(h= u + pv = u + p / \rho\). Rearranging for internal energy yields: \(u = h - pv\). Exploiting the Ideal Gas assumption ( \(pv = R_{\textnormal{specific}} T\)) gives: \(u = h - R / M T \).

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasIsCompressible()

template<class Scalar >
static constexpr bool Dumux::Components::Air< Scalar >::gasIsCompressible ( )
inlinestaticconstexpr

Returns true, the gas phase is assumed to be compressible.

◆ gasIsIdeal()

template<class Scalar >
static constexpr bool Dumux::Components::Air< Scalar >::gasIsIdeal ( )
inlinestaticconstexpr

Returns true, the gas phase is assumed to be ideal.

◆ gasMolarDensity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::gasMolarDensity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

The molar density of air in \(\mathrm{[mol/m^3]}\), depending on pressure and temperature.

Parameters
temperatureThe temperature of the gas
pressureThe pressure of the gas

◆ gasPressure()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::gasPressure ( Scalar  temperature,
Scalar  density 
)
inlinestatic

The pressure \(\mathrm{[Pa]}\) of gaseous Air at a given density and temperature.

Ideal gas is assumed.

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
densitydensity of component in \(\mathrm{[kg/m^3]}\)

◆ gasThermalConductivity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::gasThermalConductivity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

Thermal conductivity \(\mathrm{[[W/(m*K)]}\) of air.

Isobaric Properties for Nitrogen in: NIST Standard [48]
evaluated at p=.1 MPa, T=20°C
Nitrogen: 0.025398
Oxygen: 0.026105
lambda_air is approximately 0.78*lambda_N2+0.22*lambda_O2

Parameters
temperatureabsolute temperature in \(\mathrm{[K]}\)
pressureof the phase in \(\mathrm{[Pa]}\)

◆ gasViscosity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::gasViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature.

Simple method, already implemented in MUFTE-UG, but pretty accurate.

The pressure correction is even simpler and developed and tested by Holger Class in 2016 against the results of the Lemmon and Jacobsen (2004) approach [42] It shows very reasonable results throughout realistic pressure and temperature ranges up to several hundred Kelvin and up to 500 bar

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ gasViscosityIsConstant()

static constexpr bool Dumux::Components::Gas< Scalar, Air< Scalar > >::gasViscosityIsConstant ( )
inlinestaticconstexprinherited

Returns true if the gas phase viscostiy is constant.

◆ init()

static void Dumux::Components::Base< Scalar , Air< Scalar > >::init ( Scalar  tempMin,
Scalar  tempMax,
unsigned  nTemp,
Scalar  pressMin,
Scalar  pressMax,
unsigned  nPress 
)
inlinestaticinherited

A default routine for initialization, not needed for components and must not be called.

Parameters
tempMinThe minimum of the temperature range in \(\mathrm{[K]}\)
tempMaxThe maximum of the temperature range in \(\mathrm{[K]}\)
nTempThe number of entries/steps within the temperature range
pressMinThe minimum of the pressure range in \(\mathrm{[Pa]}\)
pressMaxThe maximum of the pressure range in \(\mathrm{[Pa]}\)
nPressThe number of entries/steps within the pressure range

This function throws a warning when called: "No init routine defined - make sure that this is not necessary!"

◆ molarMass()

template<class Scalar >
static constexpr Scalar Dumux::Components::Air< Scalar >::molarMass ( )
inlinestaticconstexpr

The molar mass in \(\mathrm{[kg/mol]}\) of Air.

Taken from constrelair.hh.

◆ name()

template<class Scalar >
static std::string Dumux::Components::Air< Scalar >::name ( )
inlinestatic

A human readable name for Air.

◆ oldGasViscosity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::oldGasViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature.

Criticial specific volume calculated by \(V_c = (R*T_c)/p_c\).

Reid et al. (1987, pp 396-397, 667) [59]
Poling et al. (2001, pp 9.7-9.8) [57]

Accentric factor taken from:
Adebiyi (2003) [4]

air is a non-polar substance, thus dipole moment mu is zero, as well the dimensionless dipole moment mu_r therefore not considered below the same holds for the correction value kappa for highly polar substances

This calculation was introduced into Dumux in 2012 although the method here is designed for general polar substances. Air, however, is (a) non-polar, and (b) there are more precise methods available

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ simpleGasViscosity()

template<class Scalar >
static Scalar Dumux::Components::Air< Scalar >::simpleGasViscosity ( Scalar  temperature,
Scalar  pressure 
)
inlinestatic

The dynamic viscosity \(\mathrm{[Pa*s]}\) of Air at a given pressure and temperature.

Simple method, already implemented in MUFTE-UG, but pretty accurate at atmospheric pressures. Gas viscosity is not very dependent on pressure. Thus, for low pressures one might switch the pressure correction off

Parameters
temperaturetemperature of component in \(\mathrm{[K]}\)
pressurepressure of component in \(\mathrm{[Pa]}\)

◆ triplePressure()

static constexpr Scalar Dumux::Components::Base< Scalar , Air< Scalar > >::triplePressure ( )
inlinestaticconstexprinherited

Returns the pressure in \(\mathrm{[Pa]}\) at the component's triple point.

◆ tripleTemperature()

static constexpr Scalar Dumux::Components::Base< Scalar , Air< Scalar > >::tripleTemperature ( )
inlinestaticconstexprinherited

Returns the temperature in \(\mathrm{[K]}\) at the component's triple point.

◆ vaporPressure()

static Scalar Dumux::Components::Base< Scalar , Air< Scalar > >::vaporPressure ( Scalar  t)
inlinestaticinherited

The vapor pressure in \(\mathrm{[Pa]}\) of the component at a given temperature in \(\mathrm{[K]}\).

Parameters
ttemperature of the component in \(\mathrm{[K]}\)

Member Data Documentation

◆ isTabulated

constexpr bool Dumux::Components::Base< Scalar , Air< Scalar > >::isTabulated
staticconstexprinherited

if the component relies on tabulated values


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