Ewoms::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 Ewoms::BlackOilIntensiveQuantities< TypeTag >:
Ewoms::BlackOilSolventIntensiveQuantities< TypeTag, enableSolventV > Ewoms::BlackOilPolymerIntensiveQuantities< TypeTag >

Public Member Functions

 BlackOilIntensiveQuantities (const BlackOilIntensiveQuantities &other)=default
 
BlackOilIntensiveQuantitiesoperator= (const BlackOilIntensiveQuantities &other)=default
 
void update (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
 
const FluidStatefluidState () 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 & porosity () const
 Returns the average porosity within the control volume. More...
 
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...
 
- Public Member Functions inherited from Ewoms::BlackOilSolventIntensiveQuantities< TypeTag, enableSolventV >
void solventPreSatFuncUpdate_ (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
 Called before the saturation functions are doing their magic. More...
 
void solventPostSatFuncUpdate_ (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
 Called after the saturation functions have been doing their magic. More...
 
void solventPvtUpdate_ (const ElementContext &elemCtx, unsigned scvIdx, unsigned timeIdx)
 Update the intensive PVT properties needed to handle solvents from the primary variables. More...
 
const Evaluation & solventSaturation () const
 
const Evaluation & solventDensity () const
 
const Evaluation & solventViscosity () const
 
const Evaluation & solventMobility () const
 
const Evaluation & solventInverseFormationVolumeFactor () const
 
const Scalar & solventRefDensity () const
 
- Public Member Functions inherited from Ewoms::BlackOilPolymerIntensiveQuantities< TypeTag >
void polymerPropertiesUpdate_ (const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
 Update the intensive properties needed to handle polymers from the primary variables. More...
 
const Evaluation & polymerConcentration () const
 
const Scalar & polymerDeadPoreVolume () const
 
const Evaluation & polymerAdsorption () const
 
const Scalar & polymerRockDensity () const
 
const Evaluation & polymerViscosityCorrection () const
 
const Evaluation & waterViscosityCorrection () const
 

Additional Inherited Members

- Protected Member Functions inherited from Ewoms::BlackOilSolventIntensiveQuantities< TypeTag, enableSolventV >
Implementation & asImp_ ()
 
- Protected Member Functions inherited from Ewoms::BlackOilPolymerIntensiveQuantities< TypeTag >
Implementation & asImp_ ()
 
- Protected Attributes inherited from Ewoms::BlackOilSolventIntensiveQuantities< TypeTag, enableSolventV >
Evaluation hydrocarbonSaturation_
 
Evaluation solventSaturation_
 
Evaluation solventDensity_
 
Evaluation solventViscosity_
 
Evaluation solventMobility_
 
Evaluation solventInvFormationVolumeFactor_
 
Scalar solventRefDensity_
 
- Protected Attributes inherited from Ewoms::BlackOilPolymerIntensiveQuantities< TypeTag >
Evaluation polymerConcentration_
 
Scalar polymerDeadPoreVolume_
 
Scalar polymerRockDensity_
 
Evaluation polymerAdsorption_
 
Evaluation polymerViscosityCorrection_
 
Evaluation waterViscosityCorrection_
 

Detailed Description

template<class TypeTag>
class Ewoms::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 >
const FluidState& Ewoms::BlackOilIntensiveQuantities< TypeTag >::fluidState ( ) const
inline

Returns the phase state for the control-volume.

◆ mobility()

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

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

Parameters
phaseIdxThe index of the fluid phase of interest.

◆ porosity()

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

Returns the average porosity within the control volume.

◆ pvtRegionIndex()

template<class TypeTag >
auto Ewoms::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. 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.)

◆ relativePermeability()

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

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

Parameters
phaseIdxThe index of the fluid phase of interest.

◆ update()

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


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