3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | List of all members
Dumux::DiamondGeometryHelper< GridView, ScvType, ScvfType > Class Template Reference

Helper class to construct SCVs and SCVFs for the diamond scheme. More...

#include <dumux/discretization/facecentered/diamond/geometryhelper.hh>

Description

template<class GridView, class ScvType, class ScvfType>
class Dumux::DiamondGeometryHelper< GridView, ScvType, ScvfType >

Helper class to construct SCVs and SCVFs for the diamond scheme.

Public Member Functions

 DiamondGeometryHelper (const typename Element::Geometry &geo)
 
ScvCornerStorage getScvCorners (unsigned int localFacetIndex) const
 Create a corner storage with the scv corners for a given face (codim-1) index. More...
 
ScvfCornerStorage getScvfCorners (unsigned int localEdgeIndex) const
 Create a corner storage with the scvf corners for a given edge (codim-2) index. More...
 
ScvfCornerStorage getBoundaryScvfCorners (unsigned int localFacetIndex) const
 Create the sub control volume face geometries on the boundary for a given face index. More...
 
GlobalPosition facetCenter (unsigned int localFacetIndex) const
 
std::array< LocalIndexType, 2 > getInsideOutsideScvForScvf (unsigned int localEdgeIndex)
 
std::size_t numInteriorScvf ()
 number of interior sub control volume faces (number of codim-2 entities) More...
 
std::size_t numScv ()
 number of sub control volumes (number of codim-1 entities) More...
 
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
 

Constructor & Destructor Documentation

◆ DiamondGeometryHelper()

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

Member Function Documentation

◆ elementGeometry()

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

◆ facetCenter()

template<class GridView , class ScvType , class ScvfType >
GlobalPosition Dumux::DiamondGeometryHelper< GridView, ScvType, ScvfType >::facetCenter ( unsigned int  localFacetIndex) const
inline

◆ getBoundaryScvfCorners()

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

Create the sub control volume face geometries on the boundary for a given face index.

◆ getInsideOutsideScvForScvf()

template<class GridView , class ScvType , class ScvfType >
std::array< LocalIndexType, 2 > Dumux::DiamondGeometryHelper< GridView, ScvType, ScvfType >::getInsideOutsideScvForScvf ( unsigned int  localEdgeIndex)
inline

◆ getScvCorners()

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

Create a corner storage with the scv corners for a given face (codim-1) index.

◆ getScvfCorners()

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

Create a corner storage with the scvf corners for a given edge (codim-2) index.

◆ normal() [1/2]

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

◆ normal() [2/2]

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

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

◆ numInteriorScvf()

template<class GridView , class ScvType , class ScvfType >
std::size_t Dumux::DiamondGeometryHelper< GridView, ScvType, ScvfType >::numInteriorScvf ( )
inline

number of interior sub control volume faces (number of codim-2 entities)

◆ numScv()

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

number of sub control volumes (number of codim-1 entities)


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