opm-simulators
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 = BlackOilFluidState< Evaluation, FluidSystem, energyModuleType !=EnergyModules::NoTemperature, energyModuleType==EnergyModules::FullyImplicitThermal, compositionSwitchEnabled, enableVapwat, enableBrine, enableSaltPrecipitation, enableDisgasInWater, enableSolvent, Indices::numPhases >
 
using ScalarFluidState = BlackOilFluidState< Scalar, FluidSystem, energyModuleType !=EnergyModules::NoTemperature, energyModuleType==EnergyModules::FullyImplicitThermal, compositionSwitchEnabled, enableVapwat, enableBrine, enableSaltPrecipitation, enableDisgasInWater, enableSolvent, Indices::numPhases >
 
using Problem = GetPropType< TypeTag, Properties::Problem >
 

Public Member Functions

 BlackOilIntensiveQuantities (const BlackOilIntensiveQuantities &other)=default
 
BlackOilIntensiveQuantitiesoperator= (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, [[maybe_unused]] 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. More...
 
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. More...
 
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. More...
 
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. More...
 
OPM_HOST_DEVICE Evaluation relativePermeability (unsigned phaseIdx) const
 Returns the relative permeability of a given phase within the control volume. More...
 
OPM_HOST_DEVICE Scalar referencePorosity () const
 Returns the porosity of the rock at reference conditions. More...
 
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. More...
 
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
 

Friends

template<class OtherTypeTag >
class BlackOilIntensiveQuantities
 

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 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:
/tmp/opm/rpmbuild/BUILD/opm-simulators-release-2026.04-final/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:
/tmp/opm/rpmbuild/BUILD/opm-simulators-release-2026.04-final/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:
/tmp/opm/rpmbuild/BUILD/opm-simulators-release-2026.04-final/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:
/tmp/opm/rpmbuild/BUILD/opm-simulators-release-2026.04-final/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: