Base class for the finite volume geometry vector for staggered models This locally builds up the sub control volumes and sub control volume faces for each element. Specialization for grid caching enabled. More...
#include <dumux/discretization/staggered/fvelementgeometry.hh>
Base class for the finite volume geometry vector for staggered models This locally builds up the sub control volumes and sub control volume faces for each element. Specialization for grid caching enabled.
GG | the finite volume grid geometry type |
Public Types | |
using | Element = typename GridView::template Codim< 0 >::Entity |
export type of the element More... | |
using | SubControlVolumeFace = typename GG::SubControlVolumeFace |
export type of subcontrol volume face More... | |
using | SubControlVolume = typename GG::SubControlVolume |
export type of subcontrol volume More... | |
using | GridGeometry = GG |
export type of finite volume grid geometry More... | |
Public Member Functions | |
template<class CellCenterOrFaceFVGridGeometry > | |
StaggeredFVElementGeometry (const CellCenterOrFaceFVGridGeometry &gridGeometry) | |
const SubControlVolumeFace & | scvf (GridIndexType eIdx, LocalIndexType localScvfIdx) const |
const SubControlVolumeFace & | scvf (GridIndexType scvfIdx) const |
Get a sub control volume face with an element index and a local scvf index. More... | |
const SubControlVolume & | scv (GridIndexType scvIdx) const |
const SubControlVolumeFace & | flipScvf (GridIndexType scvfIdx, unsigned int outsideScvIdx=0) const |
std::size_t | numScv () const |
number of sub control volumes in this fv element geometry More... | |
std::size_t | numScvf () const |
number of sub control volumes in this fv element geometry More... | |
CCTpfaFVElementGeometry | bind (const Element &element) && |
bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element); More... | |
void | bind (const Element &element) & |
CCTpfaFVElementGeometry | bindElement (const Element &element) && |
bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bindElement(element); More... | |
void | bindElement (const Element &element) & |
Bind only element-local. More... | |
bool | isBound () const |
Returns true if bind/bindElement has already been called. More... | |
const Element & | element () const |
The bound element. More... | |
const GridGeometry & | gridGeometry () const |
The global finite volume geometry we are a restriction of. More... | |
bool | hasBoundaryScvf () const |
Returns whether one of the geometry's scvfs lies on a boundary. More... | |
Static Public Attributes | |
static constexpr std::size_t | maxNumElementScvs = 1 |
the maximum number of scvs per element More... | |
static constexpr std::size_t | maxNumElementScvfs = 2*GridView::dimension |
the maximum number of scvfs per element (use cubes for maximum) More... | |
using Dumux::StaggeredFVElementGeometry< GG, true >::Element = typename GridView::template Codim<0>::Entity |
export type of the element
|
inherited |
export type of finite volume grid geometry
|
inherited |
export type of subcontrol volume
using Dumux::StaggeredFVElementGeometry< GG, true >::SubControlVolumeFace = typename GG::SubControlVolumeFace |
export type of subcontrol volume face
|
inline |
Constructor getting a auxiliary cell center of face specific FvGridGeometry type. Needed for the multi-domain framework.
|
inlineinherited |
|
inlineinherited |
bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bind(element);
|
inlineinherited |
Bind only element-local.
|
inlineinherited |
bind the local view (r-value overload) This overload is called when an instance of this class is a temporary in the usage context This allows a usage like this: const auto view = localView(...).bindElement(element);
|
inlineinherited |
The bound element.
|
inlineinherited |
Get the scvf on the same face but from the other side Note that e.g. the normals might be different in the case of surface grids
|
inlineinherited |
The global finite volume geometry we are a restriction of.
|
inlineinherited |
Returns whether one of the geometry's scvfs lies on a boundary.
|
inlineinherited |
Returns true if bind/bindElement has already been called.
|
inlineinherited |
number of sub control volumes in this fv element geometry
|
inlineinherited |
number of sub control volumes in this fv element geometry
|
inlineinherited |
Get an elment sub control volume with a global scv index We separate element and neighbor scvs to speed up mapping
|
inline |
|
inline |
Get a sub control volume face with an element index and a local scvf index.
|
staticconstexprinherited |
the maximum number of scvfs per element (use cubes for maximum)
|
staticconstexprinherited |
the maximum number of scvs per element