A class to create sub control volume and sub control volume face geometries per element.
More...
template<class GridView, class ScvType, class ScvfType>
class Dumux::BoxGeometryHelper< GridView, 2, ScvType, ScvfType >
A class to create sub control volume and sub control volume face geometries per element.
|
| 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 corners of sub control volume faces. More...
|
|
ScvfCornerStorage | getBoundaryScvfCorners (unsigned int localFacetIndex, unsigned int indexInFacet) const |
| Create the sub control volume face geometries on the boundary. More...
|
|
ScvfCornerStorage | getBoundaryScvfCorners (const Intersection &is, const typename Intersection::Geometry &isGeometry, unsigned int indexInIntersection) const |
| Create the sub control volume face geometries on the boundary. More...
|
|
template<int w = dimWorld> |
std::enable_if< w==3, GlobalPosition >::type | normal (const ScvfCornerStorage &scvfCorners, const std::vector< unsigned int > &scvIndices) const |
| get scvf normal vector for dim == 2, dimworld == 3 More...
|
|
template<int w = dimWorld> |
std::enable_if< w==2, GlobalPosition >::type | normal (const ScvfCornerStorage &scvfCorners, const std::vector< unsigned int > &scvIndices) const |
| get scvf normal vector for dim == 2, dimworld == 2 More...
|
|
template<int w = dimWorld> |
std::enable_if< w==3, Scalar >::type | scvVolume (const ScvCornerStorage &p) const |
| get scv volume for dim == 2, dimworld == 3 More...
|
|
template<int w = dimWorld> |
std::enable_if< w==2, Scalar >::type | scvVolume (const ScvCornerStorage &p) const |
| get scv volume for dim == 2, dimworld == 2 More...
|
|
Scalar | scvfArea (const ScvfCornerStorage &p) const |
| get scvf area More...
|
|
std::size_t | numInteriorScvf () const |
| number of sub control volume faces (number of edges) More...
|
|
std::size_t | numScv () const |
| number of sub control volumes (number of vertices) More...
|
|
const Element::Geometry & | elementGeometry () const |
| the wrapped element geometry More...
|
|
template<class GridView , class ScvType , class ScvfType >
template<int w = dimWorld>
std::enable_if< w==3, GlobalPosition >::type Dumux::BoxGeometryHelper< GridView, 2, ScvType, ScvfType >::normal |
( |
const ScvfCornerStorage & |
scvfCorners, |
|
|
const std::vector< unsigned int > & |
scvIndices |
|
) |
| const |
|
inline |
get scvf normal vector for dim == 2, dimworld == 3
ensure the right direction of the normal
template<class GridView , class ScvType , class ScvfType >
template<int w = dimWorld>
std::enable_if< w==2, GlobalPosition >::type Dumux::BoxGeometryHelper< GridView, 2, ScvType, ScvfType >::normal |
( |
const ScvfCornerStorage & |
scvfCorners, |
|
|
const std::vector< unsigned int > & |
scvIndices |
|
) |
| const |
|
inline |
get scvf normal vector for dim == 2, dimworld == 2
obtain normal vector by 90° counter-clockwise rotation of t
ensure the right direction of the normal
template<class GridView , class ScvType , class ScvfType >
template<int w = dimWorld>
std::enable_if< w==2, Scalar >::type Dumux::BoxGeometryHelper< GridView, 2, ScvType, ScvfType >::scvVolume |
( |
const ScvCornerStorage & |
p | ) |
const |
|
inline |
get scv volume for dim == 2, dimworld == 2
make sure we are using positive volumes Cross product of diagonals might be negative, depending on element orientation