Opm::NewTranExtensiveQuantities< TypeTag > Class Template Reference

Provides the ECL flux module. More...

#include <NewTranFluxModule.hpp>

Public Member Functions

const DimMatrix & intrinsicPermeability () const
 Return the intrinsic permeability tensor at a face [m^2]. More...
 
const EvalDimVector & potentialGrad (unsigned) const
 Return the pressure potential gradient of a fluid phase at the face's integration point [Pa/m]. More...
 
const Evaluation & pressureDifference (unsigned phaseIdx) const
 Return the gravity corrected pressure difference between the interior and the exterior of a face. More...
 
const EvalDimVector & filterVelocity (unsigned) 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...
 

Static Public Member Functions

static void volumeAndPhasePressureDifferences (std::array< short, numPhases > &upIdx, std::array< short, numPhases > &dnIdx, Evaluation(&volumeFlux)[numPhases], Evaluation(&pressureDifferences)[numPhases], const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 
template<class EvalType >
static void calculatePhasePressureDiff_ (short &upIdx, short &dnIdx, EvalType &pressureDifference, const IntensiveQuantities &intQuantsIn, const IntensiveQuantities &intQuantsEx, const unsigned phaseIdx, const unsigned interiorDofIdx, const unsigned exteriorDofIdx, const Scalar Vin, const Scalar Vex, const unsigned globalIndexIn, const unsigned globalIndexEx, const Scalar distZg, const Scalar thpres)
 
template<class Problem , class FluidState , class EvaluationContainer >
static void calculateBoundaryGradients_ (const Problem &problem, const unsigned globalSpaceIdx, const IntensiveQuantities &intQuantsIn, const unsigned bfIdx, const double faceArea, const double zEx, const FluidState &exFluidState, std::array< short, numPhases > &upIdx, std::array< short, numPhases > &dnIdx, EvaluationContainer &volumeFlux, EvaluationContainer &pressureDifference)
 Update the required gradients for boundary faces. More...
 

Protected Member Functions

unsigned upstreamIndex_ (unsigned phaseIdx) const
 Returns the local index of the degree of freedom in which is in upstream direction. More...
 
unsigned downstreamIndex_ (unsigned phaseIdx) const
 Returns the local index of the degree of freedom in which is in downstream direction. More...
 
void updateSolvent (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 
void updatePolymer (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 
void calculateGradients_ (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
 Update the required gradients for interior faces. More...
 
template<class FluidState >
void calculateBoundaryGradients_ (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx, const FluidState &exFluidState)
 Update the required gradients for boundary faces. More...
 
void calculateFluxes_ (const ElementContext &, unsigned, unsigned)
 Update the volumetric fluxes for all fluid phases on the interior faces of the context. More...
 
void calculateBoundaryFluxes_ (const ElementContext &, unsigned, unsigned)
 

Detailed Description

template<class TypeTag>
class Opm::NewTranExtensiveQuantities< TypeTag >

Provides the ECL flux module.

Member Function Documentation

◆ calculateBoundaryFluxes_()

template<class TypeTag >
void Opm::NewTranExtensiveQuantities< TypeTag >::calculateBoundaryFluxes_ ( const ElementContext &  ,
unsigned  ,
unsigned   
)
inlineprotected

◆ calculateBoundaryGradients_() [1/2]

template<class TypeTag >
template<class FluidState >
void Opm::NewTranExtensiveQuantities< TypeTag >::calculateBoundaryGradients_ ( const ElementContext &  elemCtx,
unsigned  scvfIdx,
unsigned  timeIdx,
const FluidState &  exFluidState 
)
inlineprotected

◆ calculateBoundaryGradients_() [2/2]

template<class TypeTag >
template<class Problem , class FluidState , class EvaluationContainer >
static void Opm::NewTranExtensiveQuantities< TypeTag >::calculateBoundaryGradients_ ( const Problem &  problem,
const unsigned  globalSpaceIdx,
const IntensiveQuantities &  intQuantsIn,
const unsigned  bfIdx,
const double  faceArea,
const double  zEx,
const FluidState &  exFluidState,
std::array< short, numPhases > &  upIdx,
std::array< short, numPhases > &  dnIdx,
EvaluationContainer &  volumeFlux,
EvaluationContainer &  pressureDifference 
)
inlinestatic

◆ calculateFluxes_()

template<class TypeTag >
void Opm::NewTranExtensiveQuantities< TypeTag >::calculateFluxes_ ( const ElementContext &  ,
unsigned  ,
unsigned   
)
inlineprotected

Update the volumetric fluxes for all fluid phases on the interior faces of the context.

◆ calculateGradients_()

template<class TypeTag >
void Opm::NewTranExtensiveQuantities< TypeTag >::calculateGradients_ ( const ElementContext &  elemCtx,
unsigned  scvfIdx,
unsigned  timeIdx 
)
inlineprotected

Update the required gradients for interior faces.

References Opm::NewTranExtensiveQuantities< TypeTag >::volumeAndPhasePressureDifferences().

◆ calculatePhasePressureDiff_()

template<class TypeTag >
template<class EvalType >
static void Opm::NewTranExtensiveQuantities< TypeTag >::calculatePhasePressureDiff_ ( short &  upIdx,
short &  dnIdx,
EvalType &  pressureDifference,
const IntensiveQuantities &  intQuantsIn,
const IntensiveQuantities &  intQuantsEx,
const unsigned  phaseIdx,
const unsigned  interiorDofIdx,
const unsigned  exteriorDofIdx,
const Scalar  Vin,
const Scalar  Vex,
const unsigned  globalIndexIn,
const unsigned  globalIndexEx,
const Scalar  distZg,
const Scalar  thpres 
)
inlinestatic

◆ downstreamIndex_()

template<class TypeTag >
unsigned Opm::NewTranExtensiveQuantities< TypeTag >::downstreamIndex_ ( unsigned  phaseIdx) const
inlineprotected

Returns the local index of the degree of freedom in which is in downstream direction.

i.e., the DOF which exhibits a lower effective pressure for the given phase.

◆ filterVelocity()

template<class TypeTag >
const EvalDimVector & Opm::NewTranExtensiveQuantities< TypeTag >::filterVelocity ( unsigned  ) const
inline

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

Parameters
phaseIdxThe index of the fluid phase

◆ intrinsicPermeability()

template<class TypeTag >
const DimMatrix & Opm::NewTranExtensiveQuantities< TypeTag >::intrinsicPermeability ( ) const
inline

Return the intrinsic permeability tensor at a face [m^2].

◆ potentialGrad()

template<class TypeTag >
const EvalDimVector & Opm::NewTranExtensiveQuantities< TypeTag >::potentialGrad ( unsigned  ) const
inline

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

Parameters
phaseIdxThe index of the fluid phase

◆ pressureDifference()

template<class TypeTag >
const Evaluation & Opm::NewTranExtensiveQuantities< TypeTag >::pressureDifference ( unsigned  phaseIdx) const
inline

Return the gravity corrected pressure difference between the interior and the exterior of a face.

Parameters
phaseIdxThe index of the fluid phase

Referenced by Opm::NewTranExtensiveQuantities< TypeTag >::calculateBoundaryGradients_(), and Opm::NewTranExtensiveQuantities< TypeTag >::calculatePhasePressureDiff_().

◆ updatePolymer()

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

◆ updateSolvent()

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

◆ upstreamIndex_()

template<class TypeTag >
unsigned Opm::NewTranExtensiveQuantities< TypeTag >::upstreamIndex_ ( unsigned  phaseIdx) const
inlineprotected

Returns the local index of the degree of freedom in which is in upstream direction.

i.e., the DOF which exhibits a higher effective pressure for the given phase.

◆ volumeAndPhasePressureDifferences()

template<class TypeTag >
static void Opm::NewTranExtensiveQuantities< TypeTag >::volumeAndPhasePressureDifferences ( std::array< short, numPhases > &  upIdx,
std::array< short, numPhases > &  dnIdx,
Evaluation(&)  volumeFlux[numPhases],
Evaluation(&)  pressureDifferences[numPhases],
const ElementContext &  elemCtx,
unsigned  scvfIdx,
unsigned  timeIdx 
)
inlinestatic

◆ volumeFlux()

template<class TypeTag >
const Evaluation & Opm::NewTranExtensiveQuantities< TypeTag >::volumeFlux ( unsigned  phaseIdx) const
inline

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

Referenced by Opm::NewTranExtensiveQuantities< TypeTag >::calculateBoundaryGradients_(), and Opm::NewTranExtensiveQuantities< TypeTag >::volumeAndPhasePressureDifferences().


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