3.1-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 >:
Inheritance graph

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 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...
 
using FVGridGeometry = GridGeometry
 

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...
 
void bind (const Element &element)
 Binding of an element, called by the local jacobian to prepare element assembly. More...
 
void bindElement (const Element &element)
 Bind only element-local. More...
 
const GridGeometrygridGeometry () const
 The global finite volume geometry we are a restriction of. More...
 
const GridGeometryfvGridGeometry () const
 
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

◆ FVGridGeometry

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

◆ 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()

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

Binding of an element, called by the local jacobian to prepare element assembly.

◆ bindElement()

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

Bind only element-local.

◆ 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

◆ fvGridGeometry()

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

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

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