Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations > Class Template Reference

A liquid-phase-only fluid system with water and nitrogen as components. More...

#include <H2ON2LiquidPhaseFluidSystem.hpp>

Inheritance diagram for Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >:
Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >

List of all members.

Classes

struct  ParameterCache

Public Types

typedef TabulatedH2O H2O
 The type of the component for pure water.
typedef SimpleN2 N2
 The type of the component for pure molecular nitrogen.

Static Public Member Functions

static const char * phaseName (unsigned phaseIdx OPM_OPTIM_UNUSED)
static bool isLiquid (unsigned)
static bool isCompressible (unsigned)
static bool isIdealGas (unsigned)
static bool isIdealMixture (unsigned)
static const char * componentName (unsigned compIdx)
static Scalar molarMass (unsigned compIdx)
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 ()
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)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval viscosity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval fugacityCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx, unsigned compIdx)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval diffusionCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx, unsigned)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval enthalpy (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval thermalConductivity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, const unsigned phaseIdx)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval heatCapacity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx)

Static Public Attributes

static const int numPhases = 1
static const int liquidPhaseIdx = 0
 Index of the liquid phase.
static const int numComponents = 2
static const int H2OIdx = 0
 The index of the water component.
static const int N2Idx = 1
 The index of the component for molecular nitrogen.

Detailed Description

template<class Scalar, bool useComplexRelations = true>
class Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >

A liquid-phase-only fluid system with water and nitrogen as components.


Member Function Documentation

template<class Scalar , bool useComplexRelations = true>
static Scalar Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::acentricFactor ( unsigned  compIdx  )  [inline, static]

The acentric factor of a component [].

Parameters:
compIdx The index of the component to consider
template<class Scalar , bool useComplexRelations = true>
static const char* Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::componentName ( unsigned  compIdx  )  [inline, static]

Return the human readable name of a component.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static Scalar Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::criticalPressure ( unsigned  compIdx  )  [inline, static]

Critical pressure of a component [Pa].

Parameters:
compIdx The index of the component to consider
template<class Scalar , bool useComplexRelations = true>
static Scalar Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::criticalTemperature ( unsigned  compIdx  )  [inline, static]

Critical temperature of a component [K].

Parameters:
compIdx The index of the component to consider
template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::density ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  ,
unsigned  phaseIdx 
) [inline, static]

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

template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::diffusionCoefficient ( 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 $\kappa$ is caused by a gradient of the mole fraction and follows the law

\[ J = - D \mathbf{grad} x^\kappa_\alpha \]

where $x_\alpha^\kappa$ is the component's mole fraction in phase $\alpha$, $D$ is the diffusion coefficient and $J$ is the diffusive flux.

template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::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].

template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::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 $\phi_\kappa$ is connected to the fugacity $f_\kappa$ and the component's molarity $x_\kappa$ by means of the relation

\[ f_\kappa = \phi_\kappa\,x_{\kappa} \]

template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::heatCapacity ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  ,
unsigned  phaseIdx 
) [inline, static]

Specific isobaric heat capacity of a fluid phase [J/kg].

template<class Scalar , bool useComplexRelations = true>
static void Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::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
template<class Scalar , bool useComplexRelations = true>
static void Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::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.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static bool Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::isCompressible ( unsigned   )  [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.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static bool Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::isIdealGas ( unsigned   )  [inline, static]

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

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static bool Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::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.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static bool Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::isLiquid ( unsigned   )  [inline, static]

Return whether a phase is liquid.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static Scalar Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::molarMass ( unsigned  compIdx  )  [inline, static]

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

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
static const char* Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::phaseName ( unsigned phaseIdx  OPM_OPTIM_UNUSED  )  [inline, static]

Return the human readable name of a fluid phase.

template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::thermalConductivity ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  ,
const unsigned  phaseIdx 
) [inline, static]

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

template<class Scalar , bool useComplexRelations = true>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::viscosity ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  ,
unsigned  phaseIdx 
) [inline, static]

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


Member Data Documentation

template<class Scalar , bool useComplexRelations = true>
const int Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::numComponents = 2 [static]

Number of chemical species in the fluid system.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.

template<class Scalar , bool useComplexRelations = true>
const int Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >::numPhases = 1 [static]

Number of fluid phases in the fluid system.

Reimplemented from Opm::BaseFluidSystem< Scalar, H2ON2LiquidPhase< Scalar, useComplexRelations > >.


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

Generated on 25 Mar 2018 by  doxygen 1.6.1