opm-simulators
Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV > Struct Template Reference

The primary variable and equation indices for the black-oil model. More...

#include <blackoiltwophaseindices.hh>

Static Public Attributes

static constexpr bool oilEnabled = disabledCanonicalCompIdx != 0
 Is phase enabled or not.
 
static constexpr bool waterEnabled = disabledCanonicalCompIdx != 1
 
static constexpr bool gasEnabled = disabledCanonicalCompIdx != 2
 
static constexpr bool enableSolvent = numSolventsV > 0
 Are solvents involved?
 
static constexpr bool enableExtbo = numExtbosV > 0
 Is extbo invoked?
 
static constexpr bool enablePolymer = numPolymersV > 0
 Are polymers involved?
 
static constexpr bool enableFullyImplicitThermal = numEnergyV > 0
 Shall energy be conserved?
 
static constexpr bool enableMICP = false
 MICP only available for one phase indices.
 
static constexpr bool enableBiofilm = numBioCompV > 0
 Are biofilms involved?
 
static constexpr int numSolvents = enableSolvent ? numSolventsV : 0
 Number of solvent components to be considered.
 
static constexpr int numExtbos = enableExtbo ? numExtbosV : 0
 Number of components to be considered for extbo.
 
static constexpr int numPolymers = enablePolymer ? numPolymersV : 0
 Number of polymer components to be considered.
 
static constexpr int numEnergy = enableFullyImplicitThermal ? numEnergyV : 0
 Number of energy equations to be considered.
 
static constexpr int numFoam = enableFoam? 1 : 0
 Number of foam equations to be considered.
 
static constexpr int numBrine = enableBrine? 1 : 0
 Number of salt equations to be considered.
 
static constexpr int numBioComp = enableBiofilm ? numBioCompV : 0
 Number of biofilm equations to be considered.
 
static constexpr int numBioInWat = enableBiofilm ? 1 : 0
 Number of biocomponents in the water phase.
 
static constexpr int numPhases = 2
 The number of fluid phases.
 
static constexpr int numEq
 The number of equations. More...
 
static constexpr int numDerivatives = numEq
 We may want to evaluate with more derivatives that equations, but not this time.
 
static constexpr unsigned waterSwitchIdx
 Index of the switching variable which determines the composistion of the water phase. More...
 
static constexpr unsigned pressureSwitchIdx
 Index of the switching variable which determines the pressure. More...
 
static constexpr unsigned compositionSwitchIdx
 Index of the switching variable which determines the composition of the hydrocarbon phases. More...
 
static constexpr unsigned solventSaturationIdx
 Index of the primary variable for the first solvent. More...
 
static constexpr unsigned zFractionIdx
 Index of the primary variable for the first extbo component. More...
 
static constexpr unsigned polymerConcentrationIdx
 Index of the primary variable for the first polymer. More...
 
static constexpr unsigned polymerMoleWeightIdx
 Index of the primary variable for the second polymer primary variable (molecular weight) More...
 
static constexpr unsigned microbialConcentrationIdx
 Index of the primary variable for the first microbial component. More...
 
static constexpr unsigned biofilmVolumeFractionIdx
 Index of the primary variable for the biofilm component. More...
 
static constexpr unsigned oxygenConcentrationIdx = std::numeric_limits<unsigned>::max()
 MICP only available for one phase indices.
 
static constexpr unsigned ureaConcentrationIdx = std::numeric_limits<unsigned>::max()
 
static constexpr unsigned calciteVolumeFractionIdx = std::numeric_limits<unsigned>::max()
 
static constexpr unsigned foamConcentrationIdx
 Index of the primary variable for the foam. More...
 
static constexpr unsigned saltConcentrationIdx
 Index of the primary variable for the salt. More...
 
static constexpr unsigned temperatureIdx
 Index of the primary variable for temperature. More...
 
static constexpr int conti0EqIdx = PVOffset + 0
 Index of the continuity equation of the first phase.
 
static constexpr int contiSolventEqIdx
 Index of the continuity equation for the first solvent component. More...
 
static constexpr int contiZfracEqIdx
 Index of the continuity equation for the first extbo component. More...
 
static constexpr int contiPolymerEqIdx
 Index of the continuity equation for the first polymer component. More...
 
static constexpr int contiPolymerMWEqIdx
 Index of the continuity equation for the second polymer component (molecular weight) More...
 
static constexpr int contiMicrobialEqIdx
 Index of the continuity equation for the first microbial component. More...
 
static constexpr int contiBiofilmEqIdx
 Index of the continuity equation for the biofilm component. More...
 
static constexpr int contiOxygenEqIdx = -1000
 MICP only available for one phase indices.
 
static constexpr int contiUreaEqIdx = -1000
 
static constexpr int contiCalciteEqIdx = -1000
 
static constexpr int contiFoamEqIdx
 Index of the continuity equation for the foam component. More...
 
static constexpr int contiBrineEqIdx
 Index of the continuity equation for the salt component. More...
 
static constexpr int contiEnergyEqIdx
 Index of the continuity equation for energy. More...
 

Detailed Description

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
struct Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >

The primary variable and equation indices for the black-oil model.

Member Data Documentation

◆ biofilmVolumeFractionIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::biofilmVolumeFractionIdx
static
Initial value:
=
enableBiofilm ? PVOffset + numPhases + numSolvents + 1
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the biofilm component.

◆ compositionSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::compositionSwitchIdx
static
Initial value:
=
gasEnabled && oilEnabled ? PVOffset + 1
: std::numeric_limits<unsigned>::max()

Index of the switching variable which determines the composition of the hydrocarbon phases.

Note
For two-phase water oil and water gas models this is disabled.

◆ contiBiofilmEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiBiofilmEqIdx
static
Initial value:
=
enableBiofilm ? PVOffset + numPhases + numSolvents + 1 : -1000

Index of the continuity equation for the biofilm component.

◆ contiBrineEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiBrineEqIdx
static
Initial value:
=
enableBrine ? PVOffset + numPhases + numSolvents + numPolymers + numBioComp + numFoam : -1000

Index of the continuity equation for the salt component.

◆ contiEnergyEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiEnergyEqIdx
static
Initial value:

Index of the continuity equation for energy.

◆ contiFoamEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiFoamEqIdx
static
Initial value:
=
enableFoam ? PVOffset + numPhases + numSolvents + numPolymers + numBioComp : -1000

Index of the continuity equation for the foam component.

◆ contiMicrobialEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiMicrobialEqIdx
static
Initial value:
=
enableBiofilm ? PVOffset + numPhases + numSolvents : -1000

Index of the continuity equation for the first microbial component.

◆ contiPolymerEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiPolymerEqIdx
static
Initial value:
=
enablePolymer ? PVOffset + numPhases + numSolvents : -1000

Index of the continuity equation for the first polymer component.

◆ contiPolymerMWEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiPolymerMWEqIdx
static
Initial value:
=
numPolymers > 1 ? contiPolymerEqIdx + 1 : -1000

Index of the continuity equation for the second polymer component (molecular weight)

◆ contiSolventEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiSolventEqIdx
static
Initial value:
=
enableSolvent ? PVOffset + numPhases : -1000

Index of the continuity equation for the first solvent component.

◆ contiZfracEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::contiZfracEqIdx
static
Initial value:
=
enableExtbo ? PVOffset + numPhases + numSolvents : -1000

Index of the continuity equation for the first extbo component.

◆ foamConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::foamConcentrationIdx
static
Initial value:
=
enableFoam ? PVOffset + numPhases + numSolvents + numPolymers + numBioComp
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the foam.

◆ microbialConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::microbialConcentrationIdx
static
Initial value:
=
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the first microbial component.

◆ numEq

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr int Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::numEq
static
Initial value:

The number of equations.

◆ polymerConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::polymerConcentrationIdx
static
Initial value:
=
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the first polymer.

◆ polymerMoleWeightIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::polymerMoleWeightIdx
static
Initial value:
=
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the second polymer primary variable (molecular weight)

◆ pressureSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::pressureSwitchIdx
static
Initial value:
=
waterEnabled ? PVOffset + 1
: PVOffset + 0

Index of the switching variable which determines the pressure.

Depending on the phases present, this variable is either interpreted as the pressure of the oil phase, gas phase (if no oil) or water phase (if only water)

◆ saltConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::saltConcentrationIdx
static
Initial value:
=
enableBrine ? PVOffset + numPhases + numSolvents + numPolymers + numBioComp + numFoam
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the salt.

◆ solventSaturationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::solventSaturationIdx
static
Initial value:
=
enableSolvent ? PVOffset + numPhases
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the first solvent.

◆ temperatureIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::temperatureIdx
static
Initial value:
=
: std::numeric_limits<unsigned>::max()

Index of the primary variable for temperature.

◆ waterSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::waterSwitchIdx
static
Initial value:
=
waterEnabled ? PVOffset + 0
: std::numeric_limits<unsigned>::max()

Index of the switching variable which determines the composistion of the water phase.

Depending on the phases present, this variable is either interpreted as water saturation or vapporized water in gas phase

Note
For two-phase gas-oil models this is disabled.

◆ zFractionIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned disabledCanonicalCompIdx, unsigned numBioCompV>
constexpr unsigned Opm::BlackOilTwoPhaseIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, disabledCanonicalCompIdx, numBioCompV >::zFractionIdx
static
Initial value:
=
: std::numeric_limits<unsigned>::max()

Index of the primary variable for the first extbo component.


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