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, true > Class Template Reference

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

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

Description

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

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

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 SubControlVolumescv (GridIndexType scvIdx) const
 Get a sub control volume with a global scv index. More...
 
const SubControlVolumeFacescvf (GridIndexType scvfIdx) const
 Get a sub control volume face with a global scvf 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...
 
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...
 
bool hasBoundaryScvf () const
 Returns whether one of the geometry's scvfs lies on a boundary. 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) &
 Binding of an element, called by the local jacobian to prepare element assembly. More...
 
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) &
 Bind only element-local. More...
 
const GridGeometrygridGeometry () const
 The grid geometry we are a restriction of. More...
 
std::size_t elementIndex () const
 
const Elementelement () const
 The bound element. More...
 
bool scvfIntegrationPointInConcaveCorner (const SubControlVolumeFace &scvf) const
 Returns true if the IP of an scvf lies on a concave corner. More...
 
const SubControlVolumeFaceoutsideScvfWithSameIntegrationPoint (const SubControlVolumeFace &scvf) const
 Returns the the scvf of neighbor element with the same integration point and unit outer normal. More...
 
SubControlVolume::Traits::Geometry geometry (const SubControlVolume &scv) const
 
SubControlVolumeFace::Traits::Geometry geometry (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, true >::Element = typename GridView::template Codim<0>::Entity

◆ GridGeometry

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

◆ SubControlVolume

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

export type of subcontrol volume face

◆ SubControlVolumeFace

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

Constructor & Destructor Documentation

◆ FaceCenteredStaggeredFVElementGeometry()

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

Member Function Documentation

◆ bind() [1/2]

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

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

◆ bind() [2/2]

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

Bind only element-local.

◆ bindElement() [2/2]

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

The bound element.

◆ elementIndex()

template<class GG >
std::size_t Dumux::FaceCenteredStaggeredFVElementGeometry< GG, true >::elementIndex ( ) const
inline

◆ frontalScvfOnBoundary()

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

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

◆ geometry() [1/2]

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

◆ geometry() [2/2]

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

◆ gridGeometry()

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

The grid geometry we are a restriction of.

◆ hasBoundaryScvf()

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

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

◆ lateralOrthogonalScvf()

template<class GG >
const SubControlVolumeFace & Dumux::FaceCenteredStaggeredFVElementGeometry< GG, true >::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, true >::numScv ( ) const
inline

number of sub control volumes in this fv element geometry

◆ numScvf()

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

number of sub control volumes in this fv element geometry

◆ outsideScvfWithSameIntegrationPoint()

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

Returns the the scvf of neighbor element with the same integration point and unit outer normal.

◆ scv()

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

Get a sub control volume with a global scv index.

◆ scvf()

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

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

◆ scvfIntegrationPointInConcaveCorner()

template<class GG >
bool Dumux::FaceCenteredStaggeredFVElementGeometry< GG, true >::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, true >::maxNumElementScvs = numScvsPerElement
staticconstexpr

the maximum number of scvs per element


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