Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > Class Template Reference

This class represents the Pressure-Volume-Temperature relations of the water phase in the black-oil model. More...

#include <WaterPvtMultiplexer.hpp>

Public Member Functions

 WaterPvtMultiplexer ()
 
 WaterPvtMultiplexer (WaterPvtApproach approach, void *realWaterPvt)
 
 WaterPvtMultiplexer (const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &data)
 
 ~WaterPvtMultiplexer ()
 
void initEnd ()
 
unsigned numRegions () const
 Return the number of PVT regions which are considered by this PVT-object. More...
 
const Scalar waterReferenceDensity (unsigned regionIdx)
 Return the reference density which are considered by this PVT-object. More...
 
template<class Evaluation >
Evaluation internalEnergy (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &saltconcentration) const
 Returns the specific enthalpy [J/kg] of gas given a set of parameters. More...
 
template<class Evaluation >
Evaluation viscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &saltconcentration) const
 Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters. More...
 
template<class Evaluation >
Evaluation inverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &saltconcentration) const
 Returns the formation volume factor [-] of the fluid phase. More...
 
void setApproach (WaterPvtApproach appr)
 
WaterPvtApproach approach () const
 Returns the concrete approach for calculating the PVT relations. More...
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityWaterPvt, ConstantCompressibilityWaterPvt< Scalar > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityWaterPvt, constConstantCompressibilityWaterPvt< Scalar > >::type & getRealPvt () const
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityBrinePvt, ConstantCompressibilityBrinePvt< Scalar > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityBrinePvt, constConstantCompressibilityBrinePvt< Scalar > >::type & getRealPvt () const
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ThermalWaterPvt, WaterPvtThermal< Scalar, enableBrine > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ThermalWaterPvt, constWaterPvtThermal< Scalar, enableBrine > >::type & getRealPvt () const
 
const void * realWaterPvt () const
 
bool operator== (const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &data) const
 
WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > & operator= (const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &data)
 

Detailed Description

template<class Scalar, bool enableThermal = true, bool enableBrine = true>
class Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >

This class represents the Pressure-Volume-Temperature relations of the water phase in the black-oil model.

Constructor & Destructor Documentation

◆ WaterPvtMultiplexer() [1/3]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::WaterPvtMultiplexer ( )
inline

References Opm::NoWaterPvt.

◆ WaterPvtMultiplexer() [2/3]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::WaterPvtMultiplexer ( WaterPvtApproach  approach,
void *  realWaterPvt 
)
inline

◆ WaterPvtMultiplexer() [3/3]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::WaterPvtMultiplexer ( const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &  data)
inline

◆ ~WaterPvtMultiplexer()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::~WaterPvtMultiplexer ( )
inline

Member Function Documentation

◆ approach()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
WaterPvtApproach Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::approach ( ) const
inline

Returns the concrete approach for calculating the PVT relations.

(This is only determined at runtime.)

Referenced by Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt(), and Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::operator==().

◆ getRealPvt() [1/6]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityWaterPvt, ConstantCompressibilityWaterPvt< Scalar > >::type & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt ( )
inline

◆ getRealPvt() [2/6]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityBrinePvt, ConstantCompressibilityBrinePvt< Scalar > >::type & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt ( )
inline

◆ getRealPvt() [3/6]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ThermalWaterPvt, WaterPvtThermal< Scalar, enableBrine > >::type & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt ( )
inline

◆ getRealPvt() [4/6]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityWaterPvt, constConstantCompressibilityWaterPvt< Scalar > >::type & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt ( ) const
inline

◆ getRealPvt() [5/6]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityBrinePvt, constConstantCompressibilityBrinePvt< Scalar > >::type & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt ( ) const
inline

◆ getRealPvt() [6/6]

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ThermalWaterPvt, constWaterPvtThermal< Scalar, enableBrine > >::type & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::getRealPvt ( ) const
inline

◆ initEnd()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
void Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::initEnd ( )
inline

◆ internalEnergy()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<class Evaluation >
Evaluation Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::internalEnergy ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  saltconcentration 
) const
inline

Returns the specific enthalpy [J/kg] of gas given a set of parameters.

References OPM_WATER_PVT_MULTIPLEXER_CALL.

◆ inverseFormationVolumeFactor()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<class Evaluation >
Evaluation Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::inverseFormationVolumeFactor ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  saltconcentration 
) const
inline

Returns the formation volume factor [-] of the fluid phase.

References OPM_WATER_PVT_MULTIPLEXER_CALL.

Referenced by Opm::WaterPvtThermal< Scalar, enableBrine >::inverseFormationVolumeFactor().

◆ numRegions()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
unsigned Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::numRegions ( ) const
inline

Return the number of PVT regions which are considered by this PVT-object.

References OPM_WATER_PVT_MULTIPLEXER_CALL.

◆ operator=()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > & Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::operator= ( const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &  data)
inline

◆ operator==()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
bool Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::operator== ( const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &  data) const
inline

◆ realWaterPvt()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
const void * Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::realWaterPvt ( ) const
inline

◆ setApproach()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
void Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::setApproach ( WaterPvtApproach  appr)
inline

◆ viscosity()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
template<class Evaluation >
Evaluation Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::viscosity ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  saltconcentration 
) const
inline

Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters.

References OPM_WATER_PVT_MULTIPLEXER_CALL.

Referenced by Opm::WaterPvtThermal< Scalar, enableBrine >::viscosity().

◆ waterReferenceDensity()

template<class Scalar , bool enableThermal = true, bool enableBrine = true>
const Scalar Opm::WaterPvtMultiplexer< Scalar, enableThermal, enableBrine >::waterReferenceDensity ( unsigned  regionIdx)
inline

Return the reference density which are considered by this PVT-object.

References OPM_WATER_PVT_MULTIPLEXER_CALL.

Referenced by Opm::WaterPvtThermal< Scalar, enableBrine >::waterReferenceDensity().


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