My Project
|
This class represents the Pressure-Volume-Temperature relations of the gas phase in the black-oil model. More...
#include <GasPvtMultiplexer.hpp>
Public Member Functions | |
GasPvtMultiplexer (GasPvtApproach approach, void *realGasPvt) | |
GasPvtMultiplexer (const GasPvtMultiplexer< Scalar, enableThermal > &data) | |
void | setApproach (GasPvtApproach gasPvtAppr) |
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 | gasReferenceDensity (unsigned regionIdx) |
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 &Rv, const Evaluation &Rvw) const |
Returns the specific enthalpy [J/kg] of gas given a set of parameters. | |
template<class Evaluation = Scalar> | |
Evaluation | viscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rv, const Evaluation &Rvw) const |
Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters. | |
template<class Evaluation = Scalar> | |
Evaluation | saturatedViscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const |
Returns the dynamic viscosity [Pa s] of oil saturated gas given a set of parameters. | |
template<class Evaluation = Scalar> | |
Evaluation | inverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rv, const Evaluation &Rvw) const |
Returns the formation volume factor [-] of the fluid phase. | |
template<class Evaluation = Scalar> | |
Evaluation | saturatedInverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const |
Returns the formation volume factor [-] of oil saturated gas given a set of parameters. | |
template<class Evaluation = Scalar> | |
Evaluation | saturatedOilVaporizationFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const |
Returns the oil vaporization factor ![]() | |
template<class Evaluation = Scalar> | |
Evaluation | saturatedOilVaporizationFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &oilSaturation, const Evaluation &maxOilSaturation) const |
Returns the oil vaporization factor ![]() | |
template<class Evaluation = Scalar> | |
Evaluation | saturatedWaterVaporizationFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const |
Returns the water vaporization factor ![]() | |
template<class Evaluation = Scalar> | |
Evaluation | saturatedWaterVaporizationFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &saltConcentration) const |
Returns the water vaporization factor ![]() | |
template<class Evaluation = Scalar> | |
Evaluation | saturationPressure (unsigned regionIdx, const Evaluation &temperature, const Evaluation &Rv) const |
Returns the saturation pressure of the gas phase [Pa] depending on its mass fraction of the oil component. | |
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)]. | |
GasPvtApproach | gasPvtApproach () const |
Returns the concrete approach for calculating the PVT relations. | |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::DryGas, DryGasPvt< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::DryGas, constDryGasPvt< Scalar > >::type & | getRealPvt () const |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::DryHumidGas, DryHumidGasPvt< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::DryHumidGas, constDryHumidGasPvt< Scalar > >::type & | getRealPvt () const |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::WetHumidGas, WetHumidGasPvt< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::WetHumidGas, constWetHumidGasPvt< Scalar > >::type & | getRealPvt () const |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::WetGas, WetGasPvt< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::WetGas, constWetGasPvt< Scalar > >::type & | getRealPvt () const |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::ThermalGas, GasPvtThermal< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::ThermalGas, constGasPvtThermal< Scalar > >::type & | getRealPvt () const |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::Co2Gas, Co2GasPvt< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::Co2Gas, constCo2GasPvt< Scalar > >::type & | getRealPvt () const |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::H2Gas, H2GasPvt< Scalar > >::type & | getRealPvt () |
template<GasPvtApproach approachV> | |
std::enable_if< approachV==GasPvtApproach::H2Gas, constH2GasPvt< Scalar > >::type & | getRealPvt () const |
const void * | realGasPvt () const |
GasPvtMultiplexer< Scalar, enableThermal > & | operator= (const GasPvtMultiplexer< Scalar, enableThermal > &data) |
This class represents the Pressure-Volume-Temperature relations of the gas phase in the black-oil model.
This is a multiplexer class which forwards all calls to the real implementation.
Note that, since the main application for this class is the black oil fluid system, the API exposed by this class is pretty specific to the assumptions made by the black oil model.
|
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
where
|
inline |
Returns the concrete approach for calculating the PVT relations.
(This is only determined at runtime.)
|
inline |
Returns the saturation pressure of the gas phase [Pa] depending on its mass fraction of the oil component.
Rv | The surface volume of oil component dissolved in what will yield one cubic meter of gas at the surface [-] |