Specialization of the CCTpfaForchheimersLaw grids where dim=dimWorld.
More...
#include <dumux/flux/cctpfa/forchheimerslaw.hh>
template<class ScalarType, class GridGeometry, class
ForchheimerVelocity>
class Dumux::CCTpfaForchheimersLaw< ScalarType, GridGeometry, ForchheimerVelocity, false >
Specialization of the CCTpfaForchheimersLaw grids where dim=dimWorld.
|
template<class Problem , class ElementVolumeVariables , class ElementFluxVarsCache > |
static Scalar | flux (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, int phaseIdx, const ElementFluxVarsCache &elemFluxVarsCache) |
| Compute the advective flux of a phase across the given sub-control volume face using the Forchheimer equation. More...
|
|
template<class Problem , class ElementVolumeVariables > |
static Scalar | calculateTransmissibility (const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf) |
|
template<class Problem , class ElementVolumeVariables > |
static DimWorldMatrix | calculateHarmonicMeanSqrtPermeability (const Problem &problem, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf) |
| Returns the harmonic mean of \(\sqrt{K_0}\) and \(\sqrt{K_1}\). More...
|
|
◆ Cache
state the type for the corresponding cache
◆ DiscretizationMethod
◆ Scalar
state the scalar type of the law
◆ calculateHarmonicMeanSqrtPermeability()
template<class Problem , class ElementVolumeVariables >
static DimWorldMatrix Dumux::CCTpfaForchheimersLaw< ScalarType, GridGeometry, ForchheimerVelocity, false >::calculateHarmonicMeanSqrtPermeability |
( |
const Problem & |
problem, |
|
|
const ElementVolumeVariables & |
elemVolVars, |
|
|
const SubControlVolumeFace & |
scvf |
|
) |
| |
|
inlinestatic |
Returns the harmonic mean of \(\sqrt{K_0}\) and \(\sqrt{K_1}\).
This is a specialization for scalar-valued permeabilities which returns a tensor with identical diagonal entries.
◆ calculateTransmissibility()
template<class Problem , class ElementVolumeVariables >
static Scalar Dumux::CCTpfaForchheimersLaw< ScalarType, GridGeometry, ForchheimerVelocity, false >::calculateTransmissibility |
( |
const Problem & |
problem, |
|
|
const Element & |
element, |
|
|
const FVElementGeometry & |
fvGeometry, |
|
|
const ElementVolumeVariables & |
elemVolVars, |
|
|
const SubControlVolumeFace & |
scvf |
|
) |
| |
|
inlinestatic |
The flux variables cache has to be bound to an element prior to flux calculations During the binding, the transmissibility will be computed and stored using the method below.
◆ flux()
template<class Problem , class ElementVolumeVariables , class ElementFluxVarsCache >
static Scalar Dumux::CCTpfaForchheimersLaw< ScalarType, GridGeometry, ForchheimerVelocity, false >::flux |
( |
const Problem & |
problem, |
|
|
const Element & |
element, |
|
|
const FVElementGeometry & |
fvGeometry, |
|
|
const ElementVolumeVariables & |
elemVolVars, |
|
|
const SubControlVolumeFace & |
scvf, |
|
|
int |
phaseIdx, |
|
|
const ElementFluxVarsCache & |
elemFluxVarsCache |
|
) |
| |
|
inlinestatic |
Compute the advective flux of a phase across the given sub-control volume face using the Forchheimer equation.
The flux is given in N*m, and can be converted into a volume flux (m^3/s) or mass flux (kg/s) by applying an upwind scheme for the mobility or the product of density and mobility, respectively.
◆ discMethod
state the discretization method this implementation belongs to
The documentation for this class was generated from the following file: