12#ifndef DUMUX_DISCRETIZATION_PQ1BUBBLE_SUBCONTROLVOLUME_HH
13#define DUMUX_DISCRETIZATION_PQ1BUBBLE_SUBCONTROLVOLUME_HH
15#include <dune/geometry/type.hh>
16#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;
43 using Geometry = Dune::MultiLinearGeometry<Scalar, dim, dimWorld, GeometryTraits>;
54template<
class Gr
idView,
class T = PQ1BubbleDefaultScvGeometryTraits<Gr
idView>>
57 using GlobalPosition =
typename T::GlobalPosition;
58 using Scalar =
typename T::Scalar;
59 using GridIndexType =
typename T::GridIndexType;
60 using LocalIndexType =
typename T::LocalIndexType;
70 const GlobalPosition&
center,
72 const GridIndexType eIdx,
73 const GridIndexType dofIdx,
74 bool overlapping =
false)
82 , overlapping_(overlapping)
91 {
return dofPosition_; }
98 {
return overlapping_; }
104 {
return indexInElement_; }
110 {
return indexInElement_; }
113 GlobalPosition center_;
114 GlobalPosition dofPosition_;
116 LocalIndexType indexInElement_;
118 GridIndexType dofIdx_;
the sub control volume for the pq1bubble scheme
Definition: discretization/pq1bubble/subcontrolvolume.hh:56
PQ1BubbleSubControlVolume(const Scalar &volume, const GlobalPosition &dofPosition, const GlobalPosition ¢er, const LocalIndexType indexInElement, const GridIndexType eIdx, const GridIndexType dofIdx, bool overlapping=false)
Definition: discretization/pq1bubble/subcontrolvolume.hh:68
const GlobalPosition & center() const
The center of the sub control volume.
Definition: discretization/pq1bubble/subcontrolvolume.hh:86
GridIndexType dofIndex() const
Definition: discretization/pq1bubble/subcontrolvolume.hh:100
Scalar volume() const
Definition: discretization/pq1bubble/subcontrolvolume.hh:93
const GlobalPosition & dofPosition() const
The position of the degree of freedom.
Definition: discretization/pq1bubble/subcontrolvolume.hh:90
LocalIndexType localDofIndex() const
Definition: discretization/pq1bubble/subcontrolvolume.hh:109
PQ1BubbleSubControlVolume()=default
bool isOverlapping() const
returns true if the sub control volume is overlapping with another scv
Definition: discretization/pq1bubble/subcontrolvolume.hh:97
T Traits
state the traits public and thus export all types
Definition: discretization/pq1bubble/subcontrolvolume.hh:64
LocalIndexType indexInElement() const
Definition: discretization/pq1bubble/subcontrolvolume.hh:103
GridIndexType elementIndex() const
Definition: discretization/pq1bubble/subcontrolvolume.hh:106
Helper class constructing the dual grid finite volume geometries for the cvfe discretizazion method.
Define some often used mathematical functions.
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:27
unsigned int LocalIndex
Definition: indextraits.hh:28
Default traits class to be used for the sub-control volumes for the pq1bubble scheme.
Definition: discretization/pq1bubble/subcontrolvolume.hh:33
typename IndexTraits< GridView >::GridIndex GridIndexType
Definition: discretization/pq1bubble/subcontrolvolume.hh:39
static const int dimWorld
Definition: discretization/pq1bubble/subcontrolvolume.hh:37
typename CornerStorage::value_type GlobalPosition
Definition: discretization/pq1bubble/subcontrolvolume.hh:45
static const int dim
Definition: discretization/pq1bubble/subcontrolvolume.hh:36
typename Grid::ctype Scalar
Definition: discretization/pq1bubble/subcontrolvolume.hh:41
typename GridView::Grid Grid
Definition: discretization/pq1bubble/subcontrolvolume.hh:34
typename GeometryTraits::template CornerStorage< dim, dimWorld >::Type CornerStorage
Definition: discretization/pq1bubble/subcontrolvolume.hh:44
Dune::MultiLinearGeometry< Scalar, dim, dimWorld, GeometryTraits > Geometry
Definition: discretization/pq1bubble/subcontrolvolume.hh:43
typename IndexTraits< GridView >::LocalIndex LocalIndexType
Definition: discretization/pq1bubble/subcontrolvolume.hh:40
Traits for an efficient corner storage for the PQ1Bubble method.
Definition: discretization/pq1bubble/geometryhelper.hh:34
Base class for a sub control volume.