The base class for all fluid systems. More...
#include <BaseFluidSystem.hpp>
Classes | |
struct | ParameterCache |
The type of the fluid system's parameter cache. More... | |
Public Types | |
typedef ScalarT | Scalar |
The type used for scalar quantities. | |
Static Public Member Functions | |
static char * | 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 const char * | 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 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 Public Attributes | |
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. |
The base class for all fluid systems.
static const char* Opm::BaseFluidSystem< ScalarT, Implementation >::componentName | ( | unsigned | ) | [inline, static] |
Return the human readable name of a component.
Reimplemented in Opm::FluidSystems::BlackOil< Scalar >, Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::density | ( | const FluidState & | , | |
const ParamCache & | , | |||
unsigned | ||||
) | [inline, static] |
Calculate the density [kg/m^3] of a fluid phase.
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::diffusionCoefficient | ( | const FluidState & | , | |
ParamCache & | , | |||
unsigned | , | |||
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.
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::enthalpy | ( | const FluidState & | , | |
ParamCache & | , | |||
unsigned | ||||
) | [inline, static] |
Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::fugacityCoefficient | ( | const FluidState & | , | |
ParamCache & | , | |||
unsigned | , | |||
unsigned | ||||
) | [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
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::heatCapacity | ( | const FluidState & | , | |
ParamCache & | , | |||
unsigned | ||||
) | [inline, static] |
Specific isobaric heat capacity of a fluid phase [J/kg].
static bool Opm::BaseFluidSystem< ScalarT, Implementation >::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 in Opm::FluidSystems::BlackOil< Scalar >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >, Opm::FluidSystems::SinglePhase< Scalar, Fluid >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static bool Opm::BaseFluidSystem< ScalarT, Implementation >::isIdealGas | ( | unsigned | ) | [inline, static] |
Returns true if and only if a fluid phase is assumed to be an ideal gas.
Reimplemented in Opm::FluidSystems::BlackOil< Scalar >, Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >, Opm::FluidSystems::SinglePhase< Scalar, Fluid >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static bool Opm::BaseFluidSystem< ScalarT, Implementation >::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 in Opm::FluidSystems::BlackOil< Scalar >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >, Opm::FluidSystems::SinglePhase< Scalar, Fluid >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static bool Opm::BaseFluidSystem< ScalarT, Implementation >::isLiquid | ( | unsigned | ) | [inline, static] |
Return whether a phase is liquid.
Reimplemented in Opm::FluidSystems::BlackOil< Scalar >, Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >, Opm::FluidSystems::SinglePhase< Scalar, Fluid >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static Scalar Opm::BaseFluidSystem< ScalarT, Implementation >::molarMass | ( | unsigned | ) | [inline, static] |
Return the molar mass of a component in [kg/mol].
Reimplemented in Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::H2ON2LiquidPhase< Scalar, useComplexRelations >, Opm::FluidSystems::SinglePhase< Scalar, Fluid >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static char* Opm::BaseFluidSystem< ScalarT, Implementation >::phaseName | ( | unsigned | ) | [inline, static] |
Return the human readable name of a fluid phase.
Reimplemented in Opm::FluidSystems::BlackOil< Scalar >, Opm::FluidSystems::BrineCO2< Scalar, CO2Tables >, Opm::FluidSystems::H2OAir< Scalar, H2Otype, useComplexRelations >, Opm::FluidSystems::H2OAirMesitylene< Scalar >, Opm::FluidSystems::H2OAirXylene< Scalar >, Opm::FluidSystems::H2ON2< Scalar, useComplexRelations >, Opm::FluidSystems::Spe5< Scalar >, and Opm::FluidSystems::TwoPhaseImmiscible< Scalar, WettingPhase, NonwettingPhase >.
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::thermalConductivity | ( | const FluidState & | , | |
ParamCache & | , | |||
unsigned | ||||
) | [inline, static] |
Thermal conductivity of a fluid phase [W/(m K)].
static LhsEval Opm::BaseFluidSystem< ScalarT, Implementation >::viscosity | ( | const FluidState & | , | |
ParamCache & | , | |||
unsigned | ||||
) | [inline, static] |
Calculate the dynamic viscosity of a fluid phase [Pa*s].