3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Static Public Member Functions | List of all members
Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 > Class Template Reference

Dimension-specific mpfa helper class for dim == 2 & dimWorld == 3. Reuses some functionality of the specialization for dim = dimWorld = 2. More...

#include <dumux/discretization/cellcentered/mpfa/helper.hh>

Inheritance diagram for Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 >:

Description

template<class GridGeometry>
class Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 >

Dimension-specific mpfa helper class for dim == 2 & dimWorld == 3. Reuses some functionality of the specialization for dim = dimWorld = 2.

Static Public Member Functions

template<class ScvBasis >
static ScvBasis calculateInnerNormals (const ScvBasis &scvBasis)
 Calculates the inner normal vectors to a given scv basis. More...
 
template<class ScvBasis >
static CoordScalar calculateDetX (const ScvBasis &scvBasis)
 Calculates the determinant of an scv basis. For dim = 2 < dimWorld = 3 this is actually not the determinant of the basis but it is simply the area of the parallelofram spanned by the basis vectors. More...
 
template<class ScvBasis >
static constexpr bool isRightHandSystem (const ScvBasis &scvBasis)
 Checks whether or not a given scv basis forms a right hand system. Note that for dim = 2 < dimWorld = 3 the bases forming a right hand system are not unique. More...
 
static std::size_t getGlobalNumScvf (const GridView &gridView)
 Returns the global number of scvfs in the grid. Assumes the grid to be made up of only basic geometry types. Overlad this function if you want to use different geometry types. More...
 
template<class ElementGeometry , class ReferenceElement >
static ScvfPositionsOnIntersection computeScvfCornersOnIntersection (const ElementGeometry &eg, const ReferenceElement &refElement, unsigned int indexInElement, unsigned int numCorners)
 Returns a vector containing the positions on a given intersection that are relevant for scvf corner computation. Ordering -> 1: facet center, 2: the two facet corners. More...
 
static ScvfCornerVector getScvfCorners (const ScvfPositionsOnIntersection &p, unsigned int numIntersectionCorners, unsigned int cornerIdx)
 Returns the corners of the sub control volume face constructed in a corner (vertex) of an intersection. More...
 
static CoordScalar computeScvfArea (const ScvfCornerVector &scvfCorners)
 Calculates the area of an scvf. More...
 
static std::size_t getNumLocalScvfs (const Dune::GeometryType &gt)
 Calculates the number of scvfs in a given element geometry type. More...
 

Member Function Documentation

◆ calculateDetX()

template<class GridGeometry >
template<class ScvBasis >
static CoordScalar Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 >::calculateDetX ( const ScvBasis &  scvBasis)
inlinestatic

Calculates the determinant of an scv basis. For dim = 2 < dimWorld = 3 this is actually not the determinant of the basis but it is simply the area of the parallelofram spanned by the basis vectors.

Parameters
scvBasisThe basis of an scv

◆ calculateInnerNormals()

template<class GridGeometry >
template<class ScvBasis >
static ScvBasis Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 >::calculateInnerNormals ( const ScvBasis &  scvBasis)
inlinestatic

Calculates the inner normal vectors to a given scv basis.

Parameters
scvBasisThe basis of an scv

◆ computeScvfArea()

template<class GridGeometry >
static CoordScalar Dumux::MpfaDimensionHelper< GridGeometry, 2, 2 >::computeScvfArea ( const ScvfCornerVector &  scvfCorners)
inlinestaticinherited

Calculates the area of an scvf.

Parameters
scvfCornersContainer with the corners of the scvf

◆ computeScvfCornersOnIntersection()

template<class GridGeometry >
template<class ElementGeometry , class ReferenceElement >
static ScvfPositionsOnIntersection Dumux::MpfaDimensionHelper< GridGeometry, 2, 2 >::computeScvfCornersOnIntersection ( const ElementGeometry &  eg,
const ReferenceElement &  refElement,
unsigned int  indexInElement,
unsigned int  numCorners 
)
inlinestaticinherited

Returns a vector containing the positions on a given intersection that are relevant for scvf corner computation. Ordering -> 1: facet center, 2: the two facet corners.

Parameters
egGeometry of the element the facet is embedded in
refElementReference element of the element the facet is embedded in
indexInElementThe local index of the facet in the element
numCornersThe number of corners on the facet

◆ getGlobalNumScvf()

template<class GridGeometry >
static std::size_t Dumux::MpfaDimensionHelper< GridGeometry, 2, 2 >::getGlobalNumScvf ( const GridView &  gridView)
inlinestaticinherited

Returns the global number of scvfs in the grid. Assumes the grid to be made up of only basic geometry types. Overlad this function if you want to use different geometry types.

Parameters
gridViewThe grid view to be checked

◆ getNumLocalScvfs()

template<class GridGeometry >
static std::size_t Dumux::MpfaDimensionHelper< GridGeometry, 2, 2 >::getNumLocalScvfs ( const Dune::GeometryType &  gt)
inlinestaticinherited

Calculates the number of scvfs in a given element geometry type.

Parameters
gtThe element geometry type

◆ getScvfCorners()

template<class GridGeometry >
static ScvfCornerVector Dumux::MpfaDimensionHelper< GridGeometry, 2, 2 >::getScvfCorners ( const ScvfPositionsOnIntersection &  p,
unsigned int  numIntersectionCorners,
unsigned int  cornerIdx 
)
inlinestaticinherited

Returns the corners of the sub control volume face constructed in a corner (vertex) of an intersection.

Parameters
pContainer with all scvf corners of the intersection
numIntersectionCornersNumber of corners of the intersection (required in 3d)
cornerIdxLocal vertex index on the intersection

◆ isRightHandSystem()

template<class GridGeometry >
template<class ScvBasis >
static constexpr bool Dumux::MpfaDimensionHelper< GridGeometry, 2, 3 >::isRightHandSystem ( const ScvBasis &  scvBasis)
inlinestaticconstexpr

Checks whether or not a given scv basis forms a right hand system. Note that for dim = 2 < dimWorld = 3 the bases forming a right hand system are not unique.

Parameters
scvBasisThe basis of an scv

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