3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dumux::StaggeredFVElementGeometry< GG, true > 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>

Inheritance diagram for Dumux::StaggeredFVElementGeometry< GG, true >:

Description

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

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 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 SubControlVolumeFacescvf (GridIndexType eIdx, LocalIndexType localScvfIdx) const
 
const SubControlVolumeFacescvf (GridIndexType scvfIdx) const
 Get a sub control volume face with an element index and a local scvf index. More...
 
const SubControlVolumescv (GridIndexType scvIdx) const
 
const SubControlVolumeFaceflipScvf (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 Elementelement () const
 The bound element. More...
 
const GridGeometrygridGeometry () 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...
 

Member Typedef Documentation

◆ Element

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

export type of the element

◆ GridGeometry

template<class GG >
using Dumux::CCTpfaFVElementGeometry< GG, true >::GridGeometry = GG
inherited

export type of finite volume grid geometry

◆ SubControlVolume

template<class GG >
using Dumux::CCTpfaFVElementGeometry< GG, true >::SubControlVolume = typename GG::SubControlVolume
inherited

export type of subcontrol volume

◆ SubControlVolumeFace

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

export type of subcontrol volume face

Constructor & Destructor Documentation

◆ StaggeredFVElementGeometry()

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

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

Member Function Documentation

◆ bind() [1/2]

template<class GG >
void Dumux::CCTpfaFVElementGeometry< GG, true >::bind ( const Element element) &
inlineinherited

◆ bind() [2/2]

template<class GG >
CCTpfaFVElementGeometry Dumux::CCTpfaFVElementGeometry< GG, true >::bind ( const Element element) &&
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);

◆ bindElement() [1/2]

template<class GG >
void Dumux::CCTpfaFVElementGeometry< GG, true >::bindElement ( const Element element) &
inlineinherited

Bind only element-local.

◆ bindElement() [2/2]

template<class GG >
CCTpfaFVElementGeometry Dumux::CCTpfaFVElementGeometry< GG, true >::bindElement ( const Element element) &&
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);

◆ element()

template<class GG >
const Element & Dumux::CCTpfaFVElementGeometry< GG, true >::element ( ) const
inlineinherited

The bound element.

◆ flipScvf()

template<class GG >
const SubControlVolumeFace & Dumux::CCTpfaFVElementGeometry< GG, true >::flipScvf ( GridIndexType  scvfIdx,
unsigned int  outsideScvIdx = 0 
) const
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

◆ gridGeometry()

template<class GG >
const GridGeometry & Dumux::CCTpfaFVElementGeometry< GG, true >::gridGeometry ( ) const
inlineinherited

The global finite volume geometry we are a restriction of.

◆ hasBoundaryScvf()

template<class GG >
bool Dumux::CCTpfaFVElementGeometry< GG, true >::hasBoundaryScvf ( ) const
inlineinherited

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

◆ isBound()

template<class GG >
bool Dumux::CCTpfaFVElementGeometry< GG, true >::isBound ( ) const
inlineinherited

Returns true if bind/bindElement has already been called.

◆ numScv()

template<class GG >
std::size_t Dumux::CCTpfaFVElementGeometry< GG, true >::numScv ( ) const
inlineinherited

number of sub control volumes in this fv element geometry

◆ numScvf()

template<class GG >
std::size_t Dumux::CCTpfaFVElementGeometry< GG, true >::numScvf ( ) const
inlineinherited

number of sub control volumes in this fv element geometry

◆ scv()

template<class GG >
const SubControlVolume & Dumux::CCTpfaFVElementGeometry< GG, true >::scv ( GridIndexType  scvIdx) const
inlineinherited

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, true >::scvf ( GridIndexType  eIdx,
LocalIndexType  localScvfIdx 
) const
inline

◆ scvf() [2/2]

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

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

Member Data Documentation

◆ maxNumElementScvfs

template<class GG >
constexpr std::size_t Dumux::CCTpfaFVElementGeometry< GG, true >::maxNumElementScvfs = 2*GridView::dimension
staticconstexprinherited

the maximum number of scvfs per element (use cubes for maximum)

◆ maxNumElementScvs

template<class GG >
constexpr std::size_t Dumux::CCTpfaFVElementGeometry< GG, true >::maxNumElementScvs = 1
staticconstexprinherited

the maximum number of scvs per element


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