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

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

Public Member Functions

 HybridPQ1BubbleGeometryHelper (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
GlobalPosition dofPosition (unsigned int localDofIdx) const
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
static std::size_t numElementDofs (Dune::GeometryType type)
 number of element dofs
static std::size_t numNonCVLocalDofs (Dune::GeometryType type)
 number of hybrid dofs
static auto numLocalDofsIntersection (Dune::GeometryType type, unsigned int iIdx)
 Number of local dofs related to an intersection with index iIdx.
static auto localDofIndexIntersection (Dune::GeometryType type, unsigned int iIdx, unsigned int ilocalDofIdx)
 Local dof index related to a localDof, with index ilocalDofIdx, on an intersection with index iIdx.
template<class DofMapper, class LocalKey>
static auto dofIndex (const DofMapper &dofMapper, const Element &element, const LocalKey &localKey)
template<class LocalKey>
static Element::Geometry::LocalCoordinate localDofPosition (Dune::GeometryType type, const LocalKey &localKey)
 local dof position
static Element::Geometry::LocalCoordinate localScvfCenter (Dune::GeometryType type, unsigned int localScvfIdx)
 local scvf center
static Element::Geometry::LocalCoordinate localBoundaryScvfCenter (Dune::GeometryType type, unsigned int localFacetIndex, unsigned int indexInFace)
 local boundary scvf center

Constructor & Destructor Documentation

◆ HybridPQ1BubbleGeometryHelper()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::HybridPQ1BubbleGeometryHelper ( const typename Element::Geometry & geometry)
inline

Member Function Documentation

◆ dofIndex()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
template<class DofMapper, class LocalKey>
auto Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::dofIndex ( const DofMapper & dofMapper,
const Element & element,
const LocalKey & localKey )
inlinestatic

◆ dofPosition()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
GlobalPosition Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::dofPosition ( unsigned int localDofIdx) const
inline

◆ elementGeometry()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
const Element::Geometry & Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::elementGeometry ( ) const
inline

◆ getBoundaryScvfCorners()

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

◆ getBoundaryScvfGeometryType()

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

◆ getInteriorScvfGeometryType()

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

◆ getScvCorners() [1/2]

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

◆ getScvCorners() [2/2]

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
ScvCornerStorage Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::getScvCorners ( unsigned int localScvIdx) const
inline

◆ getScvfCorners() [1/2]

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

◆ getScvfCorners() [2/2]

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
ScvfCornerStorage Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::getScvfCorners ( unsigned int localScvfIdx) const
inline

◆ getScvGeometryType()

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

◆ getScvPairForBoundaryScvf()

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

◆ getScvPairForScvf()

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

◆ isOverlappingBoundaryScvf()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
bool Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::isOverlappingBoundaryScvf ( unsigned int localFacetIndex) const
inline

◆ isOverlappingScv()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
bool Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::isOverlappingScv ( unsigned int localScvIndex) const
inline

◆ isOverlappingScvf()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
bool Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::isOverlappingScvf ( unsigned int localScvfIndex) const
inline

◆ localBoundaryScvfCenter()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
Element::Geometry::LocalCoordinate Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::localBoundaryScvfCenter ( Dune::GeometryType type,
unsigned int localFacetIndex,
unsigned int indexInFace )
inlinestatic

◆ localDofIndexIntersection()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
auto Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::localDofIndexIntersection ( Dune::GeometryType type,
unsigned int iIdx,
unsigned int ilocalDofIdx )
inlinestatic

◆ localDofPosition()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
template<class LocalKey>
Element::Geometry::LocalCoordinate Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::localDofPosition ( Dune::GeometryType type,
const LocalKey & localKey )
inlinestatic

◆ localScvfCenter()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
Element::Geometry::LocalCoordinate Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::localScvfCenter ( Dune::GeometryType type,
unsigned int localScvfIdx )
inlinestatic

◆ normal() [1/2]

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
template<int d = dimWorld, std::enable_if_t<(d==2), int > = 0>
GlobalPosition Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::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, std::size_t numCubeBubbleDofs>
template<int d = dimWorld, std::enable_if_t<(d==3), int > = 0>
GlobalPosition Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::normal ( const ScvfCornerStorage & p,
const std::array< LocalIndexType, 2 > & scvPair )
inline

◆ numBoundaryScvf()

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

◆ numElementDofs()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
std::size_t Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::numElementDofs ( Dune::GeometryType type)
inlinestatic

◆ numInteriorScvf()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
auto Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::numInteriorScvf ( Dune::GeometryType type)
inlinestatic

◆ numLocalDofsIntersection()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
auto Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::numLocalDofsIntersection ( Dune::GeometryType type,
unsigned int iIdx )
inlinestatic

◆ numNonCVLocalDofs()

template<class GridView, class ScvType, class ScvfType, std::size_t numCubeBubbleDofs>
std::size_t Dumux::HybridPQ1BubbleGeometryHelper< GridView, ScvType, ScvfType, numCubeBubbleDofs >::numNonCVLocalDofs ( Dune::GeometryType type)
inlinestatic

◆ numScv()

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

◆ scvVolume()

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

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