My Project
Loading...
Searching...
No Matches
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 (WaterPvtApproach approach, void *realWaterPvt)
 
 WaterPvtMultiplexer (const WaterPvtMultiplexer< Scalar, enableThermal, enableBrine > &data)
 
void initEnd ()
 
unsigned numRegions () const
 Return the number of PVT regions which are considered by this PVT-object.
 
void setVapPars (const Scalar par1, const Scalar par2)
 
const Scalar waterReferenceDensity (unsigned regionIdx) const
 Return the reference density which are considered by this PVT-object.
 
template<class Evaluation >
Evaluation internalEnergy (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rsw, const Evaluation &saltconcentration) const
 Returns the specific enthalpy [J/kg] of gas given a set of parameters.
 
template<class Evaluation >
Evaluation viscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rsw, const Evaluation &saltconcentration) const
 Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters.
 
template<class Evaluation >
Evaluation saturatedViscosity (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.
 
template<class Evaluation >
Evaluation inverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rsw, const Evaluation &saltconcentration) const
 Returns the formation volume factor [-] of the fluid phase.
 
template<class Evaluation >
Evaluation saturatedInverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &saltconcentration) const
 Returns the formation volume factor [-] of the fluid phase.
 
template<class Evaluation >
Evaluation saturatedGasDissolutionFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &saltconcentration) const
 Returns the gas dissolution factor $R_s$ [m^3/m^3] of saturated water.
 
template<class Evaluation >
Evaluation saturationPressure (unsigned regionIdx, const Evaluation &temperature, const Evaluation &Rs, const Evaluation &saltconcentration) const
 Returns the saturation pressure [Pa] of water given the mass fraction of the gas component in the water phase.
 
template<class Evaluation >
Evaluation diffusionCoefficient (const Evaluation &temperature, const Evaluation &pressure, unsigned compIdx) const
 Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)].
 
void setApproach (WaterPvtApproach appr)
 
WaterPvtApproach approach () const
 Returns the concrete approach for calculating the PVT relations.
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityWater, ConstantCompressibilityWaterPvt< Scalar > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityWater, constConstantCompressibilityWaterPvt< Scalar > >::type & getRealPvt () const
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityBrine, ConstantCompressibilityBrinePvt< Scalar > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ConstantCompressibilityBrine, constConstantCompressibilityBrinePvt< Scalar > >::type & getRealPvt () const
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ThermalWater, WaterPvtThermal< Scalar, enableBrine > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::ThermalWater, constWaterPvtThermal< Scalar, enableBrine > >::type & getRealPvt () const
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::BrineCo2, BrineCo2Pvt< Scalar > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::BrineCo2, constBrineCo2Pvt< Scalar > >::type & getRealPvt () const
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::BrineH2, BrineH2Pvt< Scalar > >::type & getRealPvt ()
 
template<WaterPvtApproach approachV>
std::enable_if< approachV==WaterPvtApproach::BrineH2, constBrineH2Pvt< Scalar > >::type & getRealPvt () const
 
const void * realWaterPvt () 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.

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.)

◆ diffusionCoefficient()

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

Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)].

Molecular diffusion of a compoent $\kappa$ is caused by a gradient of the mole fraction and follows the law

\[ J = - D \mathbf{grad} x^\kappa_\alpha \]

where $x_\alpha^\kappa$ is the component's mole fraction in phase $\alpha$, $D$ is the diffusion coefficient and $J$ is the diffusive flux.

◆ saturationPressure()

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

Returns the saturation pressure [Pa] of water given the mass fraction of the gas component in the water phase.

Calling this method only makes sense for water that allows for dissolved gas. All other implementations of the black-oil PVT interface will just throw an exception...


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