A class to create sub control volume and sub control volume face geometries per element. More...
#include <dumux/porousmediumflow/boxdfm/geometryhelper.hh>
A class to create sub control volume and sub control volume face geometries per element.
Public Member Functions | |
ScvfCornerStorage | getFractureScvfCorners (const Intersection &is, const typename Intersection::Geometry &isGeom, unsigned int idxOnIntersection=0) const |
ScvfType::Traits::GlobalPosition | fractureNormal (const ScvfCornerStorage &p, const Intersection &is, unsigned int edgeIndexInIntersection=0) const |
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 (const Intersection &is, const typename Intersection::Geometry &isGeom, 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... | |
Protected Attributes | |
const Element::Geometry & | elementGeometry_ |
Reference to the element geometry. More... | |
std::size_t | corners_ |
std::array< GlobalPosition, maxPoints > | p_ |
|
inline |
get fracture scvf normal vector (simply the unit vector of the edge) The third argument is for compatibility reasons with the 3d case!
|
inlineinherited |
Create the sub control volume face geometries on the boundary.
|
inline |
Get the corners of the (d-1)-dimensional fracture scvf The second argument is for compatibility reasons with the 3d case!
|
inlineinherited |
Create a vector with the scv corners.
Only build the maps the first time we encounter a triangle
< vertex offset in point vector p
< face offset in point vector p
Only build the maps the first time we encounter a quadrilateral
< vertex offset in point vector p
< face offset in point vector p
|
inlineinherited |
Create a vector with the corners of sub control volume faces.
Only build the maps the first time we encounter a triangle
< face offset in point vector p
Only build the maps the first time we encounter a quadrilateral
< face offset in point vector p
|
inlineinherited |
get scvf normal vector for dim == 2, dimworld == 3
ensure the right direction of the normal
|
inlineinherited |
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
|
inlineinherited |
get scvf area
|
inlineinherited |
get scv volume for dim == 2, dimworld == 3
|
inlineinherited |
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
|
protectedinherited |
|
protectedinherited |
Reference to the element geometry.
|
protectedinherited |