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

Provides the ECL flux module. More...

#include <NewTranFluxModule.hpp>

Public Member Functions

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

Static Public Member Functions

static OPM_HOST_DEVICE 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 OPM_HOST_DEVICE 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, const ModuleParams &moduleParams)
template<class Problem, class FluidState, class EvaluationContainer>
static OPM_HOST_DEVICE 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.

Protected Member Functions

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

Detailed Description

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

Provides the ECL flux module.

Member Function Documentation

◆ downstreamIndex_()

template<class TypeTag>
OPM_HOST_DEVICE 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>
OPM_HOST_DEVICE 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

◆ potentialGrad()

template<class TypeTag>
OPM_HOST_DEVICE 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>
OPM_HOST_DEVICE 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

◆ upstreamIndex_()

template<class TypeTag>
OPM_HOST_DEVICE 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.

◆ volumeFlux()

template<class TypeTag>
OPM_HOST_DEVICE 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

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