12#ifndef DUMUX_DISCRETIZATION_FACECENTERED_DIAMOND_SUBCONTROLVOLUME_HH
13#define DUMUX_DISCRETIZATION_FACECENTERED_DIAMOND_SUBCONTROLVOLUME_HH
19#include <dune/geometry/multilineargeometry.hh>
31template<
class Gr
idView>
34 using Grid =
typename GridView::Grid;
36 static const int dim = Grid::dimension;
37 static const int dimWorld = Grid::dimensionworld;
42 using Geometry = Dune::MultiLinearGeometry<Scalar, dim, dimWorld, FCDiamondMLGeometryTraits<Scalar>>;
47 static constexpr Dune::GeometryType
geometryType(Dune::GeometryType elementType)
49 if (elementType == Dune::GeometryTypes::hexahedron)
50 return Dune::GeometryTypes::pyramid;
52 return Dune::GeometryTypes::simplex(
dim);
60template<
class Gr
idView,
class T = FaceCenteredDiamondScvGeometryTraits<Gr
idView>>
63 using Scalar =
typename T::Scalar;
64 using GridIndexType =
typename T::GridIndexType;
65 using LocalIndexType =
typename T::LocalIndexType;
78 const GridIndexType eIdx,
79 const GridIndexType dofIdx)
94 {
return dofPosition_; }
103 {
return indexInElement_; }
109 {
return indexInElement_; }
115 LocalIndexType indexInElement_;
117 GridIndexType dofIdx_;
Face centered diamond subcontrolvolume face.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:62
LocalIndexType indexInElement() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:102
GridIndexType dofIndex() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:99
const GlobalPosition & dofPosition() const
The position of the degree of freedom.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:93
GridIndexType elementIndex() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:105
LocalIndexType localDofIndex() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:108
FaceCenteredDiamondSubControlVolume()=default
const GlobalPosition & center() const
The center of the sub control volume.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:89
Scalar volume() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:96
typename T::GlobalPosition GlobalPosition
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:68
FaceCenteredDiamondSubControlVolume(const Scalar &volume, const GlobalPosition &dofPosition, const GlobalPosition ¢er, const LocalIndexType indexInElement, const GridIndexType eIdx, const GridIndexType dofIdx)
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:74
T Traits
state the traits public and thus export all types
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:70
Helper class constructing the dual grid finite volume geometries for the box discrete fracture model.
Traits for an efficient corner storage for fc diamond method.
Definition: discretization/facecentered/diamond/geometryhelper.hh:29
Default traits class to be used for the sub-control volumes.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:33
static const int dim
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:36
typename Grid::ctype Scalar
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:41
typename FCDiamondMLGeometryTraits< Scalar >::template CornerStorage< dim, dimWorld >::Type CornerStorage
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:44
typename IndexTraits< GridView >::SmallLocalIndex LocalIndexType
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:40
static constexpr Dune::GeometryType geometryType(Dune::GeometryType elementType)
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:47
typename CornerStorage::value_type GlobalPosition
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:45
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:39
typename GridView::Grid Grid
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:34
Dune::MultiLinearGeometry< Scalar, dim, dimWorld, FCDiamondMLGeometryTraits< Scalar > > Geometry
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:42
static const int dimWorld
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:37
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:27
std::uint_least8_t SmallLocalIndex
Definition: indextraits.hh:29