Opm::BlackOilDarcyExtensiveQuantities< TypeTag > Class Template Reference

Specifies the extensive quantities for the black-oil model if using Darcy relation. More...

#include <blackoildarcyfluxmodule.hh>

Inheritance diagram for Opm::BlackOilDarcyExtensiveQuantities< TypeTag >:
Inheritance graph

Public Member Functions

void updateSolvent (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Update the extensive quantities which are specific to the solvent extension of the black-oil model. More...
 
void updatePolymer (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 
const DimMatrix & intrinsicPermability () const
 Returns the intrinsic permeability tensor for a given sub-control volume face. More...
 
const EvalDimVector & potentialGrad (unsigned phaseIdx) const
 Return the pressure potential gradient of a fluid phase at the face's integration point [Pa/m]. More...
 
const EvalDimVector & filterVelocity (unsigned phaseIdx) const
 Return the filter velocity of a fluid phase at the face's integration point [m/s]. More...
 
const Evaluation & volumeFlux (unsigned phaseIdx) const
 Return the volume flux of a fluid phase at the face's integration point $[m^3/s / m^2]$. More...
 

Protected Member Functions

Implementation & asImp_ ()
 
short upstreamIndex_ (unsigned phaseIdx) const
 
short downstreamIndex_ (unsigned phaseIdx) const
 
void calculateGradients_ (const ElementContext &elemCtx, unsigned faceIdx, unsigned timeIdx)
 Calculate the gradients which are required to determine the volumetric fluxes. More...
 
template<class FluidState >
void calculateBoundaryGradients_ (const ElementContext &elemCtx, unsigned boundaryFaceIdx, unsigned timeIdx, const FluidState &fluidState)
 Calculate the gradients at the grid boundary which are required to determine the volumetric fluxes. More...
 
void calculateFluxes_ (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Calculate the volumetric fluxes of all phases. More...
 
void calculateBoundaryFluxes_ (const ElementContext &elemCtx, unsigned boundaryFaceIdx, unsigned timeIdx)
 Calculate the volumetric fluxes at a boundary face of all fluid phases. More...
 
void calculateFilterVelocity_ (unsigned phaseIdx)
 

Protected Attributes

DimMatrix K_
 
Evaluation mobility_ [numPhases]
 
EvalDimVector filterVelocity_ [numPhases]
 
Evaluation volumeFlux_ [numPhases]
 
EvalDimVector potentialGrad_ [numPhases]
 
short upstreamDofIdx_ [numPhases]
 
short downstreamDofIdx_ [numPhases]
 
short interiorDofIdx_
 
short exteriorDofIdx_
 

Detailed Description

template<class TypeTag>
class Opm::BlackOilDarcyExtensiveQuantities< TypeTag >

Specifies the extensive quantities for the black-oil model if using Darcy relation.

This class basically forwards everything to the default Darcy flux module and adds a few methods needed by the extensions of the black-oil model. (i.e. the solvent and the polymer extensions.)

Member Function Documentation

◆ asImp_()

◆ calculateBoundaryFluxes_()

template<class TypeTag >
void Opm::DarcyExtensiveQuantities< TypeTag >::calculateBoundaryFluxes_ ( const ElementContext &  elemCtx,
unsigned  boundaryFaceIdx,
unsigned  timeIdx 
)
inlineprotectedinherited

Calculate the volumetric fluxes at a boundary face of all fluid phases.

The pressure potentials and upwind directions must already be determined before calling this method!

References Opm::DarcyExtensiveQuantities< TypeTag >::filterVelocity_, and Opm::DarcyExtensiveQuantities< TypeTag >::volumeFlux_.

◆ calculateBoundaryGradients_()

template<class TypeTag >
template<class FluidState >
void Opm::DarcyExtensiveQuantities< TypeTag >::calculateBoundaryGradients_ ( const ElementContext &  elemCtx,
unsigned  boundaryFaceIdx,
unsigned  timeIdx,
const FluidState &  fluidState 
)
inlineprotectedinherited

◆ calculateFilterVelocity_()

◆ calculateFluxes_()

template<class TypeTag >
void Opm::DarcyExtensiveQuantities< TypeTag >::calculateFluxes_ ( const ElementContext &  elemCtx,
unsigned  scvfIdx,
unsigned  timeIdx 
)
inlineprotectedinherited

Calculate the volumetric fluxes of all phases.

The pressure potentials and upwind directions must already be determined before calling this method!

References Opm::DarcyExtensiveQuantities< TypeTag >::filterVelocity_, and Opm::DarcyExtensiveQuantities< TypeTag >::volumeFlux_.

◆ calculateGradients_()

◆ downstreamIndex_()

template<class TypeTag >
short Opm::DarcyExtensiveQuantities< TypeTag >::downstreamIndex_ ( unsigned  phaseIdx) const
inlineprotectedinherited

◆ filterVelocity()

template<class TypeTag >
const EvalDimVector & Opm::DarcyExtensiveQuantities< TypeTag >::filterVelocity ( unsigned  phaseIdx) const
inlineinherited

Return the filter velocity of a fluid phase at the face's integration point [m/s].

Parameters
phaseIdxThe index of the fluid phase

References Opm::DarcyExtensiveQuantities< TypeTag >::filterVelocity_.

◆ intrinsicPermability()

template<class TypeTag >
const DimMatrix & Opm::DarcyExtensiveQuantities< TypeTag >::intrinsicPermability ( ) const
inlineinherited

Returns the intrinsic permeability tensor for a given sub-control volume face.

References Opm::DarcyExtensiveQuantities< TypeTag >::K_.

◆ potentialGrad()

template<class TypeTag >
const EvalDimVector & Opm::DarcyExtensiveQuantities< TypeTag >::potentialGrad ( unsigned  phaseIdx) const
inlineinherited

Return the pressure potential gradient of a fluid phase at the face's integration point [Pa/m].

Parameters
phaseIdxThe index of the fluid phase

References Opm::DarcyExtensiveQuantities< TypeTag >::potentialGrad_.

◆ updatePolymer()

template<class TypeTag >
void Opm::BlackOilDarcyExtensiveQuantities< TypeTag >::updatePolymer ( const ElementContext &  elemCtx,
unsigned  scvfIdx,
unsigned  timeIdx 
)
inline

◆ updateSolvent()

template<class TypeTag >
void Opm::BlackOilDarcyExtensiveQuantities< TypeTag >::updateSolvent ( const ElementContext &  elemCtx,
unsigned  scvfIdx,
unsigned  timeIdx 
)
inline

Update the extensive quantities which are specific to the solvent extension of the black-oil model.

References Opm::BlackOilDarcyExtensiveQuantities< TypeTag >::asImp_().

◆ upstreamIndex_()

template<class TypeTag >
short Opm::DarcyExtensiveQuantities< TypeTag >::upstreamIndex_ ( unsigned  phaseIdx) const
inlineprotectedinherited

◆ volumeFlux()

template<class TypeTag >
const Evaluation & Opm::DarcyExtensiveQuantities< TypeTag >::volumeFlux ( unsigned  phaseIdx) const
inlineinherited

Return the volume flux of a fluid phase at the face's integration point $[m^3/s / m^2]$.

This is the fluid volume of a phase per second and per square meter of face area.

Parameters
phaseIdxThe index of the fluid phase

References Opm::DarcyExtensiveQuantities< TypeTag >::volumeFlux_.

Member Data Documentation

◆ downstreamDofIdx_

◆ exteriorDofIdx_

◆ filterVelocity_

◆ interiorDofIdx_

◆ K_

◆ mobility_

◆ potentialGrad_

◆ upstreamDofIdx_

◆ volumeFlux_


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