Opm Namespace Reference

Namespaces

 BinaryCoeff
 
 FluidSystems
 
 IAPWS
 
 LocalAd
 

Classes

class  Air
 A simple class implementing the fluid properties of air. More...
 
class  BaseFluidSystem
 The base class for all fluid systems. More...
 
class  Brine
 A class for the brine fluid properties. More...
 
class  BrooksCorey
 Implementation of the Brooks-Corey capillary pressure <-> saturation relation. More...
 
class  BrooksCoreyParams
 Specification of the material parameters for the Brooks-Corey constitutive relations. More...
 
class  CO2
 A class for the CO2 fluid properties. More...
 
class  Component
 Abstract base class of a pure chemical species. More...
 
singleton  CompositionalFluidState
 Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assuming thermodynamic equilibrium. More...
 
class  CompositionalFluidState< Scalar, FluidSystem, false >
 
class  CompositionalFluidState< Scalar, FluidSystem, true >
 
class  CompositionFromFugacities
 Calculates the chemical equilibrium from the component fugacities in a phase. More...
 
class  ComputeFromReferencePhase
 Computes all quantities of a generic fluid state if a reference phase has been specified. More...
 
class  ConstantCompressibilityOilPvt
 This class represents the Pressure-Volume-Temperature relations of the oil phase without dissolved gas and constant compressibility/"viscosibility". More...
 
class  ConstantCompressibilityWaterPvt
 This class represents the Pressure-Volume-Temperature relations of the gas phase without vaporized oil. More...
 
class  Constants
 A central place for various physical constants occuring in some equations. More...
 
class  DeadOilPvt
 This class represents the Pressure-Volume-Temperature relations of the oil phase without dissolved gas. More...
 
class  DNAPL
 A simple implementation of a dense non-aqueous phase liquid (DNAPL). More...
 
class  DryGasPvt
 This class represents the Pressure-Volume-Temperature relations of the gas phase without vaporized oil. More...
 
class  DummyHeatConductionLaw
 Implements a dummy law for heat conduction to which isothermal models can fall back to. More...
 
class  EclDefaultMaterial
 Implements the default three phase capillary pressure law used by the ECLipse simulator. More...
 
class  EclDefaultMaterialParams
 Default implementation for the parameters required by the default three-phase capillary pressure model used by Eclipse. More...
 
class  EclEpsConfig
 Specifies the configuration used by the endpoint scaling code. More...
 
class  EclEpsGridProperties
 Collects all grid properties which are relevant for end point scaling. More...
 
class  EclEpsScalingPoints
 Represents the points on the X and Y axis to be scaled if endpoint scaling is used. More...
 
struct  EclEpsScalingPointsInfo
 This structure represents all values which can be possibly used as scaling points in the endpoint scaling code. More...
 
class  EclEpsTwoPhaseLaw
 This material law takes a material law defined for unscaled saturation and converts it to a material law defined on scaled saturations. More...
 
class  EclEpsTwoPhaseLawParams
 A default implementation of the parameters for the material law adapter class which implements ECL endpoint scaleing . More...
 
class  EclHysteresisConfig
 Specifies the configuration used by the ECL kr/pC hysteresis code. More...
 
class  EclHysteresisTwoPhaseLaw
 This material law implements the hysteresis model of the ECL file format. More...
 
class  EclHysteresisTwoPhaseLawParams
 A default implementation of the parameters for the material law which implements the ECL relative permeability and capillary pressure hysteresis. More...
 
class  EclMaterialLawManager
 Provides an simple way to create and manage the material law objects for a complete ECL deck. More...
 
class  EclMultiplexerMaterial
 Implements a multiplexer class that provides all three phase capillary pressure laws used by the ECLipse simulator. More...
 
class  EclMultiplexerMaterialParams
 Multiplexer implementation for the parameters required by the multiplexed three-phase material law. More...
 
class  EclStone1Material
 Implements the second phase capillary pressure/relperm law suggested by Stone as used by the ECLipse simulator. More...
 
class  EclStone1MaterialParams
 Default implementation for the parameters required by the three-phase capillary pressure/relperm Stone 2 model used by Eclipse. More...
 
class  EclStone2Material
 Implements the second phase capillary pressure/relperm law suggested by Stone as used by the ECLipse simulator. More...
 
class  EclStone2MaterialParams
 Default implementation for the parameters required by the three-phase capillary pressure/relperm Stone 2 model used by Eclipse. More...
 
class  EclTwoPhaseMaterial
 Implements a multiplexer class that provides ECL saturation functions for twophase simulations. More...
 
class  EclTwoPhaseMaterialParams
 Implementation for the parameters required by the material law for two-phase simulations. More...
 
class  EffToAbsLaw
 This material law takes a material law defined for effective saturations and converts it to a material law defined on absolute saturations. More...
 
class  EffToAbsLawParams
 A default implementation of the parameters for the adapter class to convert material laws from effective to absolute saturations. More...
 
class  FluidHeatConduction
 Implements a heat conduction law which just takes the conductivity of a given fluid phase. More...
 
class  FluidHeatConductionParams
 Parameters for the heat conduction law which just takes the conductivity of a given fluid phase. More...
 
class  FluidStateEquilibriumTemperatureModule
 Module for the modular fluid state which stores the temperatures explicitly and assumes thermal equilibrium. More...
 
class  FluidStateExplicitCompositionModule
 Module for the modular fluid state which stores the phase compositions explicitly in terms of mole fractions. More...
 
class  FluidStateExplicitDensityModule
 Module for the modular fluid state which stores the densities explicitly. More...
 
class  FluidStateExplicitEnthalpyModule
 Module for the modular fluid state which stores the enthalpies explicitly. More...
 
class  FluidStateExplicitFugacityModule
 Module for the modular fluid state which stores the phase fugacity coefficients explicitly. More...
 
class  FluidStateExplicitPressureModule
 Module for the modular fluid state which stores the pressures explicitly. More...
 
class  FluidStateExplicitSaturationModule
 Module for the modular fluid state which stores the saturations explicitly. More...
 
class  FluidStateExplicitTemperatureModule
 Module for the modular fluid state which stores the temperatures explicitly. More...
 
class  FluidStateExplicitViscosityModule
 Module for the modular fluid state which stores the viscosities explicitly. More...
 
class  FluidStateImmiscibleCompositionModule
 Module for the modular fluid state which provides the phase compositions assuming immiscibility. More...
 
class  FluidStateImmiscibleFugacityModule
 Module for the modular fluid state which stores the phase fugacity coefficients explicitly assuming immiscibility. More...
 
class  FluidStateNullCompositionModule
 Module for the modular fluid state which does not store the compositions but throws std::logic_error instead. More...
 
class  FluidStateNullDensityModule
 Module for the modular fluid state which does not the densities but throws std::logic_error instead. More...
 
class  FluidStateNullEnthalpyModule
 Module for the modular fluid state which does not store the enthalpies but returns 0 instead. More...
 
class  FluidStateNullFugacityModule
 Module for the modular fluid state which does not store the fugacities but throws std::logic_error instead. More...
 
class  FluidStateNullPressureModule
 Module for the modular fluid state which does not the pressures but throws std::logic_error instead. More...
 
class  FluidStateNullSaturationModule
 Module for the modular fluid state which does not the saturations but throws std::logic_error instead. More...
 
class  FluidStateNullTemperatureModule
 Module for the modular fluid state which does not the temperatures but throws std::logic_error instead. More...
 
class  FluidStateNullViscosityModule
 Module for the modular fluid state which does not the viscosities but throws std::logic_error instead. More...
 
class  GasPhase
 Represents the gas phase of a single (pseudo-) component. More...
 
singleton  GasPvtMultiplexer
 This class represents the Pressure-Volume-Temperature relations of the gas phase in the black-oil model. More...
 
class  H2O
 Material properties of pure water $H_2O$. More...
 
class  IdealGas
 Relations valid for an ideal gas. More...
 
class  ImmiscibleFlash
 Determines the pressures and saturations of all fluid phases given the total mass of all components. More...
 
singleton  ImmiscibleFluidState
 Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assuming thermodynamic equilibrium. More...
 
class  ImmiscibleFluidState< Scalar, FluidSystem, false >
 
class  ImmiscibleFluidState< Scalar, FluidSystem, true >
 
class  LinearMaterial
 Implements a linear saturation-capillary pressure relation. More...
 
class  LinearMaterialParams
 Reference implementation of params for the linear M-phase material material. More...
 
class  LiquidPhase
 Represents the liquid phase of a single (pseudo-) component. More...
 
class  LiveOilPvt
 This class represents the Pressure-Volume-Temperature relations of the oil phas with dissolved gas. More...
 
class  LNAPL
 A simple implementation of a LNAPL, e.g. a kind of oil. More...
 
struct  MathToolbox
 
struct  MathToolbox< Opm::LocalAd::Evaluation< ScalarT, VariableSetTag, numVars >, false >
 
struct  MathToolbox< ScalarT, true >
 
class  Mesitylene
 Component for Mesitylene. More...
 
class  MiscibleMultiPhaseComposition
 Computes the composition of all phases of a N-phase, N-component fluid system assuming that all N phases are present. More...
 
class  MMPCAuxConstraint
 Specifies an auxiliary constraint for the MiscibleMultiPhaseComposition constraint solver. More...
 
class  ModularFluidState
 Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assuming thermodynamic equilibrium. More...
 
class  N2
 Properties of pure molecular nitrogen $N_2$. More...
 
class  NcpFlash
 Determines the phase compositions, pressures and saturations given the total mass of all components. More...
 
singleton  NonEquilibriumFluidState
 Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system not assuming thermodynamic equilibrium. More...
 
class  NonEquilibriumFluidState< Scalar, FluidSystem, false >
 
class  NonEquilibriumFluidState< Scalar, FluidSystem, true >
 
class  NullComponent
 A component that only throws exceptions. More...
 
class  NullMaterial
 Implements a dummy linear saturation-capillary pressure relation which just disables capillary pressure. More...
 
class  NullMaterialParams
 Reference implementation of params for the linear M-phase material material. More...
 
class  NullMaterialTraits
 A generic traits class which does not provide any indices. More...
 
class  NullParameterCache
 A parameter cache which does nothing. More...
 
singleton  OilPvtMultiplexer
 This class represents the Pressure-Volume-Temperature relations of the oil phase in the black-oil model. More...
 
class  ParameterCacheBase
 The base class of the parameter caches of fluid systems. More...
 
class  ParkerLenhard
 Implements the Parker-Lenhard twophase p_c-Sw hysteresis model. This class adheres to the twophase capillary pressure API. More...
 
class  ParkerLenhardParams
 Default parameter class for the Parker-Lenhard hysteresis model. More...
 
class  PengRobinson
 Implements the Peng-Robinson equation of state for liquids and gases. More...
 
class  PengRobinsonMixture
 Implements the Peng-Robinson equation of state for a mixture. More...
 
class  PengRobinsonParams
 Stores and provides access to the Peng-Robinson parameters. More...
 
class  PengRobinsonParamsMixture
 The mixing rule for the oil and the gas phases of the SPE5 problem. More...
 
class  PiecewiseLinearTwoPhaseMaterial
 Implementation of a tabulated, piecewise linear capillary pressure law. More...
 
class  PiecewiseLinearTwoPhaseMaterialParams
 Specification of the material parameters for a two-phase material law which uses a table and piecewise constant interpolation. More...
 
singleton  PLScanningCurve
 Represents a scanning curve in the Parker-Lenhard hysteresis model. More...
 
class  PressureOverlayFluidState
 This is a fluid state which allows to set the fluid pressures and takes all other quantities from an other fluid state. More...
 
class  RegularizedBrooksCorey
 Implementation of the regularized Brooks-Corey capillary pressure / relative permeability <-> saturation relation. More...
 
class  RegularizedBrooksCoreyParams
 Parameters that are necessary for the regularization of the Brooks-Corey capillary pressure model. More...
 
class  RegularizedVanGenuchten
 Implementation of the regularized van Genuchten's capillary pressure / relative permeability <-> saturation relation. More...
 
class  RegularizedVanGenuchtenParams
 Parameters that are necessary for the regularization of VanGenuchten "material law". More...
 
class  SaturationOverlayFluidState
 This is a fluid state which allows to set the fluid saturations and takes all other quantities from an other fluid state. More...
 
class  SimpleCO2
 A simplistic class representing the $CO_2$ fluid properties. More...
 
class  SimpleH2O
 A simple version of pure water. More...
 
class  SimpleModularFluidState
 Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assuming thermodynamic equilibrium. More...
 
class  Somerton
 Implements the Somerton law of heat conductivity in a porous medium. More...
 
class  SomertonParams
 The default implementation of a parameter object for the Somerton heatconduction law. More...
 
class  Spe5ParameterCache
 Specifies the parameter cache used by the SPE-5 fluid system. More...
 
class  Spline
 Class implementing cubic splines. More...
 
class  SplineTwoPhaseMaterial
 Implementation of a tabulated capillary pressure and relperm law which uses spline curves as interpolation functions. More...
 
class  SplineTwoPhaseMaterialParams
 Specification of the material parameters for a two-phase material law which uses a table and spline-based interpolation. More...
 
class  Tabulated1DFunction
 Implements a linearly interpolated scalar function that depends on one variable. More...
 
class  TabulatedComponent
 A generic class which tabulates all thermodynamic properties of a given component. More...
 
class  TemperatureOverlayFluidState
 This is a fluid state which allows to set the fluid temperatures and takes all other quantities from an other fluid state. More...
 
class  ThreePhaseMaterialTraits
 A generic traits class for three-phase material laws. More...
 
class  ThreePhaseParkerVanGenuchten
 Implementation of three-phase capillary pressure and relative permeability relations proposed by Parker and van Genuchten. More...
 
class  ThreePhaseParkerVanGenuchtenParams
 Specification of the material params for the three-phase van Genuchten capillary pressure model. More...
 
struct  ToLhsEvalHelper
 
struct  ToLhsEvalHelper< LhsEval, RhsEval, false, false >
 
struct  ToLhsEvalHelper< LhsEval, RhsEval, true, false >
 
struct  ToLhsEvalHelper< LhsEval, RhsEval, true, true >
 
class  TridiagonalMatrix
 Provides a tridiagonal matrix that also supports non-zero entries in the upper right and lower left. More...
 
class  TwoPhaseMaterialTraits
 A generic traits class for two-phase material laws. More...
 
class  UniformTabulated2DFunction
 Implements a scalar function that depends on two variables and which is sampled on an uniform X-Y grid. More...
 
class  UniformXTabulated2DFunction
 Implements a scalar function that depends on two variables and which is sampled uniformly in the X direction, but non-uniformly on the Y axis-. More...
 
class  Unit
 A component where all quantities are fixed at 1.0. More...
 
class  VanGenuchten
 Implementation of the van Genuchten capillary pressure - saturation relation. More...
 
class  VanGenuchtenParams
 Specification of the material parameters for the van Genuchten constitutive relations. More...
 
class  WaterPvtMultiplexer
 This class represents the Pressure-Volume-Temperature relations of the water phase in the black-oil model. More...
 
class  WetGasPvt
 This class represents the Pressure-Volume-Temperature relations of the gas phas with vaporized oil. More...
 
class  Xylene
 Component for Xylene. More...
 

Enumerations

enum  EclTwoPhaseSystemType { EclGasOilSystem, EclOilWaterSystem }
 Specified which fluids are involved in a given twophase material law for endpoint scaling. More...
 
enum  EclMultiplexerApproach { EclDefaultApproach, EclStone1Approach, EclStone2Approach, EclTwoPhaseApproach }
 
enum  EclTwoPhaseApproach { EclTwoPhaseGasOil, EclTwoPhaseOilWater, EclTwoPhaseGasWater }
 

Functions

template<class Scalar , class Evaluation >
Evaluation henryIAPWS (Scalar E, Scalar F, Scalar G, Scalar H, const Evaluation &temperature)
 The Henry constants in liquid water using the IAPWS 2004 formulation. More...
 
template<class T >
std::string className ()
 Provide the demangled class name of a given object as a string. More...
 
template<class T >
std::string className (const T &)
 Provide the demangled class name of a given object as a string. More...
 
template<class Scalar >
Scalar arithmeticMean (Scalar x, Scalar y)
 Computes the arithmetic average of two values. More...
 
template<class Scalar >
Scalar geometricMean (Scalar x, Scalar y)
 Computes the geometric average of two values. More...
 
template<class Scalar >
Scalar harmonicMean (Scalar x, Scalar y)
 Computes the harmonic average of two values. More...
 
template<class Scalar , class SolContainer >
int invertLinearPolynomial (SolContainer &sol, Scalar a, Scalar b)
 Invert a linear polynomial analytically. More...
 
template<class Scalar , class SolContainer >
int invertQuadraticPolynomial (SolContainer &sol, Scalar a, Scalar b, Scalar c)
 Invert a quadratic polynomial analytically. More...
 
template<class Scalar , class SolContainer >
int invertCubicPolynomial (SolContainer *sol, Scalar a, Scalar b, Scalar c, Scalar d)
 Invert a cubic polynomial analytically. More...
 

Enumeration Type Documentation

Enumerator
EclDefaultApproach 
EclStone1Approach 
EclStone2Approach 
EclTwoPhaseApproach 
Enumerator
EclTwoPhaseGasOil 
EclTwoPhaseOilWater 
EclTwoPhaseGasWater 

Specified which fluids are involved in a given twophase material law for endpoint scaling.

Enumerator
EclGasOilSystem 
EclOilWaterSystem 

Function Documentation

template<class Scalar >
Scalar Opm::arithmeticMean ( Scalar  x,
Scalar  y 
)
inline

Computes the arithmetic average of two values.

This uses the usual definition of the arithmethic mean:

\[ <a(x,y)> = (x+y)/2 \]

template<class T >
std::string Opm::className ( )

Provide the demangled class name of a given object as a string.

template<class T >
std::string Opm::className ( const T &  )

Provide the demangled class name of a given object as a string.

template<class Scalar >
Scalar Opm::geometricMean ( Scalar  x,
Scalar  y 
)
inline

Computes the geometric average of two values.

This uses the usual definition of the geometric mean:

\[ <a(x,y)> = \sqrt{x^2 + y^2} \]

References Opm::LocalAd::sqrt().

Referenced by Opm::NcpFlash< Scalar, FluidSystem >::solve().

template<class Scalar >
Scalar Opm::harmonicMean ( Scalar  x,
Scalar  y 
)
inline

Computes the harmonic average of two values.

This uses the usual definition of the harmonic mean:

\[ <a(x,y)> = \frac{2}{1/x + 1/y} \]

Referenced by Opm::BinaryCoeff::fullerMethod().

template<class Scalar , class Evaluation >
Evaluation Opm::henryIAPWS ( Scalar  E,
Scalar  F,
Scalar  G,
Scalar  H,
const Evaluation &  temperature 
)
inline

The Henry constants in liquid water using the IAPWS 2004 formulation.

This function calculates $K_D$, see:

IAPWS: "Guideline on the Henry's Constant and Vapor-Liquid Distribution Constant for Gases in H2O and D2O at High Temperatures" http://www.iapws.org/relguide/HenGuide.pdf

References Opm::H2O< Scalar >::criticalTemperature(), Opm::LocalAd::exp(), Opm::LocalAd::pow(), Opm::H2O< Scalar >::tripleTemperature(), and Opm::H2O< Scalar >::vaporPressure().

Referenced by Opm::BinaryCoeff::H2O_N2::henry(), and Opm::BinaryCoeff::H2O_CO2::henry().

template<class Scalar , class SolContainer >
int Opm::invertCubicPolynomial ( SolContainer *  sol,
Scalar  a,
Scalar  b,
Scalar  c,
Scalar  d 
)

Invert a cubic polynomial analytically.

The polynomial is defined as

\[ p(x) = a\; x^3 + + b\;x^3 + c\;x + d \]

This method teturns the number of solutions which are in the real numbers. The "sol" argument contains the real roots of the cubic polynomial in order with the smallest root first.

Parameters
solContainer into which the solutions are written
aThe coefficient for the cubic term
bThe coefficient for the quadratic term
cThe coefficient for the linear term
dThe coefficient for the constant term

References Opm::LocalAd::abs(), Opm::LocalAd::atan2(), Opm::LocalAd::cos(), invertQuadraticPolynomial(), Opm::LocalAd::pow(), and Opm::LocalAd::sqrt().

Referenced by Opm::PengRobinson< Scalar >::computeMolarVolume(), and Opm::Spline< Scalar >::intersectSegment_().

template<class Scalar , class SolContainer >
int Opm::invertLinearPolynomial ( SolContainer &  sol,
Scalar  a,
Scalar  b 
)

Invert a linear polynomial analytically.

The polynomial is defined as

\[ p(x) = a\; x + b \]

This method Returns the number of solutions which are in the real numbers, i.e. 1 except if the slope of the line is 0.

Parameters
solContainer into which the solutions are written
aThe coefficient for the linear term
bThe coefficient for the constant term

References Opm::LocalAd::abs().

Referenced by invertQuadraticPolynomial().

template<class Scalar , class SolContainer >
int Opm::invertQuadraticPolynomial ( SolContainer &  sol,
Scalar  a,
Scalar  b,
Scalar  c 
)

Invert a quadratic polynomial analytically.

The polynomial is defined as

\[ p(x) = a\; x^2 + + b\;x + c \]

This method teturns the number of solutions which are in the real numbers. The "sol" argument contains the real roots of the parabola in order with the smallest root first.

Parameters
solContainer into which the solutions are written
aThe coefficient for the quadratic term
bThe coefficient for the linear term
cThe coefficient for the constant term

References Opm::LocalAd::abs(), invertLinearPolynomial(), and Opm::LocalAd::sqrt().

Referenced by invertCubicPolynomial().