The fluid system for the oil, gas and water phases of the SPE5 problem. More...
#include <Spe5FluidSystem.hpp>
Classes | |
struct | ParameterCache |
Public Types | |
typedef Opm::H2O< Scalar > | H2O |
The component for pure water to be used. | |
Static Public Member Functions | |
static const char * | phaseName (unsigned phaseIdx) |
static bool | isLiquid (unsigned phaseIdx) |
static bool | isCompressible (unsigned) |
static bool | isIdealGas (unsigned) |
static bool | isIdealMixture (unsigned phaseIdx) |
static const char * | componentName (unsigned compIdx) |
static Scalar | molarMass (unsigned compIdx) |
static Scalar | criticalTemperature (unsigned compIdx) |
Critical temperature of a component [K]. | |
static Scalar | criticalPressure (unsigned compIdx) |
Critical pressure of a component [Pa]. | |
static Scalar | criticalMolarVolume (unsigned compIdx) |
Molar volume of a component at the critical point [m^3/mol]. | |
static Scalar | acentricFactor (unsigned compIdx) |
The acentric factor of a component []. | |
static Scalar | interactionCoefficient (unsigned comp1Idx, unsigned comp2Idx) |
Returns the interaction coefficient for two components. | |
static void | init (Scalar minT=273.15, Scalar maxT=373.15, Scalar minP=1e4, Scalar maxP=100e6) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | density (const FluidState &fluidState, const ParameterCache< ParamCacheEval > ¶mCache, unsigned phaseIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | viscosity (const FluidState &, const ParameterCache< ParamCacheEval > &, unsigned phaseIdx) |
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval> | |
static LhsEval | fugacityCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > ¶mCache, unsigned phaseIdx, unsigned compIdx) |
Static Public Attributes | |
static const int | numPhases = 3 |
static const int | gasPhaseIdx = 0 |
Index of the gas phase. | |
static const int | waterPhaseIdx = 1 |
Index of the water phase. | |
static const int | oilPhaseIdx = 2 |
Index of the oil phase. | |
static const int | numComponents = 7 |
static const int | H2OIdx = 0 |
Index of the water component. | |
static const int | C1Idx = 1 |
Index of the C1 component. | |
static const int | C3Idx = 2 |
Index of the C3 component. | |
static const int | C6Idx = 3 |
Index of the C6 component. | |
static const int | C10Idx = 4 |
Index of the C10 component. | |
static const int | C15Idx = 5 |
Index of the C15 component. | |
static const int | C20Idx = 6 |
Index of the C20 component. | |
Static Protected Member Functions | |
template<class LhsEval > | |
static LhsEval | henryCoeffWater_ (unsigned compIdx, const LhsEval &temperature) |
The fluid system for the oil, gas and water phases of the SPE5 problem.
This problem comprises ,
,
,
,
,
and
as components.
See:
J.E. Killough, et al.: Fifth Comparative Solution Project: Evaluation of Miscible Flood Simulators, Ninth SPE Symposium on Reservoir Simulation, 1987
static const char* Opm::FluidSystems::Spe5< Scalar >::componentName | ( | unsigned | compIdx | ) | [inline, static] |
Return the human readable name of a component.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static LhsEval Opm::FluidSystems::Spe5< Scalar >::density | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | paramCache, | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Calculate the density [kg/m^3] of a fluid phase.
static LhsEval Opm::FluidSystems::Spe5< Scalar >::fugacityCoefficient | ( | const FluidState & | fluidState, | |
const ParameterCache< ParamCacheEval > & | paramCache, | |||
unsigned | phaseIdx, | |||
unsigned | compIdx | |||
) | [inline, static] |
Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase. The fugacity coefficient is connected to the fugacity
and the component's molarity
by means of the relation
static void Opm::FluidSystems::Spe5< Scalar >::init | ( | Scalar | minT = 273.15 , |
|
Scalar | maxT = 373.15 , |
|||
Scalar | minP = 1e4 , |
|||
Scalar | maxP = 100e6 | |||
) | [inline, static] |
Initialize the fluid system's static parameters.
minT | The minimum temperature possibly encountered during the simulation | |
maxT | The maximum temperature possibly encountered during the simulation | |
minP | The minimum pressure possibly encountered during the simulation | |
maxP | The maximum pressure possibly encountered during the simulation |
static Scalar Opm::FluidSystems::Spe5< Scalar >::interactionCoefficient | ( | unsigned | comp1Idx, | |
unsigned | comp2Idx | |||
) | [inline, static] |
Returns the interaction coefficient for two components.
The values are given by the SPE5 paper.
static bool Opm::FluidSystems::Spe5< Scalar >::isCompressible | ( | unsigned | ) | [inline, static] |
Returns true if and only if a fluid phase is assumed to be compressible. Compressible means that the partial derivative of the density to the fluid pressure is always larger than zero.
In the SPE-5 problems all fluids are compressible...
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static bool Opm::FluidSystems::Spe5< Scalar >::isIdealGas | ( | unsigned | ) | [inline, static] |
Returns true if and only if a fluid phase is assumed to be an ideal gas.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static bool Opm::FluidSystems::Spe5< Scalar >::isIdealMixture | ( | unsigned | phaseIdx | ) | [inline, static] |
Returns true if and only if a fluid phase is assumed to be an ideal mixture. We define an ideal mixture as a fluid phase where the fugacity coefficients of all components times the pressure of the phase are independent on the fluid composition. This assumption is true if Henry's law and Rault's law apply. If you are unsure what this function should return, it is safe to return false. The only damage done will be (slightly) increased computation times in some cases.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static bool Opm::FluidSystems::Spe5< Scalar >::isLiquid | ( | unsigned | phaseIdx | ) | [inline, static] |
Return whether a phase is liquid.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static Scalar Opm::FluidSystems::Spe5< Scalar >::molarMass | ( | unsigned | compIdx | ) | [inline, static] |
Return the molar mass of a component in [kg/mol].
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static const char* Opm::FluidSystems::Spe5< Scalar >::phaseName | ( | unsigned | phaseIdx | ) | [inline, static] |
Return the human readable name of a fluid phase.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
static LhsEval Opm::FluidSystems::Spe5< Scalar >::viscosity | ( | const FluidState & | , | |
const ParameterCache< ParamCacheEval > & | , | |||
unsigned | phaseIdx | |||
) | [inline, static] |
Calculate the dynamic viscosity of a fluid phase [Pa*s].
const int Opm::FluidSystems::Spe5< Scalar >::numComponents = 7 [static] |
Number of chemical species in the fluid system.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.
const int Opm::FluidSystems::Spe5< Scalar >::numPhases = 3 [static] |
Number of fluid phases in the fluid system.
Reimplemented from Opm::BaseFluidSystem< Scalar, Spe5< Scalar > >.