version 3.9-dev
Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits > Class Template Reference

Base class for the finite volume geometry vector for staggered models This builds up the sub control volumes and sub control volume faces for each element. Specialization in case the FVElementGeometries are stored.

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

Inheritance diagram for Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >:

Public Types

using DiscretizationMethod = DiscretizationMethods::FCStaggered
 export the discretization method this geometry belongs to More...
 
using BasicGridGeometry = BasicGridGeometry_t< GV, Traits >
 export basic grid geometry type for the alternative constructor More...
 
using LocalView = typename Traits::template LocalView< ThisType, true >
 export the type of the fv element geometry (the local view type) More...
 
using SubControlVolume = typename Traits::SubControlVolume
 export the type of sub control volume More...
 
using SubControlVolumeFace = typename Traits::SubControlVolumeFace
 export the type of sub control volume More...
 
using GridView = GV
 export the grid view type More...
 
using GeometryHelper = typename Traits::GeometryHelper
 export the geometry helper type More...
 
using LocalIntersectionMapper = typename Traits::LocalIntersectionMapper
 export the local intersection mapper More...
 
using StaticInformation = typename Traits::StaticInfo
 export static information More...
 
using Extrusion = Extrusion_t< Traits >
 export the type of extrusion More...
 
using Grid = typename BaseImplementation::Grid
 export the grid type More...
 
using GlobalCoordinate = typename BaseImplementation::GlobalCoordinate
 export the global coordinate type More...
 
using ElementMapper = typename BaseImplementation::ElementMapper
 export the element mapper type More...
 
using VertexMapper = typename BaseImplementation::VertexMapper
 export the vertex mapper type More...
 

Public Member Functions

 FaceCenteredStaggeredFVGridGeometry (std::shared_ptr< BasicGridGeometry > gg, const std::string &paramGroup="")
 Constructor with basic grid geometry used to share state with another grid geometry on the same grid view. More...
 
 FaceCenteredStaggeredFVGridGeometry (const GridView &gridView, const std::string &paramGroup="")
 Constructor from gridView. More...
 
std::size_t numScv () const
 The total number of sub control volumes. More...
 
std::size_t numScvf () const
 The total number of sub control volume faces. More...
 
std::size_t numBoundaryScv () const
 The total number of boundary sub control volumes. More...
 
std::size_t numBoundaryScvf () const
 The total number of boundary sub control volume faces. More...
 
std::size_t numIntersections () const
 The total number of intersections. More...
 
std::size_t numDofs () const
 the total number of dofs More...
 
void update (const GridView &gridView)
 update all fvElementGeometries (call this after grid adaption) More...
 
void update (GridView &&gridView)
 update all fvElementGeometries (call this after grid adaption) More...
 
const SubControlVolumescv (GridIndexType scvIdx) const
 Get a sub control volume with a global scv index. More...
 
auto scvs (const LocalView &fvGeometry) const
 
const SubControlVolumeFacescvf (GridIndexType scvfIdx) const
 Get a sub control volume face with a global scvf index. More...
 
const std::vector< GridIndexType > & scvfIndicesOfElement (GridIndexType eIdx) const
 Get the global sub control volume face indices of an element. More...
 
const ConnectivityMap & connectivityMap () const
 Returns the connectivity map of which dofs have derivatives with respect to a given dof. More...
 
bool hasBoundaryScvf (GridIndexType eIdx) const
 Returns whether one of the geometry's scvfs lies on a boundary. More...
 
const IntersectionMapper & intersectionMapper () const
 Return a reference to the intersection mapper. More...
 
bool dofOnPeriodicBoundary (GridIndexType dofIdx) const
 If a d.o.f. is on a periodic boundary. More...
 
GridIndexType periodicallyMappedDof (GridIndexType dofIdx) const
 The index of the d.o.f. on the other side of the periodic boundary. More...
 
const std::unordered_map< GridIndexType, GridIndexType > & periodicDofMap () const
 Returns the map between dofs across periodic boundaries. More...
 
const std::unordered_map< GridIndexType, GridIndexType > & periodicVertexMap () const
 Returns the map between dofs across periodic boundaries. More...
 
const GridViewgridView () const
 Return the gridView this grid geometry object lives on. More...
 
const VertexMappervertexMapper () const
 Returns the mapper for vertices to indices for constant grids. More...
 
VertexMappervertexMapper ()
 Returns the mapper for vertices to indices for possibly adaptive grids. More...
 
const ElementMapperelementMapper () const
 Returns the mapper for elements to indices for constant grids. More...
 
ElementMapperelementMapper ()
 Returns the mapper for elements to indices for possibly adaptive grids. More...
 
decltype(auto) boundingBoxTree () const
 Returns the bounding box tree of the grid. More...
 
decltype(auto) elementMap () const
 Returns the element index to element map. More...
 
Element element (GridIndexType eIdx) const
 Get an element from a global element index. More...
 
const GlobalCoordinatebBoxMin () const
 The coordinate of the corner of the GridView's bounding box with the smallest values. More...
 
const GlobalCoordinatebBoxMax () const
 The coordinate of the corner of the GridView's bounding box with the largest values. More...
 
bool isPeriodic () const
 Returns if the grid geometry is periodic (at all) More...
 

Static Public Attributes

static constexpr DiscretizationMethod discMethod {}
 
static constexpr bool cachingEnabled = true
 

Protected Member Functions

void setPeriodic (bool value=true)
 Set the periodicity of the grid geometry. More...
 

Member Typedef Documentation

◆ BasicGridGeometry

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::BasicGridGeometry = BasicGridGeometry_t<GV, Traits>

◆ DiscretizationMethod

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::DiscretizationMethod = DiscretizationMethods::FCStaggered

◆ ElementMapper

template<class GV , class Traits >
using Dumux::BaseGridGeometry< GV, Traits >::ElementMapper = typename BaseImplementation::ElementMapper
inherited

◆ Extrusion

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::Extrusion = Extrusion_t<Traits>

◆ GeometryHelper

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::GeometryHelper = typename Traits::GeometryHelper

◆ GlobalCoordinate

template<class GV , class Traits >
using Dumux::BaseGridGeometry< GV, Traits >::GlobalCoordinate = typename BaseImplementation::GlobalCoordinate
inherited

◆ Grid

template<class GV , class Traits >
using Dumux::BaseGridGeometry< GV, Traits >::Grid = typename BaseImplementation::Grid
inherited

◆ GridView

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::GridView = GV

◆ LocalIntersectionMapper

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::LocalIntersectionMapper = typename Traits::LocalIntersectionMapper

◆ LocalView

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::LocalView = typename Traits::template LocalView<ThisType, true>

◆ StaticInformation

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::StaticInformation = typename Traits::StaticInfo

◆ SubControlVolume

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::SubControlVolume = typename Traits::SubControlVolume

◆ SubControlVolumeFace

template<class GV , class Traits >
using Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::SubControlVolumeFace = typename Traits::SubControlVolumeFace

◆ VertexMapper

template<class GV , class Traits >
using Dumux::BaseGridGeometry< GV, Traits >::VertexMapper = typename BaseImplementation::VertexMapper
inherited

Constructor & Destructor Documentation

◆ FaceCenteredStaggeredFVGridGeometry() [1/2]

template<class GV , class Traits >
Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::FaceCenteredStaggeredFVGridGeometry ( std::shared_ptr< BasicGridGeometry gg,
const std::string &  paramGroup = "" 
)
inline

◆ FaceCenteredStaggeredFVGridGeometry() [2/2]

template<class GV , class Traits >
Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::FaceCenteredStaggeredFVGridGeometry ( const GridView gridView,
const std::string &  paramGroup = "" 
)
inline

Member Function Documentation

◆ bBoxMax()

template<class GV , class Traits >
const GlobalCoordinate & Dumux::BaseGridGeometry< GV, Traits >::bBoxMax ( ) const
inlineinherited

◆ bBoxMin()

template<class GV , class Traits >
const GlobalCoordinate & Dumux::BaseGridGeometry< GV, Traits >::bBoxMin ( ) const
inlineinherited

◆ boundingBoxTree()

template<class GV , class Traits >
decltype(auto) Dumux::BaseGridGeometry< GV, Traits >::boundingBoxTree ( ) const
inlineinherited

◆ connectivityMap()

template<class GV , class Traits >
const ConnectivityMap & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::connectivityMap ( ) const
inline

◆ dofOnPeriodicBoundary()

template<class GV , class Traits >
bool Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::dofOnPeriodicBoundary ( GridIndexType  dofIdx) const
inline

◆ element()

template<class GV , class Traits >
Element Dumux::BaseGridGeometry< GV, Traits >::element ( GridIndexType  eIdx) const
inlineinherited

◆ elementMap()

template<class GV , class Traits >
decltype(auto) Dumux::BaseGridGeometry< GV, Traits >::elementMap ( ) const
inlineinherited

◆ elementMapper() [1/2]

template<class GV , class Traits >
ElementMapper & Dumux::BaseGridGeometry< GV, Traits >::elementMapper ( )
inlineinherited

◆ elementMapper() [2/2]

template<class GV , class Traits >
const ElementMapper & Dumux::BaseGridGeometry< GV, Traits >::elementMapper ( ) const
inlineinherited

◆ gridView()

template<class GV , class Traits >
const GridView & Dumux::BaseGridGeometry< GV, Traits >::gridView ( ) const
inlineinherited

◆ hasBoundaryScvf()

template<class GV , class Traits >
bool Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::hasBoundaryScvf ( GridIndexType  eIdx) const
inline

◆ intersectionMapper()

template<class GV , class Traits >
const IntersectionMapper & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::intersectionMapper ( ) const
inline

◆ isPeriodic()

template<class GV , class Traits >
bool Dumux::BaseGridGeometry< GV, Traits >::isPeriodic ( ) const
inlineinherited

◆ numBoundaryScv()

template<class GV , class Traits >
std::size_t Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::numBoundaryScv ( ) const
inline

◆ numBoundaryScvf()

template<class GV , class Traits >
std::size_t Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::numBoundaryScvf ( ) const
inline

◆ numDofs()

template<class GV , class Traits >
std::size_t Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::numDofs ( ) const
inline

◆ numIntersections()

template<class GV , class Traits >
std::size_t Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::numIntersections ( ) const
inline

◆ numScv()

template<class GV , class Traits >
std::size_t Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::numScv ( ) const
inline

◆ numScvf()

template<class GV , class Traits >
std::size_t Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::numScvf ( ) const
inline

◆ periodicallyMappedDof()

template<class GV , class Traits >
GridIndexType Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::periodicallyMappedDof ( GridIndexType  dofIdx) const
inline

◆ periodicDofMap()

template<class GV , class Traits >
const std::unordered_map< GridIndexType, GridIndexType > & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::periodicDofMap ( ) const
inline

◆ periodicVertexMap()

template<class GV , class Traits >
const std::unordered_map< GridIndexType, GridIndexType > & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::periodicVertexMap ( ) const
inline

◆ scv()

template<class GV , class Traits >
const SubControlVolume & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::scv ( GridIndexType  scvIdx) const
inline

◆ scvf()

template<class GV , class Traits >
const SubControlVolumeFace & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::scvf ( GridIndexType  scvfIdx) const
inline

◆ scvfIndicesOfElement()

template<class GV , class Traits >
const std::vector< GridIndexType > & Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::scvfIndicesOfElement ( GridIndexType  eIdx) const
inline

◆ scvs()

template<class GV , class Traits >
auto Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::scvs ( const LocalView fvGeometry) const
inline

Iterator range for sub control volumes. Iterates over all scvs of the element-local fvGeometry.

◆ setPeriodic()

template<class GV , class Traits >
void Dumux::BaseGridGeometry< GV, Traits >::setPeriodic ( bool  value = true)
inlineprotectedinherited

◆ update() [1/2]

template<class GV , class Traits >
void Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::update ( const GridView gridView)
inline

◆ update() [2/2]

template<class GV , class Traits >
void Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::update ( GridView &&  gridView)
inline

◆ vertexMapper() [1/2]

template<class GV , class Traits >
VertexMapper & Dumux::BaseGridGeometry< GV, Traits >::vertexMapper ( )
inlineinherited

◆ vertexMapper() [2/2]

template<class GV , class Traits >
const VertexMapper & Dumux::BaseGridGeometry< GV, Traits >::vertexMapper ( ) const
inlineinherited

Member Data Documentation

◆ cachingEnabled

template<class GV , class Traits >
constexpr bool Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::cachingEnabled = true
staticconstexpr

◆ discMethod

template<class GV , class Traits >
constexpr DiscretizationMethod Dumux::FaceCenteredStaggeredFVGridGeometry< GV, true, Traits >::discMethod {}
staticconstexpr

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