Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT > Class Template Reference

Multiplexer implementation for the parameters required by the multiplexed three-phase material law. More...

#include <EclMultiplexerMaterialParams.hpp>

Inheritance diagram for Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >:
Inheritance graph

Public Member Functions

 EclMultiplexerMaterialParams ()
 The multiplexer constructor. More...
 
 EclMultiplexerMaterialParams (const EclMultiplexerMaterialParams &)
 
 ~EclMultiplexerMaterialParams ()
 
void finalize ()
 Finish the initialization of the parameter object. More...
 
void setApproach (EclMultiplexerApproach newApproach)
 
EclMultiplexerApproach approach () const
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclStone1Approach,
Stone1Params >::type & 
getRealParams ()
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclStone1Approach,
const Stone1Params >::type & 
getRealParams () const
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclStone2Approach,
Stone2Params >::type & 
getRealParams ()
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclStone2Approach,
const Stone2Params >::type & 
getRealParams () const
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclDefaultApproach,
DefaultParams >::type & 
getRealParams ()
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclDefaultApproach,
const DefaultParams >::type & 
getRealParams () const
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclTwoPhaseApproach,
TwoPhaseParams >::type & 
getRealParams ()
 
template<EclMultiplexerApproach approachV>
std::enable_if< approachV==EclTwoPhaseApproach,
const TwoPhaseParams >::type & 
getRealParams () const
 

Detailed Description

template<class Traits, class GasOilMaterialLawT, class OilWaterMaterialLawT>
class Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >

Multiplexer implementation for the parameters required by the multiplexed three-phase material law.

Essentially, this class just stores parameter object for the "nested" material law and provides some methods to convert to it.

Constructor & Destructor Documentation

template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::EclMultiplexerMaterialParams ( )
inline

The multiplexer constructor.

template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::EclMultiplexerMaterialParams ( const EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT > &  )
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::~EclMultiplexerMaterialParams ( )
inline

Member Function Documentation

template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
void Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::finalize ( )
inline

Finish the initialization of the parameter object.

template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclStone1Approach, Stone1Params>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( )
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclStone1Approach, const Stone1Params>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( ) const
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclStone2Approach, Stone2Params>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( )
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclStone2Approach, const Stone2Params>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( ) const
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclDefaultApproach, DefaultParams>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( )
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclDefaultApproach, const DefaultParams>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( ) const
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclTwoPhaseApproach, TwoPhaseParams>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( )
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
template<EclMultiplexerApproach approachV>
std::enable_if<approachV == EclTwoPhaseApproach, const TwoPhaseParams>::type& Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::getRealParams ( ) const
inline
template<class Traits , class GasOilMaterialLawT , class OilWaterMaterialLawT >
void Opm::EclMultiplexerMaterialParams< Traits, GasOilMaterialLawT, OilWaterMaterialLawT >::setApproach ( EclMultiplexerApproach  newApproach)
inline

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