3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | List of all members
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 enabled. More...

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

Description

template<class GG>
class Dumux::StaggeredFVElementGeometry< GG, false >

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.

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

Member Typedef Documentation

◆ Element

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

export type of the element

◆ GridGeometry

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

export type of finite volume grid geometry

◆ SubControlVolume

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

export type of subcontrol volume

◆ SubControlVolumeFace

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

export type of subcontrol volume face

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

Constructor.

Member Function Documentation

◆ bind() [1/2]

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

bind this local view to a specific element (full stencil)

◆ bind() [2/2]

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

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);

◆ bindElement() [1/2]

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

bind this local view to a specific element

◆ bindElement() [2/2]

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

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);

◆ element()

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

The bound element.

◆ gridGeometry()

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

The grid finite volume geometry we are a restriction of.

◆ hasBoundaryScvf()

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

Returns whether one of the geometry's scvfs lies on a boundary.

◆ isBound()

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

Returns true if bind/bindElement has already been called.

◆ numScv()

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

number of sub control volumes in this fv element geometry

◆ numScvf()

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

number of sub control volumes in this fv element geometry

◆ scv()

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

Get an elment 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

Get a sub control volume face with an element index and a local scvf index.

◆ 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: