opm-simulators
Loading...
Searching...
No Matches
Opm::BlackOilIntensiveQuantities< TypeTag > Class Template Reference

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

#include <blackoilintensivequantities.hh>

Inheritance diagram for Opm::BlackOilIntensiveQuantities< TypeTag >:
Opm::BlackOilConvectiveMixingIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableConvectiveMixing >()> Opm::BlackOilBioeffectsIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableBioeffects >()> Opm::BlackOilEnergyIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnergyModuleType >()> Opm::BlackOilBrineIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableBrine >()> 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::BlackOilDispersionIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableDispersion >() > Opm::BlackOilDiffusionIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableDiffusion >() >

Public Types

using FluidState
using ScalarFluidState
using Problem = GetPropType<TypeTag, Properties::Problem>

Public Member Functions

 BlackOilIntensiveQuantities (const BlackOilIntensiveQuantities &other)=default
BlackOilIntensiveQuantities & operator= (const BlackOilIntensiveQuantities &other)=default
template<class OtherTypeTag>
 BlackOilIntensiveQuantities (const BlackOilIntensiveQuantities< OtherTypeTag > &other, const FluidSystem &fsystem)
template<class OtherTypeTag>
auto withOtherFluidSystem (const GetPropType< OtherTypeTag, Properties::FluidSystem > &other) const
OPM_HOST_DEVICE void updateTempSalt (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx, const LinearizationType &lintype)
OPM_HOST_DEVICE void updateSaturations (const PrimaryVariables &priVars, const unsigned timeIdx, const LinearizationType lintype)
template<class ... Args>
OPM_HOST_DEVICE void updateRelpermAndPressures (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx, const LinearizationType &lintype)
OPM_HOST_DEVICE void updateRsRvRsw (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx)
OPM_HOST_DEVICE void updateMobilityAndInvB ()
OPM_HOST_DEVICE void updatePhaseDensities ()
OPM_HOST_DEVICE void updatePorosity (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
OPM_HOST_DEVICE void updatePorosity (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx)
OPM_HOST_DEVICE void updatePorosityImpl (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx)
OPM_HOST_DEVICE void assertFiniteMembers ()
template<class ... Args>
OPM_HOST_DEVICE void update (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
template<class ... Args>
OPM_HOST_DEVICE void update (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx)
template<class ... Args>
OPM_HOST_DEVICE void updateCommonPart (const Problem &problem, const PrimaryVariables &priVars, const unsigned globalSpaceIdx, const unsigned timeIdx)
OPM_HOST_DEVICE const FluidState & fluidState () const
 Returns the phase state for the control-volume.
OPM_HOST_DEVICE FluidState & fluidState ()
OPM_HOST_DEVICE const Evaluation & mobility (unsigned phaseIdx) const
 Returns the effective mobility of a given phase within the control volume.
OPM_HOST_DEVICE const Evaluation & mobility (unsigned phaseIdx, FaceDir::DirEnum facedir) const
OPM_HOST_DEVICE const Evaluation & porosity () const
 Returns the average porosity within the control volume.
OPM_HOST_DEVICE const Evaluation & rockCompTransMultiplier () const
 The pressure-dependent transmissibility multiplier due to rock compressibility.
OPM_HOST_DEVICE auto pvtRegionIndex () const -> decltype(std::declval< FluidState >().pvtRegionIndex())
 Returns the index of the PVT region used to calculate the thermodynamic quantities.
OPM_HOST_DEVICE Evaluation relativePermeability (unsigned phaseIdx) const
 Returns the relative permeability of a given phase within the control volume.
OPM_HOST_DEVICE Scalar referencePorosity () const
 Returns the porosity of the rock at reference conditions.
OPM_HOST_DEVICE const Evaluation & permFactor () const
OPM_HOST_DEVICE const auto & getFluidSystem () const
 Returns the fluid system used by this intensive quantities.
Public Member Functions inherited from Opm::BlackOilBioeffectsIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableBioeffects >()>
void bioeffectsPropertiesUpdate_ (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
 Update the intensive properties needed to handle bioeffects from the primary variables.
const Evaluation & microbialConcentration () const
const Evaluation & oxygenConcentration () const
const Evaluation & ureaConcentration () const
const Evaluation & biofilmVolumeFraction () const
const Evaluation & calciteVolumeFraction () const
const Evaluation biofilmMass () const
const Evaluation calciteMass () const
const Evaluation & permFactor () const

Additional Inherited Members

Protected Attributes inherited from Opm::BlackOilBioeffectsIntensiveQuantities< TypeTag, getPropValue< TypeTag, Properties::EnableBioeffects >()>
Evaluation microbialConcentration_
Evaluation oxygenConcentration_
Evaluation ureaConcentration_
Evaluation biofilmVolumeFraction_
Evaluation calciteVolumeFraction_
Evaluation biofilmMass_
Evaluation calciteMass_
Evaluation permFactor_
Evaluation pcFactor_

Detailed Description

template<class TypeTag>
class Opm::BlackOilIntensiveQuantities< TypeTag >

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

Member Typedef Documentation

◆ FluidState

template<class TypeTag>
using Opm::BlackOilIntensiveQuantities< TypeTag >::FluidState
Initial value:
BlackOilFluidState<Evaluation,
FluidSystem,
energyModuleType != EnergyModules::NoTemperature,
energyModuleType == EnergyModules::FullyImplicitThermal,
compositionSwitchEnabled,
enableVapwat,
enableBrine,
enableSaltPrecipitation,
enableDisgasInWater,
enableSolvent,
Indices::numPhases>

◆ ScalarFluidState

template<class TypeTag>
using Opm::BlackOilIntensiveQuantities< TypeTag >::ScalarFluidState
Initial value:
BlackOilFluidState<Scalar,
FluidSystem,
energyModuleType != EnergyModules::NoTemperature,
energyModuleType == EnergyModules::FullyImplicitThermal,
compositionSwitchEnabled,
enableVapwat,
enableBrine,
enableSaltPrecipitation,
enableDisgasInWater,
enableSolvent,
Indices::numPhases>

Member Function Documentation

◆ fluidState()

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

◆ mobility()

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

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

Examples
/build/reproducible-path/opm-simulators-2026.04~rc2+ds/opm/models/blackoil/blackoilintensivequantities.hh.

◆ porosity()

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

◆ pvtRegionIndex()

template<class TypeTag>
OPM_HOST_DEVICE auto Opm::BlackOilIntensiveQuantities< 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.

Examples
/build/reproducible-path/opm-simulators-2026.04~rc2+ds/opm/models/blackoil/blackoilintensivequantities.hh.

◆ referencePorosity()

template<class TypeTag>
OPM_HOST_DEVICE Scalar Opm::BlackOilIntensiveQuantities< 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.

Examples
/build/reproducible-path/opm-simulators-2026.04~rc2+ds/opm/models/blackoil/blackoilintensivequantities.hh.

◆ relativePermeability()

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

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

Examples
/build/reproducible-path/opm-simulators-2026.04~rc2+ds/opm/models/blackoil/blackoilintensivequantities.hh.

◆ update()

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

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