opm-simulators
Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag > Class Template Reference

Contains the quantities which are are constant within a finite volume in the black-oil model using global indices. More...

#include <BlackOilIntensiveQuantitiesGlobalIndex.hpp>

Inheritance diagram for Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >:
Opm::BlackOilConvectiveMixingIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableConvectiveMixing >()> Opm::BlackOilBioeffectsIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableBioeffects >()> Opm::BlackOilEnergyIntensiveQuantitiesGlobalIndex< TypeTag, getPropValue< TypeTag, Properties::EnergyModuleType >()> Opm::BlackOilFoamIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableFoam >()> Opm::BlackOilPolymerIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnablePolymer >()> Opm::BlackOilExtboIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableExtbo >()> Opm::BlackOilSolventIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableSolvent >()> Opm::BlackOilDiffusionIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableDiffusion >()>

Public Types

using FluidState = BlackOilFluidState< Evaluation, FluidSystem, energyModuleType !=EnergyModules::NoTemperature, energyModuleType==EnergyModules::FullyImplicitThermal, compositionSwitchEnabled, enableVapwat, enableBrine, enableSaltPrecipitation, false, enableSolvent, Indices::numPhases >
 
using Problem = GetPropType< TypeTag, Properties::Problem >
 

Public Member Functions

void update (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
 
void update (const Problem &problem, const PrimaryVariables &priVars, unsigned globalSpaceIdx, unsigned timeIdx)
 
const FluidState & fluidState () const
 Returns the phase state for the control-volume. More...
 
const Evaluation & mobility (unsigned phaseIdx) const
 Returns the effective mobility of a given phase within the control volume. More...
 
const Evaluation & mobility (unsigned phaseIdx, FaceDir::DirEnum facedir) const
 
void computeInverseFormationVolumeFactorAndViscosity (FluidState &fluidState, unsigned phaseIdx, unsigned pvtRegionIdx)
 
void computeRelpermAndPC (std::array< Evaluation, numPhases > &mobility, std::array< Evaluation, numPhases > &pC, const Problem &problem, const FluidState &fluidState, unsigned globalSpaceIdx)
 
const Evaluation & porosity () const
 Returns the average porosity within the control volume. More...
 
const Evaluation & rockCompTransMultiplier () const
 The pressure-dependent transmissibility multiplier due to rock compressibility.
 
auto pvtRegionIndex () const -> decltype(std::declval< FluidState >().pvtRegionIndex())
 Returns the index of the PVT region used to calculate the thermodynamic quantities. More...
 
Evaluation relativePermeability (unsigned phaseIdx) const
 Returns the relative permeability of a given phase within the control volume. More...
 
Scalar referencePorosity () const
 Returns the porosity of the rock at reference conditions. More...
 
const Evaluation & permFactor () const
 
OPM_HOST_DEVICE const auto & getFluidSystem () const
 Returns the fluid system used by this intensive quantities.
 

Detailed Description

template<class TypeTag>
class Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >

Contains the quantities which are are constant within a finite volume in the black-oil model using global indices.

Member Function Documentation

◆ fluidState()

template<class TypeTag >
const FluidState& Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::fluidState ( ) const
inline

Returns the phase state for the control-volume.

◆ mobility()

template<class TypeTag >
const Evaluation& Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::mobility ( unsigned  phaseIdx) const
inline

Returns the effective mobility of a given phase within the control volume.

◆ porosity()

template<class TypeTag >
const Evaluation& Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::porosity ( ) const
inline

Returns the average porosity within the control volume.

◆ pvtRegionIndex()

template<class TypeTag >
auto Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::pvtRegionIndex ( ) const -> decltype(std::declval<FluidState>().pvtRegionIndex())
inline

Returns the index of the PVT region used to calculate the thermodynamic quantities.

This allows to specify different Pressure-Volume-Temperature (PVT) relations in different parts of the spatial domain. Note that this concept should be seen as a work-around of the fact that the black-oil model does not capture the thermodynamics well enough. (Because there is, err, only a single real world with in which all substances follow the same physical laws and hence the same thermodynamics.) Anyway: Since the ECL file format uses multiple PVT regions, we support it as well in our black-oil model. (Note that, if it is not explicitly specified, the PVT region index is 0.)

◆ referencePorosity()

template<class TypeTag >
Scalar Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::referencePorosity ( ) const
inline

Returns the porosity of the rock at reference conditions.

I.e., the porosity of rock which is not perturbed by pressure and temperature changes.

◆ relativePermeability()

template<class TypeTag >
Evaluation Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::relativePermeability ( unsigned  phaseIdx) const
inline

Returns the relative permeability of a given phase within the control volume.

◆ update()

template<class TypeTag >
void Opm::BlackOilIntensiveQuantitiesGlobalIndex< TypeTag >::update ( const ElementContext &  elemCtx,
unsigned  dofIdx,
unsigned  timeIdx 
)
inline


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