24#ifndef DUMUX_DISCRETIZATION_FACECENTERED_DIAMOND_SUBCONTROLVOLUME_HH
25#define DUMUX_DISCRETIZATION_FACECENTERED_DIAMOND_SUBCONTROLVOLUME_HH
31#include <dune/geometry/multilineargeometry.hh>
43template<
class Gr
idView>
46 using Grid =
typename GridView::Grid;
48 static const int dim = Grid::dimension;
49 static const int dimWorld = Grid::dimensionworld;
54 using Geometry = Dune::MultiLinearGeometry<Scalar, dim, dimWorld, FCDiamondMLGeometryTraits<Scalar>>;
59 static constexpr Dune::GeometryType
geometryType(Dune::GeometryType elementType)
61 if (elementType == Dune::GeometryTypes::hexahedron)
62 return Dune::GeometryTypes::pyramid;
64 return Dune::GeometryTypes::simplex(
dim);
72template<
class Gr
idView,
class T = FaceCenteredDiamondScvGeometryTraits<Gr
idView>>
75 using Scalar =
typename T::Scalar;
76 using GridIndexType =
typename T::GridIndexType;
77 using LocalIndexType =
typename T::LocalIndexType;
90 const GridIndexType eIdx,
91 const GridIndexType dofIdx)
106 {
return dofPosition_; }
115 {
return indexInElement_; }
121 {
return indexInElement_; }
127 LocalIndexType indexInElement_;
129 GridIndexType dofIdx_;
Defines the index types used for grid and local indices.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:39
std::uint_least8_t SmallLocalIndex
Definition: indextraits.hh:41
Traits for an efficient corner storage for fc diamond method.
Definition: discretization/facecentered/diamond/geometryhelper.hh:41
Default traits class to be used for the sub-control volumes.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:45
static const int dim
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:48
typename Grid::ctype Scalar
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:53
typename FCDiamondMLGeometryTraits< Scalar >::template CornerStorage< dim, dimWorld >::Type CornerStorage
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:56
typename IndexTraits< GridView >::SmallLocalIndex LocalIndexType
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:52
static constexpr Dune::GeometryType geometryType(Dune::GeometryType elementType)
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:59
typename CornerStorage::value_type GlobalPosition
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:57
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:51
typename GridView::Grid Grid
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:46
Dune::MultiLinearGeometry< Scalar, dim, dimWorld, FCDiamondMLGeometryTraits< Scalar > > Geometry
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:54
static const int dimWorld
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:49
Face centered diamond subcontrolvolume face.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:74
LocalIndexType indexInElement() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:114
GridIndexType dofIndex() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:111
const GlobalPosition & dofPosition() const
The position of the degree of freedom.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:105
GridIndexType elementIndex() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:117
LocalIndexType localDofIndex() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:120
FaceCenteredDiamondSubControlVolume()=default
const GlobalPosition & center() const
The center of the sub control volume.
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:101
Scalar volume() const
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:108
typename T::GlobalPosition GlobalPosition
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:80
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:86
T Traits
state the traits public and thus export all types
Definition: discretization/facecentered/diamond/subcontrolvolume.hh:82
Helper class constructing the dual grid finite volume geometries for the box discrete fracture model.