Loading...
Searching...
No Matches
Opm::H2OAirFluidSystem< Scalar, H2Otype > Class Template Reference

A fluid system with a liquid and a gaseous phase and water and air as components. More...

`#include <H2OAirFluidSystem.hpp>`

Inheritance diagram for Opm::H2OAirFluidSystem< Scalar, H2Otype >:

## Classes

struct | ParameterCache

## Public Types

typedef H2Otype | H2O
| The type of the water component used for this fluid system.
typedef ::Opm::Air< Scalar > | Air
| The type of the air component used for this fluid system.
Public Types inherited from Opm::BaseFluidSystem< ScalarT, Implementation >
typedef ScalarT | Scalar
| The type used for scalar quantities.

## Static Public Member Functions

static std::string_view | phaseName (unsigned phaseIdx)
| Return the human readable name of a fluid phase.
static bool | isLiquid (unsigned phaseIdx)
| Return whether a phase is liquid.
static bool | isCompressible (unsigned phaseIdx)
| Returns true if and only if a fluid phase is assumed to be compressible.
static bool | isIdealGas (unsigned phaseIdx)
| Returns true if and only if a fluid phase is assumed to be an ideal gas.
static bool | isIdealMixture (unsigned)
| Returns true if and only if a fluid phase is assumed to be an ideal mixture.
static std::string_view | componentName (unsigned compIdx)
| Return the human readable name of a component.
static Scalar | molarMass (unsigned compIdx)
| Return the molar mass of a component in [kg/mol].
static Scalar | criticalTemperature (unsigned compIdx)
| Critical temperature of a component [K].
static Scalar | criticalPressure (unsigned compIdx)
| Critical pressure of a component [Pa].
static Scalar | acentricFactor (unsigned compIdx)
| The acentric factor of a component [].
static void | init ()
| Initialize the fluid system's static parameters.
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, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval | density (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)
| Calculate the density [kg/m^3] of a fluid phase.
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval | viscosity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)
| Calculate the dynamic viscosity of a fluid phase [Pa*s].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval | fugacityCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx, unsigned compIdx)
| Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase.
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval | binaryDiffusionCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx, unsigned)
| Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval | enthalpy (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)
| Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval | thermalConductivity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)
| Thermal conductivity of a fluid phase [W/(m K)].
Static Public Member Functions inherited from Opm::BaseFluidSystem< ScalarT, Implementation >
static std::string_view | phaseName (unsigned)
| Return the human readable name of a fluid phase.
static bool | isLiquid (unsigned)
| Return whether a phase is liquid.
static bool | isIdealMixture (unsigned)
| Returns true if and only if a fluid phase is assumed to be an ideal mixture.
static bool | isCompressible (unsigned)
| Returns true if and only if a fluid phase is assumed to be compressible.
static bool | isIdealGas (unsigned)
| Returns true if and only if a fluid phase is assumed to be an ideal gas.
static std::string_view | componentName (unsigned)
| Return the human readable name of a component.
static Scalar | molarMass (unsigned)
| Return the molar mass of a component in [kg/mol].
static Scalar | acentricFactor (unsigned)
| Return the acetntric factor of a component.
static void | init ()
| Initialize the fluid system's static parameters.
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | density (const FluidState &, const ParamCache &, unsigned)
| Calculate the density [kg/m^3] of a fluid phase.
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | fugacityCoefficient (const FluidState &, ParamCache &, unsigned, unsigned)
| Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase.
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | viscosity (const FluidState &, ParamCache &, unsigned)
| Calculate the dynamic viscosity of a fluid phase [Pa*s].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | diffusionCoefficient (const FluidState &, ParamCache &, unsigned, unsigned)
| Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | enthalpy (const FluidState &, ParamCache &, unsigned)
| Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | thermalConductivity (const FluidState &, ParamCache &, unsigned)
| Thermal conductivity of a fluid phase [W/(m K)].
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCache>
static LhsEval | heatCapacity (const FluidState &, ParamCache &, unsigned)
| Specific isobaric heat capacity of a fluid phase [J/kg].
static bool | phaseIsActive (unsigned)
| Returns whether a fluid phase is active.

## Static Public Attributes

static const int | numPhases = 2
| Number of fluid phases in the fluid system.
static const int | liquidPhaseIdx = 0
| The index of the liquid phase.
static const int | gasPhaseIdx = 1
| The index of the gas phase.
static const int | numComponents = 2
| Number of chemical species in the fluid system.
static const int | H2OIdx = 0
| The index of the water component.
static const int | AirIdx = 1
| The index of the air component.
Static Public Attributes inherited from Opm::BaseFluidSystem< ScalarT, Implementation >
static const int | numComponents = -1000
| Number of chemical species in the fluid system.
static const int | numPhases = -2000
| Number of fluid phases in the fluid system.

## Detailed Description

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
class Opm::H2OAirFluidSystem< Scalar, H2Otype >

A fluid system with a liquid and a gaseous phase and water and air as components.

This fluidsystem is applied by default with the tabulated version of water of the IAPWS-formulation.

## Member Function Documentation

## acentricFactor()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

Scalar Opm::H2OAirFluidSystem< Scalar, H2Otype >::acentricFactor | ( | unsigned | compIdx | ) |

inline static

The acentric factor of a component [].

Parameters

  compIdx | The index of the component to consider

## binaryDiffusionCoefficient()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>

LhsEval Opm::H2OAirFluidSystem< Scalar, H2Otype >::binaryDiffusionCoefficient | ( | const FluidState & | fluidState,
|  | const ParameterCache< ParamCacheEval > & | ,
|  | unsigned | phaseIdx,
|  | unsigned | )

inline static

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

Molecular diffusion of a compoent is caused by a gradient of the mole fraction and follows the law

where is the component's mole fraction in phase , is the diffusion coefficient and is the diffusive flux.

## componentName()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

std::string_view Opm::H2OAirFluidSystem< Scalar, H2Otype >::componentName | ( | unsigned | compIdx | ) |

inline static

Return the human readable name of a component.

## criticalPressure()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

Scalar Opm::H2OAirFluidSystem< Scalar, H2Otype >::criticalPressure | ( | unsigned | compIdx | ) |

inline static

Critical pressure of a component [Pa].

Parameters

  compIdx | The index of the component to consider

## criticalTemperature()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

Scalar Opm::H2OAirFluidSystem< Scalar, H2Otype >::criticalTemperature | ( | unsigned | compIdx | ) |

inline static

Critical temperature of a component [K].

Parameters

  compIdx | The index of the component to consider

## density()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>

LhsEval Opm::H2OAirFluidSystem< Scalar, H2Otype >::density | ( | const FluidState & | fluidState,
|  | const ParameterCache< ParamCacheEval > & | ,
|  | unsigned | phaseIdx )

inline static

Calculate the density [kg/m^3] of a fluid phase.

## enthalpy()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>

LhsEval Opm::H2OAirFluidSystem< Scalar, H2Otype >::enthalpy | ( | const FluidState & | fluidState,
|  | const ParameterCache< ParamCacheEval > & | ,
|  | unsigned | phaseIdx )

inline static

Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].

## fugacityCoefficient()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>

LhsEval Opm::H2OAirFluidSystem< Scalar, H2Otype >::fugacityCoefficient | ( | const FluidState & | fluidState,
|  | const ParameterCache< ParamCacheEval > & | ,
|  | unsigned | phaseIdx,
|  | unsigned | compIdx )

inline static

Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase.

The fugacity coefficient is connected to the fugacity and the component's molarity by means of the relation

## init() [1/2]

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

void Opm::H2OAirFluidSystem< Scalar, H2Otype >::init | ( |  | ) |

inline static

Initialize the fluid system's static parameters.

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 = TabulatedComponent<Scalar, H2O<Scalar> >>

void Opm::H2OAirFluidSystem< Scalar, H2Otype >::init | ( | Scalar | tempMin,
|  | Scalar | tempMax,
|  | unsigned | nTemp,
|  | Scalar | pressMin,
|  | Scalar | pressMax,
|  | unsigned | nPress )

inline static

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

Parameters

  tempMin | The minimum temperature used for tabulation of water [K]
  tempMax | The maximum temperature used for tabulation of water [K]
  nTemp | The number of ticks on the temperature axis of the table of water
  pressMin | The minimum pressure used for tabulation of water [Pa]
  pressMax | The maximum pressure used for tabulation of water [Pa]
  nPress | The number of ticks on the pressure axis of the table of water

## isCompressible()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

bool Opm::H2OAirFluidSystem< Scalar, H2Otype >::isCompressible | ( | unsigned | phaseIdx | ) |

inline static

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.

## isIdealGas()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

bool Opm::H2OAirFluidSystem< Scalar, H2Otype >::isIdealGas | ( | unsigned | phaseIdx | ) |

inline static

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

## isIdealMixture()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

bool Opm::H2OAirFluidSystem< Scalar, H2Otype >::isIdealMixture | ( | unsigned |  | ) |

inline static

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 Rault'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.

## isLiquid()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

bool Opm::H2OAirFluidSystem< Scalar, H2Otype >::isLiquid | ( | unsigned | phaseIdx | ) |

inline static

Return whether a phase is liquid.

## molarMass()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

Scalar Opm::H2OAirFluidSystem< Scalar, H2Otype >::molarMass | ( | unsigned | compIdx | ) |

inline static

Return the molar mass of a component in [kg/mol].

## phaseName()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

std::string_view Opm::H2OAirFluidSystem< Scalar, H2Otype >::phaseName | ( | unsigned | phaseIdx | ) |

inline static

Return the human readable name of a fluid phase.

## thermalConductivity()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>

LhsEval Opm::H2OAirFluidSystem< Scalar, H2Otype >::thermalConductivity | ( | const FluidState & | fluidState,
|  | const ParameterCache< ParamCacheEval > & | ,
|  | unsigned | phaseIdx )

inline static

Thermal conductivity of a fluid phase [W/(m K)].

## viscosity()

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>
template<class FluidState, class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>

LhsEval Opm::H2OAirFluidSystem< Scalar, H2Otype >::viscosity | ( | const FluidState & | fluidState,
|  | const ParameterCache< ParamCacheEval > & | ,
|  | unsigned | phaseIdx )

inline static

Calculate the dynamic viscosity of a fluid phase [Pa*s].

## Member Data Documentation

## numComponents

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

const int Opm::H2OAirFluidSystem< Scalar, H2Otype >::numComponents = 2

static

Number of chemical species in the fluid system.

## numPhases

template<class Scalar, class H2Otype = TabulatedComponent<Scalar, H2O<Scalar> >>

const int Opm::H2OAirFluidSystem< Scalar, H2Otype >::numPhases = 2

static

Number of fluid phases in the fluid system.

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

- opm/material/fluidsystems/H2OAirFluidSystem.hpp