opm-simulators
Loading...
Searching...
No Matches
Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV > Struct Template Reference

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

#include <blackoilvariableandequationindices.hh>

Static Public Attributes

static constexpr int numPhases = 3
 Number of phases active at all times.
static constexpr bool oilEnabled = true
 All phases are enabled.
static constexpr bool waterEnabled = true
static constexpr bool gasEnabled = true
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
 No bioeffects for three phase indices.
static constexpr bool enableBiofilm = false
static constexpr int numBioInWat = 0
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 numEq
 The number of equations.
static constexpr int numDerivatives = numEq
 We may want to evaluate with more derivatives that equations, but not this time.
static constexpr int waterSwitchIdx = PVOffset + 0
 Index of the switching variable which determines the composistion of the water phase.
static constexpr int pressureSwitchIdx = PVOffset + 1
 Index of the switching variable which determines the pressure.
static constexpr int compositionSwitchIdx = PVOffset + 2
 Index of the switching variable which determines the composition of the hydrocarbon phases.
static constexpr int solventSaturationIdx
 Index of the primary variable for the first solvent.
static constexpr int zFractionIdx
 Index of the primary variable for the first extbo component.
static constexpr int polymerConcentrationIdx
 Index of the primary variable for the first polymer.
static constexpr int polymerMoleWeightIdx
 Index of the primary variable for the second polymer primary variable (molecular weight).
static constexpr int microbialConcentrationIdx = -1000
 No bioeffects for three phase indices.
static constexpr int oxygenConcentrationIdx = -1000
static constexpr int ureaConcentrationIdx = -1000
static constexpr int biofilmVolumeFractionIdx = -1000
static constexpr int calciteVolumeFractionIdx = -1000
static constexpr int foamConcentrationIdx
 Index of the primary variable for the foam.
static constexpr int saltConcentrationIdx
 Index of the primary variable for the brine.
static constexpr int temperatureIdx
 Index of the primary variable for temperature.
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.
static constexpr int contiZfracEqIdx
 Index of the continuity equation for the first extbo component.
static constexpr int contiPolymerEqIdx
 Index of the continuity equation for the first polymer component.
static constexpr int contiPolymerMWEqIdx
 Index of the continuity equation for the second polymer component (molecular weight).
static constexpr int contiMicrobialEqIdx = -1000
 No bioeffects for three phase indices.
static constexpr int contiOxygenEqIdx = -1000
static constexpr int contiUreaEqIdx = -1000
static constexpr int contiBiofilmEqIdx = -1000
static constexpr int contiCalciteEqIdx = -1000
static constexpr int contiFoamEqIdx
 Index of the continuity equation for the foam component.
static constexpr int contiBrineEqIdx
 Index of the continuity equation for the salt water component.
static constexpr int contiEnergyEqIdx
 Index of the continuity equation for energy.

Detailed Description

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

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

Member Data Documentation

◆ compositionSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::compositionSwitchIdx = PVOffset + 2
staticconstexpr

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

Depending on the phases present, this variable is either interpreted as the saturation of the gas phase, as the mole fraction of the gas component in the oil phase or as the mole fraction of the oil component in the gas phase.

◆ contiBrineEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiBrineEqIdx
staticconstexpr
Initial value:
=
enableBrine ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers + numFoam : -1000
static constexpr int numPolymers
Number of polymer components to be considered.
Definition blackoilonephaseindices.hh:83
static constexpr int numPhases
The number of fluid phases.
Definition blackoilonephaseindices.hh:95
static constexpr int numSolvents
Number of solvent components to be considered.
Definition blackoilonephaseindices.hh:77
static constexpr int numFoam
Number of foam equations to be considered.
Definition blackoilonephaseindices.hh:89
static constexpr int numExtbos
Number of components to be considered for extbo.
Definition blackoilonephaseindices.hh:80

Index of the continuity equation for the salt water component.

◆ contiEnergyEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiEnergyEqIdx
staticconstexpr
Initial value:
=
static constexpr int numBrine
Number of salt equations to be considered.
Definition blackoilonephaseindices.hh:92
static constexpr bool enableFullyImplicitThermal
Shall energy be conserved?
Definition blackoilonephaseindices.hh:68

Index of the continuity equation for energy.

◆ contiFoamEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiFoamEqIdx
staticconstexpr
Initial value:
=
enableFoam ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers : -1000
static constexpr int numExtbos
Number of components to be considered for extbo.
Definition blackoilvariableandequationindices.hh:77

Index of the continuity equation for the foam component.

◆ contiPolymerEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiPolymerEqIdx
staticconstexpr
Initial value:
=
enablePolymer ? PVOffset + numPhases + numSolvents + numExtbos : -1000
static constexpr bool enablePolymer
Are polymers involved?
Definition blackoilonephaseindices.hh:65

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiPolymerMWEqIdx
staticconstexpr
Initial value:
=
numPolymers > 1 ? contiPolymerEqIdx + 1 : -1000
static constexpr int contiPolymerEqIdx
Index of the continuity equation for the first polymer component.
Definition blackoilonephaseindices.hh:204

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiSolventEqIdx
staticconstexpr
Initial value:
=
enableSolvent ? PVOffset + numPhases : -1000
static constexpr bool enableSolvent
Are solvents involved?
Definition blackoilonephaseindices.hh:59

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::contiZfracEqIdx
staticconstexpr
Initial value:
=
enableExtbo ? PVOffset + numPhases + numSolvents : -1000
static constexpr bool enableExtbo
Is extbo invoked?
Definition blackoilonephaseindices.hh:62

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::foamConcentrationIdx
staticconstexpr
Initial value:
=
enableFoam ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers : -1000

Index of the primary variable for the foam.

◆ numEq

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::numEq
staticconstexpr
Initial value:
static constexpr int numEnergy
Number of energy equations to be considered.
Definition blackoilonephaseindices.hh:86

The number of equations.

◆ polymerConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::polymerConcentrationIdx
staticconstexpr
Initial value:
=
enablePolymer ? PVOffset + numPhases + numSolvents : -1000

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::polymerMoleWeightIdx
staticconstexpr
Initial value:
=
static constexpr int polymerConcentrationIdx
Index of the primary variable for the first polymer.
Definition blackoilonephaseindices.hh:149

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::pressureSwitchIdx = PVOffset + 1
staticconstexpr

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::saltConcentrationIdx
staticconstexpr
Initial value:
=
enableBrine ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers + numFoam : -1000

Index of the primary variable for the brine.

◆ solventSaturationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::solventSaturationIdx
staticconstexpr
Initial value:
=
enableSolvent ? PVOffset + numPhases : -1000

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 numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::temperatureIdx
staticconstexpr
Initial value:

Index of the primary variable for temperature.

◆ waterSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::waterSwitchIdx = PVOffset + 0
staticconstexpr

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

◆ zFractionIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, int PVOffset, unsigned numBioCompV>
int Opm::BlackOilVariableAndEquationIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numBioCompV >::zFractionIdx
staticconstexpr
Initial value:
=
enableExtbo ? PVOffset + numPhases + numSolvents : -1000

Index of the primary variable for the first extbo component.


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