version 3.11-dev
Loading...
Searching...
No Matches
Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType > Class Template Reference

A class to create sub control volume and sub control volume face geometries per element.

#include <dumux/discretization/pq2/geometryhelper.hh>

Public Types

using DofHelper = Dumux::PQ2LagrangeDofHelper<GridView>

Public Member Functions

 HybridPQ2GeometryHelper (const typename Element::Geometry &geometry)
ScvCornerStorage getScvCorners (unsigned int localScvIdx) const
 Create a vector with the scv corners.
Dune::GeometryType getScvGeometryType (unsigned int localScvIdx) const
ScvfCornerStorage getScvfCorners (unsigned int localScvfIdx) const
 Create a vector with the corners of sub control volume faces.
Dune::GeometryType getInteriorScvfGeometryType (unsigned int localScvfIdx) const
ScvfCornerStorage getBoundaryScvfCorners (unsigned int localFacetIndex, unsigned int indexInFacet) const
 Create the sub control volume face geometries on the boundary.
Dune::GeometryType getBoundaryScvfGeometryType (unsigned int localScvfIdx) const
template<int d = dimWorld, std::enable_if_t<(d==3), int > = 0>
GlobalPosition normal (const ScvfCornerStorage &p, const std::array< LocalIndexType, 2 > &scvPair)
template<int d = dimWorld, std::enable_if_t<(d==2), int > = 0>
GlobalPosition normal (const ScvfCornerStorage &p, const std::array< LocalIndexType, 2 > &scvPair)
const Element::Geometry & elementGeometry () const
 the wrapped element geometry
std::size_t numScv () const
 number of sub control volumes (number of codim-1 entities)
Scalar scvVolume (unsigned int localScvIdx, const ScvCornerStorage &p) const
 get scv volume
std::array< LocalIndexType, 2 > getScvPairForScvf (unsigned int localScvfIndex) const
std::array< LocalIndexType, 2 > getScvPairForBoundaryScvf (unsigned int localFacetIndex, unsigned int localIsScvfIndex) const
bool isOverlappingScvf (unsigned int localScvfIndex) const
bool isOverlappingBoundaryScvf (unsigned int localFacetIndex) const
bool isOverlappingScv (unsigned int localScvIndex) const

Static Public Member Functions

template<class Transformation>
static ScvCornerStorage getScvCorners (Dune::GeometryType type, Transformation &&trans, unsigned int localScvIdx)
 Create a vector with the scv corners.
template<class Transformation>
static ScvfCornerStorage getScvfCorners (Dune::GeometryType type, Transformation &&trans, unsigned int localScvfIdx)
 Create a vector with the corners of sub control volume faces.
static auto numInteriorScvf (Dune::GeometryType type)
 number of interior sub control volume faces
static auto numBoundaryScvf (Dune::GeometryType type, unsigned int localFacetIndex)
 number of boundary sub control volume faces for face localFacetIndex

Member Typedef Documentation

◆ DofHelper

template<class GridView, class ScvType, class ScvfType>
using Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::DofHelper = Dumux::PQ2LagrangeDofHelper<GridView>

Constructor & Destructor Documentation

◆ HybridPQ2GeometryHelper()

template<class GridView, class ScvType, class ScvfType>
Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::HybridPQ2GeometryHelper ( const typename Element::Geometry & geometry)
inline

Member Function Documentation

◆ elementGeometry()

template<class GridView, class ScvType, class ScvfType>
const Element::Geometry & Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::elementGeometry ( ) const
inline

◆ getBoundaryScvfCorners()

template<class GridView, class ScvType, class ScvfType>
ScvfCornerStorage Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getBoundaryScvfCorners ( unsigned int localFacetIndex,
unsigned int indexInFacet ) const
inline

◆ getBoundaryScvfGeometryType()

template<class GridView, class ScvType, class ScvfType>
Dune::GeometryType Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getBoundaryScvfGeometryType ( unsigned int localScvfIdx) const
inline

◆ getInteriorScvfGeometryType()

template<class GridView, class ScvType, class ScvfType>
Dune::GeometryType Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getInteriorScvfGeometryType ( unsigned int localScvfIdx) const
inline

◆ getScvCorners() [1/2]

template<class GridView, class ScvType, class ScvfType>
template<class Transformation>
ScvCornerStorage Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvCorners ( Dune::GeometryType type,
Transformation && trans,
unsigned int localScvIdx )
inlinestatic

◆ getScvCorners() [2/2]

template<class GridView, class ScvType, class ScvfType>
ScvCornerStorage Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvCorners ( unsigned int localScvIdx) const
inline

◆ getScvfCorners() [1/2]

template<class GridView, class ScvType, class ScvfType>
template<class Transformation>
ScvfCornerStorage Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvfCorners ( Dune::GeometryType type,
Transformation && trans,
unsigned int localScvfIdx )
inlinestatic

◆ getScvfCorners() [2/2]

template<class GridView, class ScvType, class ScvfType>
ScvfCornerStorage Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvfCorners ( unsigned int localScvfIdx) const
inline

◆ getScvGeometryType()

template<class GridView, class ScvType, class ScvfType>
Dune::GeometryType Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvGeometryType ( unsigned int localScvIdx) const
inline

◆ getScvPairForBoundaryScvf()

template<class GridView, class ScvType, class ScvfType>
std::array< LocalIndexType, 2 > Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvPairForBoundaryScvf ( unsigned int localFacetIndex,
unsigned int localIsScvfIndex ) const
inline

◆ getScvPairForScvf()

template<class GridView, class ScvType, class ScvfType>
std::array< LocalIndexType, 2 > Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::getScvPairForScvf ( unsigned int localScvfIndex) const
inline

◆ isOverlappingBoundaryScvf()

template<class GridView, class ScvType, class ScvfType>
bool Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::isOverlappingBoundaryScvf ( unsigned int localFacetIndex) const
inline

◆ isOverlappingScv()

template<class GridView, class ScvType, class ScvfType>
bool Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::isOverlappingScv ( unsigned int localScvIndex) const
inline

◆ isOverlappingScvf()

template<class GridView, class ScvType, class ScvfType>
bool Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::isOverlappingScvf ( unsigned int localScvfIndex) const
inline

◆ normal() [1/2]

template<class GridView, class ScvType, class ScvfType>
template<int d = dimWorld, std::enable_if_t<(d==2), int > = 0>
GlobalPosition Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::normal ( const ScvfCornerStorage & p,
const std::array< LocalIndexType, 2 > & scvPair )
inline

obtain normal vector by 90° counter-clockwise rotation of t

◆ normal() [2/2]

template<class GridView, class ScvType, class ScvfType>
template<int d = dimWorld, std::enable_if_t<(d==3), int > = 0>
GlobalPosition Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::normal ( const ScvfCornerStorage & p,
const std::array< LocalIndexType, 2 > & scvPair )
inline

◆ numBoundaryScvf()

template<class GridView, class ScvType, class ScvfType>
auto Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::numBoundaryScvf ( Dune::GeometryType type,
unsigned int localFacetIndex )
inlinestatic

◆ numInteriorScvf()

template<class GridView, class ScvType, class ScvfType>
auto Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::numInteriorScvf ( Dune::GeometryType type)
inlinestatic

◆ numScv()

template<class GridView, class ScvType, class ScvfType>
std::size_t Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::numScv ( ) const
inline

◆ scvVolume()

template<class GridView, class ScvType, class ScvfType>
Scalar Dumux::HybridPQ2GeometryHelper< GridView, ScvType, ScvfType >::scvVolume ( unsigned int localScvIdx,
const ScvCornerStorage & p ) const
inline

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