12#ifndef DUMUX_DISCRETIZATION_BOUNDARY_FACE_HH
13#define DUMUX_DISCRETIZATION_BOUNDARY_FACE_HH
15#include <dune/common/fvector.hh>
16#include <dune/common/reservedvector.hh>
17#include <dune/geometry/multilineargeometry.hh>
30 template<
int mydim,
int cdim >
33 using Type = Dune::ReservedVector< Dune::FieldVector< ct, cdim >, (1<<mydim)>;
43template<
class Gr
idView>
46 using Grid =
typename GridView::Grid;
47 static constexpr int dim = Grid::dimension;
48 static constexpr int dimWorld = Grid::dimensionworld;
70 using GridIndexType =
typename T::GridIndexType;
71 using LocalIndexType =
typename T::LocalIndexType;
72 using Scalar =
typename T::Scalar;
73 using CornerStorage =
typename T::CornerStorage;
74 using Geometry =
typename T::Geometry;
75 using BoundaryFlag =
typename T::BoundaryFlag;
90 const LocalIndexType localIdx,
91 const LocalIndexType intersectionIdx,
92 const BoundaryFlag& bFlag)
97 , intersectionIdx_(intersectionIdx)
99 , boundaryFlag_(bFlag)
111 {
return boundary_; }
115 {
return unitOuterNormal_; }
119 {
return localIdx_; }
123 {
return intersectionIdx_; }
127 {
return boundaryFlag_.get(); }
133 LocalIndexType localIdx_;
134 LocalIndexType intersectionIdx_;
Boundary flag to store e.g. in sub control volume faces.
Boundary flag to store e.g. in sub control volume faces.
Definition: boundaryflag.hh:58
std::size_t value_type
Definition: boundaryflag.hh:28
Class for a boundary face related to primary grid elements (dune intersections)
Definition: boundaryface.hh:69
LocalIndexType intersectionIndex() const
The index of the intersection this face corresponds to (intersection.indexInInside())
Definition: boundaryface.hh:122
T Traits
state the traits public and thus export all types
Definition: boundaryface.hh:81
Scalar area() const
The area of the face.
Definition: boundaryface.hh:107
LocalIndexType index() const
The local index of this face.
Definition: boundaryface.hh:118
BoundaryFace()=default
The default constructor.
BoundaryFlag::value_type boundaryFlag() const
Return the boundary flag.
Definition: boundaryface.hh:126
bool boundary() const
Definition: boundaryface.hh:110
BoundaryFace(const GlobalPosition ¢er, const Scalar area, const GlobalPosition &normal, const LocalIndexType localIdx, const LocalIndexType intersectionIdx, const BoundaryFlag &bFlag)
Constructor for boundary faces.
Definition: boundaryface.hh:87
const GlobalPosition unitOuterNormal() const
The unit outer normal.
Definition: boundaryface.hh:114
typename T::GlobalPosition GlobalPosition
export the type used for global coordinates
Definition: boundaryface.hh:79
const GlobalPosition & center() const
The center of the face.
Definition: boundaryface.hh:103
Vector normal(const Vector &v)
Create a vector normal to the given one (v is expected to be non-zero)
Definition: normal.hh:26
Definition: assembly/assembler.hh:44
Definition: boundaryface.hh:32
Dune::ReservedVector< Dune::FieldVector< ct, cdim >,(1<< mydim)> Type
Definition: boundaryface.hh:33
Traits for an efficient corner storage.
Definition: boundaryface.hh:27
Default traits class to be used for the boundary faces.
Definition: boundaryface.hh:45
static constexpr int dim
Definition: boundaryface.hh:47
typename IndexTraits< GridView >::LocalIndex LocalIndexType
Definition: boundaryface.hh:50
Dune::MultiLinearGeometry< Scalar, dim-1, dimWorld, GeometryTraits > Geometry
Definition: boundaryface.hh:53
static constexpr int dimWorld
Definition: boundaryface.hh:48
typename Grid::ctype Scalar
Definition: boundaryface.hh:51
typename Geometry::GlobalCoordinate GlobalPosition
Definition: boundaryface.hh:55
typename GridView::Grid Grid
Definition: boundaryface.hh:46
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: boundaryface.hh:49
typename GeometryTraits::template CornerStorage< dim-1, dimWorld >::Type CornerStorage
Definition: boundaryface.hh:54
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:27
unsigned int LocalIndex
Definition: indextraits.hh:28