Opm::FluidSystems::Spe5< Scalar > Class Template Reference

The fluid system for the oil, gas and water phases of the SPE5 problem. More...

#include <Spe5FluidSystem.hpp>

Inheritance diagram for Opm::FluidSystems::Spe5< Scalar >:
Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >

List of all members.

Classes

struct  ParameterCache

Public Types

typedef Opm::H2O< ScalarH2O
 The component for pure water to be used.

Static Public Member Functions

static const char * phaseName (unsigned phaseIdx)
static bool isLiquid (unsigned phaseIdx)
static bool isCompressible (unsigned)
static bool isIdealGas (unsigned)
static bool isIdealMixture (unsigned phaseIdx)
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 criticalMolarVolume (unsigned compIdx)
 Molar volume of a component at the critical point [m^3/mol].
static Scalar acentricFactor (unsigned compIdx)
 The acentric factor of a component [].
static Scalar interactionCoefficient (unsigned comp1Idx, unsigned comp2Idx)
 Returns the interaction coefficient for two components.
static void init (Scalar minT=273.15, Scalar maxT=373.15, Scalar minP=1e4, Scalar maxP=100e6)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval density (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &paramCache, unsigned phaseIdx)
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval viscosity (const 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 > &paramCache, unsigned phaseIdx, unsigned compIdx)

Static Public Attributes

static const int numPhases = 3
static const int gasPhaseIdx = 0
 Index of the gas phase.
static const int waterPhaseIdx = 1
 Index of the water phase.
static const int oilPhaseIdx = 2
 Index of the oil phase.
static const int numComponents = 7
static const int H2OIdx = 0
 Index of the water component.
static const int C1Idx = 1
 Index of the C1 component.
static const int C3Idx = 2
 Index of the C3 component.
static const int C6Idx = 3
 Index of the C6 component.
static const int C10Idx = 4
 Index of the C10 component.
static const int C15Idx = 5
 Index of the C15 component.
static const int C20Idx = 6
 Index of the C20 component.

Static Protected Member Functions

template<class LhsEval >
static LhsEval henryCoeffWater_ (unsigned compIdx, const LhsEval &temperature)

Detailed Description

template<class Scalar>
class Opm::FluidSystems::Spe5< Scalar >

The fluid system for the oil, gas and water phases of the SPE5 problem.

This problem comprises $H_2O$, $C_1$, $C_3$, $C_6$, $C_10$, $C_15$ and $C_20$ as components.

See:

J.E. Killough, et al.: Fifth Comparative Solution Project: Evaluation of Miscible Flood Simulators, Ninth SPE Symposium on Reservoir Simulation, 1987


Member Function Documentation

template<class Scalar >
static const char* Opm::FluidSystems::Spe5< Scalar >::componentName ( unsigned  compIdx  )  [inline, static]

Return the human readable name of a component.

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.

template<class Scalar >
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::Spe5< Scalar >::density ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  paramCache,
unsigned  phaseIdx 
) [inline, static]

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

template<class Scalar >
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::FluidSystems::Spe5< Scalar >::fugacityCoefficient ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  paramCache,
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 >
static void Opm::FluidSystems::Spe5< Scalar >::init ( Scalar  minT = 273.15,
Scalar  maxT = 373.15,
Scalar  minP = 1e4,
Scalar  maxP = 100e6 
) [inline, static]

Initialize the fluid system's static parameters.

Parameters:
minT The minimum temperature possibly encountered during the simulation
maxT The maximum temperature possibly encountered during the simulation
minP The minimum pressure possibly encountered during the simulation
maxP The maximum pressure possibly encountered during the simulation
template<class Scalar >
static Scalar Opm::FluidSystems::Spe5< Scalar >::interactionCoefficient ( unsigned  comp1Idx,
unsigned  comp2Idx 
) [inline, static]

Returns the interaction coefficient for two components.

The values are given by the SPE5 paper.

template<class Scalar >
static bool Opm::FluidSystems::Spe5< Scalar >::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.

In the SPE-5 problems all fluids are compressible...

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.

template<class Scalar >
static bool Opm::FluidSystems::Spe5< Scalar >::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, Spe5< Scalar > >.

template<class Scalar >
static bool Opm::FluidSystems::Spe5< Scalar >::isIdealMixture ( unsigned  phaseIdx  )  [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, Spe5< Scalar > >.

template<class Scalar >
static bool Opm::FluidSystems::Spe5< Scalar >::isLiquid ( unsigned  phaseIdx  )  [inline, static]

Return whether a phase is liquid.

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.

template<class Scalar >
static Scalar Opm::FluidSystems::Spe5< Scalar >::molarMass ( unsigned  compIdx  )  [inline, static]

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

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.

template<class Scalar >
static const char* Opm::FluidSystems::Spe5< Scalar >::phaseName ( unsigned  phaseIdx  )  [inline, static]

Return the human readable name of a fluid phase.

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.

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

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


Member Data Documentation

template<class Scalar >
const int Opm::FluidSystems::Spe5< Scalar >::numComponents = 7 [static]

Number of chemical species in the fluid system.

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.

template<class Scalar >
const int Opm::FluidSystems::Spe5< Scalar >::numPhases = 3 [static]

Number of fluid phases in the fluid system.

Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.


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

Generated on 25 Mar 2018 by  doxygen 1.6.1