version 3.9-dev
Dumux::StaggeredFVGridGeometry< GV, false, T > 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/staggered/fvgridgeometry.hh>

Inheritance diagram for Dumux::StaggeredFVGridGeometry< GV, false, T >:

Public Types

using Traits = typename T::PublicTraits
 export the traits More...
 
using DiscretizationMethod = DiscretizationMethods::Staggered
 export the discretization method this geometry belongs to More...
 
using GeometryHelper = typename T::GeometryHelper
 
using LocalView = typename T::template LocalView< ThisType, false >
 export the type of the fv element geometry (the local view type) More...
 
using SubControlVolume = typename T::SubControlVolume
 export the type of sub control volume More...
 
using SubControlVolumeFace = typename T::SubControlVolumeFace
 export the type of sub control volume More...
 
using Extrusion = Extrusion_t< T >
 export the type of extrusion More...
 
using GridView = GV
 export the grid view type More...
 
using DofTypeIndices = typename T::DofTypeIndices
 export the dof type indices More...
 
using CellCenterFVGridGeometryType = CellCenterFVGridGeometry< ThisType >
 
using FaceFVGridGeometryType = FaceFVGridGeometry< ThisType >
 
using FVGridGeometryTuple = std::tuple< CellCenterFVGridGeometry< ThisType >, FaceFVGridGeometry< ThisType > >
 
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

 StaggeredFVGridGeometry (const GridView &gridView, const std::string &paramGroup="")
 Constructor. 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...
 
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 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...
 
std::size_t numCellCenterDofs () const
 
std::size_t numFaceDofs () const
 
const std::vector< GridIndexType > & scvfIndicesOfScv (GridIndexType scvIdx) const
 
GridIndexType localToGlobalScvfIndex (GridIndexType eIdx, LocalIndexType localScvfIdx) const
 
const ConnectivityMap & connectivityMap () const
 Returns the connectivity map of which dofs have derivatives with respect to a given dof. More...
 
std::unique_ptr< CellCenterFVGridGeometry< ThisType > > cellCenterFVGridGeometryPtr () const
 Returns a pointer the cell center specific auxiliary class. Required for the multi-domain FVAssembler's ctor. More...
 
std::unique_ptr< FaceFVGridGeometry< ThisType > > faceFVGridGeometryPtr () const
 Returns a pointer the face specific auxiliary class. Required for the multi-domain FVAssembler's ctor. More...
 
CellCenterFVGridGeometry< ThisTypecellCenterFVGridGeometry () const
 Return a copy of the cell center specific auxiliary class. More...
 
FaceFVGridGeometry< ThisTypefaceFVGridGeometry () const
 Return a copy of the face specific auxiliary class. More...
 
const IntersectionMapper & intersectionMapper () const
 Return a reference to the intersection mapper. More...
 
const std::vector< GridIndexType > & neighborVolVarIndices (GridIndexType scvIdx) const
 Return the neighbor volVar indices for all scvfs in the scv with index scvIdx. 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 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 Member Functions

static constexpr auto cellCenterIdx ()
 return a integral constant for cell center dofs More...
 
static constexpr auto faceIdx ()
 return a integral constant for face dofs More...
 
static constexpr int upwindStencilOrder ()
 The order of the stencil built. More...
 

Static Public Attributes

static constexpr DiscretizationMethod discMethod {}
 
static constexpr int upwindSchemeOrder = T::upwindSchemeOrder
 
static constexpr bool useHigherOrder = upwindSchemeOrder > 1
 
static constexpr bool cachingEnabled = false
 

Protected Member Functions

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

Member Typedef Documentation

◆ CellCenterFVGridGeometryType

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::CellCenterFVGridGeometryType = CellCenterFVGridGeometry<ThisType>

◆ DiscretizationMethod

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::DiscretizationMethod = DiscretizationMethods::Staggered

◆ DofTypeIndices

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::DofTypeIndices = typename T::DofTypeIndices

◆ ElementMapper

using Dumux::BaseGridGeometry< GV, T >::ElementMapper = typename BaseImplementation::ElementMapper
inherited

◆ Extrusion

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::Extrusion = Extrusion_t<T>

◆ FaceFVGridGeometryType

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::FaceFVGridGeometryType = FaceFVGridGeometry<ThisType>

◆ FVGridGeometryTuple

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::FVGridGeometryTuple = std::tuple< CellCenterFVGridGeometry<ThisType>, FaceFVGridGeometry<ThisType> >

◆ GeometryHelper

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::GeometryHelper = typename T::GeometryHelper

◆ GlobalCoordinate

using Dumux::BaseGridGeometry< GV, T >::GlobalCoordinate = typename BaseImplementation::GlobalCoordinate
inherited

◆ Grid

using Dumux::BaseGridGeometry< GV, T >::Grid = typename BaseImplementation::Grid
inherited

◆ GridView

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::GridView = GV

◆ LocalView

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::LocalView = typename T::template LocalView<ThisType, false>

◆ SubControlVolume

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::SubControlVolume = typename T::SubControlVolume

◆ SubControlVolumeFace

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::SubControlVolumeFace = typename T::SubControlVolumeFace

◆ Traits

template<class GV , class T >
using Dumux::StaggeredFVGridGeometry< GV, false, T >::Traits = typename T::PublicTraits

◆ VertexMapper

using Dumux::BaseGridGeometry< GV, T >::VertexMapper = typename BaseImplementation::VertexMapper
inherited

Constructor & Destructor Documentation

◆ StaggeredFVGridGeometry()

template<class GV , class T >
Dumux::StaggeredFVGridGeometry< GV, false, T >::StaggeredFVGridGeometry ( const GridView gridView,
const std::string &  paramGroup = "" 
)
inline

Member Function Documentation

◆ bBoxMax()

const GlobalCoordinate & Dumux::BaseGridGeometry< GV, T >::bBoxMax ( ) const
inlineinherited

◆ bBoxMin()

const GlobalCoordinate & Dumux::BaseGridGeometry< GV, T >::bBoxMin ( ) const
inlineinherited

◆ boundingBoxTree()

decltype(auto) Dumux::BaseGridGeometry< GV, T >::boundingBoxTree ( ) const
inlineinherited

◆ cellCenterFVGridGeometry()

template<class GV , class T >
CellCenterFVGridGeometry< ThisType > Dumux::StaggeredFVGridGeometry< GV, false, T >::cellCenterFVGridGeometry ( ) const
inline

◆ cellCenterFVGridGeometryPtr()

template<class GV , class T >
std::unique_ptr< CellCenterFVGridGeometry< ThisType > > Dumux::StaggeredFVGridGeometry< GV, false, T >::cellCenterFVGridGeometryPtr ( ) const
inline

◆ cellCenterIdx()

template<class GV , class T >
static constexpr auto Dumux::StaggeredFVGridGeometry< GV, false, T >::cellCenterIdx ( )
inlinestaticconstexpr

◆ connectivityMap()

template<class GV , class T >
const ConnectivityMap & Dumux::StaggeredFVGridGeometry< GV, false, T >::connectivityMap ( ) const
inline

◆ element()

Element Dumux::BaseGridGeometry< GV, T >::element ( GridIndexType  eIdx) const
inlineinherited

◆ elementMap()

decltype(auto) Dumux::BaseGridGeometry< GV, T >::elementMap ( ) const
inlineinherited

◆ elementMapper() [1/2]

ElementMapper & Dumux::BaseGridGeometry< GV, T >::elementMapper ( )
inlineinherited

◆ elementMapper() [2/2]

const ElementMapper & Dumux::BaseGridGeometry< GV, T >::elementMapper ( ) const
inlineinherited

◆ faceFVGridGeometry()

template<class GV , class T >
FaceFVGridGeometry< ThisType > Dumux::StaggeredFVGridGeometry< GV, false, T >::faceFVGridGeometry ( ) const
inline

◆ faceFVGridGeometryPtr()

template<class GV , class T >
std::unique_ptr< FaceFVGridGeometry< ThisType > > Dumux::StaggeredFVGridGeometry< GV, false, T >::faceFVGridGeometryPtr ( ) const
inline

◆ faceIdx()

template<class GV , class T >
static constexpr auto Dumux::StaggeredFVGridGeometry< GV, false, T >::faceIdx ( )
inlinestaticconstexpr

◆ gridView()

const GridView & Dumux::BaseGridGeometry< GV, T >::gridView ( ) const
inlineinherited

◆ intersectionMapper()

template<class GV , class T >
const IntersectionMapper & Dumux::StaggeredFVGridGeometry< GV, false, T >::intersectionMapper ( ) const
inline

◆ isPeriodic()

bool Dumux::BaseGridGeometry< GV, T >::isPeriodic ( ) const
inlineinherited

◆ localToGlobalScvfIndex()

template<class GV , class T >
GridIndexType Dumux::StaggeredFVGridGeometry< GV, false, T >::localToGlobalScvfIndex ( GridIndexType  eIdx,
LocalIndexType  localScvfIdx 
) const
inline

◆ neighborVolVarIndices()

template<class GV , class T >
const std::vector< GridIndexType > & Dumux::StaggeredFVGridGeometry< GV, false, T >::neighborVolVarIndices ( GridIndexType  scvIdx) const
inline

◆ numBoundaryScvf()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numBoundaryScvf ( ) const
inline

◆ numCellCenterDofs()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numCellCenterDofs ( ) const
inline

◆ numDofs()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numDofs ( ) const
inline

◆ numFaceDofs()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numFaceDofs ( ) const
inline

◆ numIntersections()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numIntersections ( ) const
inline

◆ numScv()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numScv ( ) const
inline

◆ numScvf()

template<class GV , class T >
std::size_t Dumux::StaggeredFVGridGeometry< GV, false, T >::numScvf ( ) const
inline

◆ scvfIndicesOfScv()

template<class GV , class T >
const std::vector< GridIndexType > & Dumux::StaggeredFVGridGeometry< GV, false, T >::scvfIndicesOfScv ( GridIndexType  scvIdx) const
inline

◆ setPeriodic()

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

◆ update() [1/4]

void Dumux::BaseGridGeometry< GV, T >::update ( const GridView gridView)
inlineinherited

◆ update() [2/4]

template<class GV , class T >
void Dumux::StaggeredFVGridGeometry< GV, false, T >::update ( const GridView gridView)
inline

◆ update() [3/4]

void Dumux::BaseGridGeometry< GV, T >::update ( GridView &&  gridView)
inlineinherited

◆ update() [4/4]

template<class GV , class T >
void Dumux::StaggeredFVGridGeometry< GV, false, T >::update ( GridView &&  gridView)
inline

◆ upwindStencilOrder()

template<class GV , class T >
static constexpr int Dumux::StaggeredFVGridGeometry< GV, false, T >::upwindStencilOrder ( )
inlinestaticconstexpr

◆ vertexMapper() [1/2]

VertexMapper & Dumux::BaseGridGeometry< GV, T >::vertexMapper ( )
inlineinherited

◆ vertexMapper() [2/2]

const VertexMapper & Dumux::BaseGridGeometry< GV, T >::vertexMapper ( ) const
inlineinherited

Member Data Documentation

◆ cachingEnabled

template<class GV , class T >
constexpr bool Dumux::StaggeredFVGridGeometry< GV, false, T >::cachingEnabled = false
staticconstexpr

◆ discMethod

template<class GV , class T >
constexpr DiscretizationMethod Dumux::StaggeredFVGridGeometry< GV, false, T >::discMethod {}
staticconstexpr

◆ upwindSchemeOrder

template<class GV , class T >
constexpr int Dumux::StaggeredFVGridGeometry< GV, false, T >::upwindSchemeOrder = T::upwindSchemeOrder
staticconstexpr

◆ useHigherOrder

template<class GV , class T >
constexpr bool Dumux::StaggeredFVGridGeometry< GV, false, T >::useHigherOrder = upwindSchemeOrder > 1
staticconstexpr

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