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

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

#include <dumux/discretization/box/boxgeometryhelper.hh>

Inheritance diagram for Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >:

Description

template<class GridView, class ScvType, class ScvfType>
class Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >

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

Public Member Functions

 BoxGeometryHelper (const typename Element::Geometry &geometry)
 
ScvCornerStorage getScvCorners (unsigned int localScvIdx) const
 Create a vector with the scv corners. More...
 
ScvfCornerStorage getScvfCorners (unsigned int localScvfIdx) const
 Create a vector with the scvf corners. More...
 
ScvfCornerStorage getBoundaryScvfCorners (const Intersection &is, const typename Intersection::Geometry &geometry, unsigned int indexInIntersection) const
 Create the sub control volume face geometries on the boundary. More...
 
GlobalPosition normal (const ScvfCornerStorage &p, const std::vector< unsigned int > &scvIndices) const
 get scvf normal vector More...
 
Scalar scvVolume (const ScvCornerStorage &p) const
 get scv volume More...
 
Scalar scvfArea (const ScvfCornerStorage &p) const
 get scvf area More...
 

Protected Attributes

const Element::Geometry & elementGeometry_
 Reference to the element geometry. More...
 
std::size_t corners_
 
std::array< GlobalPosition, maxPoints > p_
 

Constructor & Destructor Documentation

◆ BoxGeometryHelper()

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

Member Function Documentation

◆ getBoundaryScvfCorners()

template<class GridView , class ScvType , class ScvfType >
ScvfCornerStorage Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::getBoundaryScvfCorners ( const Intersection &  is,
const typename Intersection::Geometry &  geometry,
unsigned int  indexInIntersection 
) const
inline

Create the sub control volume face geometries on the boundary.

Only build the maps the first time we encounter a triangle

< vertex offset in point vector pi

< edge offset in point vector pi

Only build the maps the first time we encounter a quadrilateral

< vertex offset in point vector pi

< edge offset in point vector pi

◆ getScvCorners()

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

Create a vector with the scv corners.

Only build the maps the first time we encounter a tetrahedron

< vertex offset in point vector p

< edge offset in point vector p

< face offset in point vector p

Only build the maps the first time we encounter a prism

< vertex offset in point vector p

< edge offset in point vector p

< face offset in point vector p

Only build the maps the first time we encounter a hexahedron

< vertex offset in point vector p

< edge offset in point vector p

< face offset in point vector p

◆ getScvfCorners()

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

Create a vector with the scvf corners.

Only build the maps the first time we encounter a tetrahedron

< edge offset in point vector p

< face offset in point vector p

Only build the maps the first time we encounter a prism

< edge offset in point vector p

< face offset in point vector p

Only build the maps the first time we encounter a hexahedron

< edge offset in point vector p

< face offset in point vector p

◆ normal()

template<class GridView , class ScvType , class ScvfType >
GlobalPosition Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::normal ( const ScvfCornerStorage &  p,
const std::vector< unsigned int > &  scvIndices 
) const
inline

get scvf normal vector

◆ scvfArea()

template<class GridView , class ScvType , class ScvfType >
Scalar Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::scvfArea ( const ScvfCornerStorage &  p) const
inline

get scvf area

◆ scvVolume()

template<class GridView , class ScvType , class ScvfType >
Scalar Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::scvVolume ( const ScvCornerStorage &  p) const
inline

get scv volume

Member Data Documentation

◆ corners_

template<class GridView , class ScvType , class ScvfType >
std::size_t Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::corners_
protected

◆ elementGeometry_

template<class GridView , class ScvType , class ScvfType >
const Element::Geometry& Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::elementGeometry_
protected

Reference to the element geometry.

◆ p_

template<class GridView , class ScvType , class ScvfType >
std::array<GlobalPosition, maxPoints> Dumux::BoxGeometryHelper< GridView, 3, ScvType, ScvfType >::p_
protected

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