Loading...
Searching...
No Matches
Opm::DarcyExtensiveQuantities< TypeTag > Class Template Reference

Provides the Darcy flux module. More...

`#include <darcyfluxmodule.hh>`

Inheritance diagram for Opm::DarcyExtensiveQuantities< TypeTag >:

## Public Member Functions

const DimMatrix & | intrinsicPermability () const
| Returns the intrinsic permeability tensor for a given sub-control volume face.
const EvalDimVector & | potentialGrad (unsigned phaseIdx) const
| Return the pressure potential gradient of a fluid phase at the face's integration point [Pa/m].
const EvalDimVector & | filterVelocity (unsigned phaseIdx) const
| Return the filter velocity of a fluid phase at the face's integration point [m/s].
const Evaluation & | volumeFlux (unsigned phaseIdx) const
| Return the volume flux of a fluid phase at the face's integration point .

## Protected Member Functions

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.
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.
void | calculateFluxes_ (const ElementContext &elemCtx, unsigned scvfIdx, unsigned timeIdx)
| Calculate the volumetric fluxes of all phases.
void | calculateBoundaryFluxes_ (const ElementContext &elemCtx, unsigned boundaryFaceIdx, unsigned timeIdx)
| Calculate the volumetric fluxes at a boundary face of all fluid phases.
void | calculateFilterVelocity_ (unsigned phaseIdx)

## Protected Attributes

DimMatrix | K_
std::array< Evaluation, numPhases > | mobility_
std::array< EvalDimVector, numPhases > | filterVelocity_
std::array< Evaluation, numPhases > | volumeFlux_
std::array< EvalDimVector, numPhases > | potentialGrad_
std::array< short, numPhases > | upstreamDofIdx_
std::array< short, numPhases > | downstreamDofIdx_
short | interiorDofIdx_
short | exteriorDofIdx_

## Detailed Description

template<class TypeTag>
class Opm::DarcyExtensiveQuantities< TypeTag >

Provides the Darcy flux module.

The commonly used Darcy relation looses its validity for Reynolds numbers . If one encounters flow velocities in porous media above this threshold, the Forchheimer approach can be used.

The Darcy equation is given by the following relation:

## Member Function Documentation

## calculateBoundaryFluxes_()

template<class TypeTag>

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

inline protected

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!

## calculateBoundaryGradients_()

template<class TypeTag>
template<class FluidState>

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

inline protected

Calculate the gradients at the grid boundary which are required to determine the volumetric fluxes.

The the upwind directions is also determined by method.

## calculateFluxes_()

template<class TypeTag>

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

inline protected

Calculate the volumetric fluxes of all phases.

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

## calculateGradients_()

template<class TypeTag>

void Opm::DarcyExtensiveQuantities< TypeTag >::calculateGradients_ | ( | const ElementContext & | elemCtx,
|  | unsigned | faceIdx,
|  | unsigned | timeIdx )

inline protected

Calculate the gradients which are required to determine the volumetric fluxes.

The the upwind directions is also determined by method.

## filterVelocity()

template<class TypeTag>

const EvalDimVector & Opm::DarcyExtensiveQuantities< TypeTag >::filterVelocity | ( | unsigned | phaseIdx | ) | const

inline

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

Parameters

  phaseIdx | The index of the fluid phase

## potentialGrad()

template<class TypeTag>

const EvalDimVector & Opm::DarcyExtensiveQuantities< TypeTag >::potentialGrad | ( | unsigned | phaseIdx | ) | const

inline

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

Parameters

  phaseIdx | The index of the fluid phase

## volumeFlux()

template<class TypeTag>

const Evaluation & Opm::DarcyExtensiveQuantities< TypeTag >::volumeFlux | ( | unsigned | phaseIdx | ) | const

inline

Return the volume flux of a fluid phase at the face's integration point .

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

Parameters

  phaseIdx | The index of the fluid phase

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

- opm/models/common/darcyfluxmodule.hh