version 3.9-dev
Dumux::StaggeredFVElementGeometry< GG, false > Class Template Reference

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 disabled. More...

#include <dumux/discretization/staggered/fvelementgeometry.hh>

Description

template<class GG>
class Dumux::StaggeredFVElementGeometry< GG, false >
Template Parameters
GGthe finite volume grid geometry type

Public Types

using Element = typename GridView::template Codim< 0 >::Entity
 export type of the element More...
 
using SubControlVolume = typename GG::SubControlVolume
 export type of subcontrol volume More...
 
using SubControlVolumeFace = typename GG::SubControlVolumeFace
 export type of subcontrol volume face More...
 
using GridGeometry = GG
 export type of finite volume grid geometry More...
 

Public Member Functions

template<class CellCenterOrFaceFVGridGeometry >
 StaggeredFVElementGeometry (const CellCenterOrFaceFVGridGeometry &gridGeometry)
 
 StaggeredFVElementGeometry (const GridGeometry &gridGeometry)
 Constructor. More...
 
const SubControlVolumeFacescvf (GridIndexType eIdx, LocalIndexType localScvfIdx) const
 Get a sub control volume face with an element index and a local scvf index. More...
 
const SubControlVolumescv (GridIndexType scvIdx) const
 
const SubControlVolumeFacescvf (GridIndexType scvfIdx) 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...
 
StaggeredFVElementGeometry 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) &
 bind this local view to a specific element (full stencil) More...
 
StaggeredFVElementGeometry 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 this local view to a specific element More...
 
bool isBound () const
 Returns true if bind/bindElement has already been called. More...
 
const Elementelement () const
 The bound element. More...
 
const GridGeometrygridGeometry () const
 The grid 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...
 
SubControlVolume::Traits::Geometry geometry (const SubControlVolume &scv) const
 Create the geometry of a given sub control volume. More...
 
SubControlVolumeFace::Traits::Geometry geometry (const SubControlVolumeFace &scvf) const
 Create the geometry of a given sub control volume face. More...
 

Member Typedef Documentation

◆ Element

template<class GG >
using Dumux::StaggeredFVElementGeometry< GG, false >::Element = typename GridView::template Codim<0>::Entity

◆ GridGeometry

template<class GG >
using Dumux::StaggeredFVElementGeometry< GG, false >::GridGeometry = GG

◆ SubControlVolume

template<class GG >
using Dumux::StaggeredFVElementGeometry< GG, false >::SubControlVolume = typename GG::SubControlVolume

◆ SubControlVolumeFace

template<class GG >
using Dumux::StaggeredFVElementGeometry< GG, false >::SubControlVolumeFace = typename GG::SubControlVolumeFace

Constructor & Destructor Documentation

◆ StaggeredFVElementGeometry() [1/2]

template<class GG >
template<class CellCenterOrFaceFVGridGeometry >
Dumux::StaggeredFVElementGeometry< GG, false >::StaggeredFVElementGeometry ( const CellCenterOrFaceFVGridGeometry &  gridGeometry)
inline

Constructor getting a auxiliary cell center of face specific FvGridGeometry type. Needed for the multi-domain framework.

◆ StaggeredFVElementGeometry() [2/2]

template<class GG >
Dumux::StaggeredFVElementGeometry< GG, false >::StaggeredFVElementGeometry ( const GridGeometry gridGeometry)
inline

Member Function Documentation

◆ bind() [1/2]

template<class GG >
void Dumux::StaggeredFVElementGeometry< GG, false >::bind ( const Element element) &
inline

◆ bind() [2/2]

template<class GG >
StaggeredFVElementGeometry Dumux::StaggeredFVElementGeometry< GG, false >::bind ( const Element element) &&
inline

◆ bindElement() [1/2]

template<class GG >
void Dumux::StaggeredFVElementGeometry< GG, false >::bindElement ( const Element element) &
inline

◆ bindElement() [2/2]

template<class GG >
StaggeredFVElementGeometry Dumux::StaggeredFVElementGeometry< GG, false >::bindElement ( const Element element) &&
inline

◆ element()

template<class GG >
const Element & Dumux::StaggeredFVElementGeometry< GG, false >::element ( ) const
inline

◆ geometry() [1/2]

template<class GG >
SubControlVolume::Traits::Geometry Dumux::StaggeredFVElementGeometry< GG, false >::geometry ( const SubControlVolume scv) const
inline

◆ geometry() [2/2]

template<class GG >
SubControlVolumeFace::Traits::Geometry Dumux::StaggeredFVElementGeometry< GG, false >::geometry ( const SubControlVolumeFace scvf) const
inline

◆ gridGeometry()

template<class GG >
const GridGeometry & Dumux::StaggeredFVElementGeometry< GG, false >::gridGeometry ( ) const
inline

◆ hasBoundaryScvf()

template<class GG >
bool Dumux::StaggeredFVElementGeometry< GG, false >::hasBoundaryScvf ( ) const
inline

◆ isBound()

template<class GG >
bool Dumux::StaggeredFVElementGeometry< GG, false >::isBound ( ) const
inline

◆ numScv()

template<class GG >
std::size_t Dumux::StaggeredFVElementGeometry< GG, false >::numScv ( ) const
inline

◆ numScvf()

template<class GG >
std::size_t Dumux::StaggeredFVElementGeometry< GG, false >::numScvf ( ) const
inline

◆ scv()

template<class GG >
const SubControlVolume & Dumux::StaggeredFVElementGeometry< GG, false >::scv ( GridIndexType  scvIdx) const
inline

Get an element sub control volume with a global scv index We separate element and neighbor scvs to speed up mapping

◆ scvf() [1/2]

template<class GG >
const SubControlVolumeFace & Dumux::StaggeredFVElementGeometry< GG, false >::scvf ( GridIndexType  eIdx,
LocalIndexType  localScvfIdx 
) const
inline

◆ scvf() [2/2]

template<class GG >
const SubControlVolumeFace & Dumux::StaggeredFVElementGeometry< GG, false >::scvf ( GridIndexType  scvfIdx) const
inline

Get an element sub control volume face with a global scvf index We separate element and neighbor scvfs to speed up mapping


The documentation for this class was generated from the following file: