3.6-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::FaceCenteredStaggeredFVElementGeometry< GG, false > Class Template Reference

Stencil-local finite volume geometry (scvs and scvfs) for face-centered staggered models Specialization for grid caching disabled. More...

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

Description

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

Stencil-local finite volume geometry (scvs and scvfs) for face-centered staggered models Specialization for grid caching disabled.

Public Types

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

Public Member Functions

 FaceCenteredStaggeredFVElementGeometry (const GridGeometry &gridGeometry)
 
const SubControlVolumeFacescvf (const GridIndexType scvfIdx) const
 Get a sub control volume face with a global scvf index. More...
 
const SubControlVolumescv (const GridIndexType scvIdx) const
 Get a half sub control volume with a global scv index. More...
 
const SubControlVolumeFacelateralOrthogonalScvf (const SubControlVolumeFace &scvf) const
 Return a the lateral sub control volume face which is orthogonal to the given sub control volume face. More...
 
const SubControlVolumeFacefrontalScvfOnBoundary (const SubControlVolume &scv) const
 Return the frontal sub control volume face on a the boundary for a given sub control volume. More...
 
bool hasBoundaryScvf () const
 Returns whether one of the geometry's scvfs lies on a boundary. More...
 
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...
 
FaceCenteredStaggeredFVElementGeometry 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) &
 
FaceCenteredStaggeredFVElementGeometry 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(...).bind(element); More...
 
void bindElement (const Element &element) &
 
GridIndexType elementIndex () const
 
const Elementelement () const
 The bound element. More...
 
const GridGeometrygridGeometry () const
 The grid geometry we are a restriction of. More...
 
bool scvfIntegrationPointInConcaveCorner (const SubControlVolumeFace &scvf) const
 Returns true if the IP of an scvf lies on a concave corner. More...
 
SubControlVolumeFace outsideScvfWithSameIntegrationPoint (const SubControlVolumeFace &scvf) const
 

Static Public Attributes

static constexpr std::size_t maxNumElementScvs = numScvsPerElement
 the maximum number of scvs per element More...
 

Member Typedef Documentation

◆ Element

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

◆ GridGeometry

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

◆ SubControlVolume

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

export type of subcontrol volume face

◆ SubControlVolumeFace

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

Constructor & Destructor Documentation

◆ FaceCenteredStaggeredFVElementGeometry()

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

Member Function Documentation

◆ bind() [1/2]

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

◆ bind() [2/2]

template<class GG >
FaceCenteredStaggeredFVElementGeometry Dumux::FaceCenteredStaggeredFVElementGeometry< 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::FaceCenteredStaggeredFVElementGeometry< GG, false >::bindElement ( const Element element) &
inline

◆ bindElement() [2/2]

template<class GG >
FaceCenteredStaggeredFVElementGeometry Dumux::FaceCenteredStaggeredFVElementGeometry< 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(...).bind(element);

◆ element()

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

The bound element.

◆ elementIndex()

template<class GG >
GridIndexType Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::elementIndex ( ) const
inline

◆ frontalScvfOnBoundary()

template<class GG >
const SubControlVolumeFace & Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::frontalScvfOnBoundary ( const SubControlVolume scv) const
inline

Return the frontal sub control volume face on a the boundary for a given sub control volume.

◆ gridGeometry()

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

The grid geometry we are a restriction of.

◆ hasBoundaryScvf()

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

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

◆ lateralOrthogonalScvf()

template<class GG >
const SubControlVolumeFace & Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::lateralOrthogonalScvf ( const SubControlVolumeFace scvf) const
inline

Return a the lateral sub control volume face which is orthogonal to the given sub control volume face.

◆ numScv()

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

number of sub control volumes in this fv element geometry

◆ numScvf()

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

number of sub control volumes in this fv element geometry

◆ outsideScvfWithSameIntegrationPoint()

template<class GG >
SubControlVolumeFace Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::outsideScvfWithSameIntegrationPoint ( const SubControlVolumeFace scvf) const
inline

Returns the the scvf of neighbor element with the same integration point and unit outer normal Todo: this code can likely be improved, we don't need to build all of the outside geometry if we know how to build scvf.

◆ scv()

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

Get a half sub control volume with a global scv index.

◆ scvf()

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

Get a sub control volume face with a global scvf index.

◆ scvfIntegrationPointInConcaveCorner()

template<class GG >
bool Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::scvfIntegrationPointInConcaveCorner ( const SubControlVolumeFace scvf) const
inline

Returns true if the IP of an scvf lies on a concave corner.

Member Data Documentation

◆ maxNumElementScvs

template<class GG >
constexpr std::size_t Dumux::FaceCenteredStaggeredFVElementGeometry< GG, false >::maxNumElementScvs = numScvsPerElement
staticconstexpr

the maximum number of scvs per element


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