My Project
Loading...
Searching...
No Matches
Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV > Struct Template Reference

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

#include <blackoilindices.hh>

Static Public Member Functions

static constexpr unsigned canonicalToActiveComponentIndex (unsigned compIdx)
 returns the index of "active" component
 
static constexpr unsigned activeToCanonicalComponentIndex (unsigned compIdx)
 

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 enableEnergy = numEnergyV > 0
 Shall energy be conserved?
 
static constexpr bool enableMICP = numMICPsV > 0
 Is MICP 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 = enableEnergy ? 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 numMICPs = enableMICP ? numMICPsV : 0
 Number of MICP components to be considered.
 
static constexpr int numEq
 The number of equations.
 
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
 Index of the primary variable for the first MICP component.
 
static constexpr int oxygenConcentrationIdx
 Index of the primary variable for the second MICP component.
 
static constexpr int ureaConcentrationIdx
 Index of the primary variable for the third MICP component.
 
static constexpr int biofilmConcentrationIdx
 Index of the primary variable for the fourth MICP component.
 
static constexpr int calciteConcentrationIdx
 Index of the primary variable for the fifth MICP component.
 
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
 Index of the continuity equation for the first MICP component.
 
static constexpr int contiOxygenEqIdx
 Index of the continuity equation for the second MICP component.
 
static constexpr int contiUreaEqIdx
 Index of the continuity equation for the third MICP component.
 
static constexpr int contiBiofilmEqIdx
 Index of the continuity equation for the fourth MICP component.
 
static constexpr int contiCalciteEqIdx
 Index of the continuity equation for the fifth MICP component.
 
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, unsigned PVOffset, unsigned numMICPsV>
struct Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >

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

Member Data Documentation

◆ biofilmConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::biofilmConcentrationIdx
staticconstexpr
Initial value:
=
numMICPs > 3 ? ureaConcentrationIdx + 1 : -1000
static constexpr int ureaConcentrationIdx
Index of the primary variable for the third MICP component.
Definition blackoilindices.hh:158
static constexpr int numMICPs
Number of MICP components to be considered.
Definition blackoilindices.hh:90

Index of the primary variable for the fourth MICP component.

◆ calciteConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::calciteConcentrationIdx
staticconstexpr
Initial value:
=
static constexpr int biofilmConcentrationIdx
Index of the primary variable for the fourth MICP component.
Definition blackoilindices.hh:162

Index of the primary variable for the fifth MICP component.

◆ compositionSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::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.

◆ contiBiofilmEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiBiofilmEqIdx
staticconstexpr
Initial value:
=
numMICPs > 3 ? contiUreaEqIdx + 1 : -1000
static constexpr int contiUreaEqIdx
Index of the continuity equation for the third MICP component.
Definition blackoilindices.hh:215

Index of the continuity equation for the fourth MICP component.

◆ contiBrineEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiBrineEqIdx
staticconstexpr
Initial value:
=
enableBrine ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers + numMICPs + numFoam : -1000
static constexpr int numSolvents
Number of solvent components to be considered.
Definition blackoilindices.hh:72
static constexpr int numFoam
Number of foam equations to be considered.
Definition blackoilindices.hh:84
static constexpr int numPolymers
Number of polymer components to be considered.
Definition blackoilindices.hh:78
static constexpr int numPhases
Number of phases active at all times.
Definition blackoilindices.hh:49
static constexpr int numExtbos
Number of components to be considered for extbo.
Definition blackoilindices.hh:75

Index of the continuity equation for the salt water component.

◆ contiCalciteEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiCalciteEqIdx
staticconstexpr
Initial value:
=
numMICPs > 4 ? contiBiofilmEqIdx + 1 : -1000
static constexpr int contiBiofilmEqIdx
Index of the continuity equation for the fourth MICP component.
Definition blackoilindices.hh:219

Index of the continuity equation for the fifth MICP component.

◆ contiEnergyEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiEnergyEqIdx
staticconstexpr
Initial value:
=
static constexpr int numBrine
Number of salt equations to be considered.
Definition blackoilindices.hh:87
static constexpr bool enableEnergy
Shall energy be conserved?
Definition blackoilindices.hh:66

Index of the continuity equation for energy.

◆ contiFoamEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiFoamEqIdx
staticconstexpr
Initial value:
=
enableFoam ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers + numMICPs : -1000

Index of the continuity equation for the foam component.

◆ contiMicrobialEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiMicrobialEqIdx
staticconstexpr
Initial value:
=
enableMICP ? PVOffset + numPhases + numSolvents + numExtbos : -1000
static constexpr bool enableMICP
Is MICP involved?
Definition blackoilindices.hh:69

Index of the continuity equation for the first MICP component.

◆ contiOxygenEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiOxygenEqIdx
staticconstexpr
Initial value:
=
numMICPs > 1 ? contiMicrobialEqIdx + 1 : -1000
static constexpr int contiMicrobialEqIdx
Index of the continuity equation for the first MICP component.
Definition blackoilindices.hh:207

Index of the continuity equation for the second MICP component.

◆ contiPolymerEqIdx

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

Index of the continuity equation for the first polymer component.

◆ contiPolymerMWEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiPolymerMWEqIdx
staticconstexpr
Initial value:
=
numPolymers > 1 ? contiPolymerEqIdx + 1 : -1000
static constexpr int contiPolymerEqIdx
Index of the continuity equation for the first polymer component.
Definition blackoilindices.hh:199

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

Index of the continuity equation for the first solvent component.

◆ contiUreaEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiUreaEqIdx
staticconstexpr
Initial value:
=
numMICPs > 2 ? contiOxygenEqIdx + 1 : -1000
static constexpr int contiOxygenEqIdx
Index of the continuity equation for the second MICP component.
Definition blackoilindices.hh:211

Index of the continuity equation for the third MICP component.

◆ contiZfracEqIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::contiZfracEqIdx
staticconstexpr
Initial value:
=
enableExtbo ? PVOffset + numPhases + numSolvents : -1000
static constexpr bool enableExtbo
Is extbo invoked?
Definition blackoilindices.hh:60

Index of the continuity equation for the first extbo component.

◆ foamConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::foamConcentrationIdx
staticconstexpr
Initial value:
=
enableFoam ? PVOffset + numPhases + numSolvents + numExtbos + numPolymers + numMICPs : -1000

Index of the primary variable for the foam.

◆ microbialConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::microbialConcentrationIdx
staticconstexpr
Initial value:
=
enableMICP ? PVOffset + numPhases + numSolvents : -1000

Index of the primary variable for the first MICP component.

◆ numEq

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

The number of equations.

◆ oxygenConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::oxygenConcentrationIdx
staticconstexpr
Initial value:
=
static constexpr int microbialConcentrationIdx
Index of the primary variable for the first MICP component.
Definition blackoilindices.hh:150

Index of the primary variable for the second MICP component.

◆ polymerConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::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, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::polymerMoleWeightIdx
staticconstexpr
Initial value:
=
static constexpr int polymerConcentrationIdx
Index of the primary variable for the first polymer.
Definition blackoilindices.hh:142

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

Index of the primary variable for the brine.

◆ solventSaturationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::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, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::temperatureIdx
staticconstexpr
Initial value:

Index of the primary variable for temperature.

◆ ureaConcentrationIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::ureaConcentrationIdx
staticconstexpr
Initial value:
=
numMICPs > 2 ? oxygenConcentrationIdx + 1 : -1000
static constexpr int oxygenConcentrationIdx
Index of the primary variable for the second MICP component.
Definition blackoilindices.hh:154

Index of the primary variable for the third MICP component.

◆ waterSwitchIdx

template<unsigned numSolventsV, unsigned numExtbosV, unsigned numPolymersV, unsigned numEnergyV, bool enableFoam, bool enableBrine, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::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, unsigned PVOffset, unsigned numMICPsV>
int Opm::BlackOilIndices< numSolventsV, numExtbosV, numPolymersV, numEnergyV, enableFoam, enableBrine, PVOffset, numMICPsV >::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: