version 3.9-dev
Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits > Class Template Reference

Base class for the finite volume geometry vector for pq1bubble schemes This builds up the sub control volumes and sub control volume faces. More...

#include <dumux/discretization/pq1bubble/fvgridgeometry.hh>

Inheritance diagram for Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >:

Description

template<class Scalar, class GV, bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
class Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >
Note
For caching enabled we store the fv geometries for the whole grid view which is memory intensive but faster

Public Types

using DiscretizationMethod = DiscretizationMethods::PQ1Bubble
 export the discretization method this geometry belongs to 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 Extrusion = Extrusion_t< Traits >
 export the type of extrusion More...
 
using DofMapper = typename Traits::DofMapper
 export dof mapper type More...
 
using FeCache = Dumux::PQ1BubbleFECache< CoordScalar, Scalar, dim >
 export the finite element cache type More...
 
using GridView = GV
 export the grid view type More...
 
using Cache = PQ1BubbleGridGeometryCache
 
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

 PQ1BubbleFVGridGeometry (const GridView gridView)
 Constructor. More...
 
const DofMapperdofMapper () const
 The dofMapper. 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 numDofs () const
 The total number of degrees of freedom. More...
 
void update (const GridView &gridView)
 update all geometries (call this after grid adaption) More...
 
void update (GridView &&gridView)
 update all geometries (call this after grid adaption) More...
 
const FeCachefeCache () const
 The finite element cache for creating local FE bases. More...
 
bool dofOnBoundary (GridIndexType dofIdx) const
 If a vertex / d.o.f. is on the boundary. More...
 
bool dofOnPeriodicBoundary (GridIndexType dofIdx) const
 If a vertex / d.o.f. is on a periodic boundary. More...
 
GridIndexType periodicallyMappedDof (GridIndexType dofIdx) const
 The index of the vertex / 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...
 
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 Attributes

static constexpr DiscretizationMethod discMethod {}
 

Protected Member Functions

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

Member Typedef Documentation

◆ Cache

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::Cache = PQ1BubbleGridGeometryCache

the cache type (only the caching implementation has this) this alias should only be used by the local view implementation

◆ DiscretizationMethod

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::DiscretizationMethod = DiscretizationMethods::PQ1Bubble

◆ DofMapper

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::DofMapper = typename Traits::DofMapper

◆ ElementMapper

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

◆ Extrusion

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::Extrusion = Extrusion_t<Traits>

◆ FeCache

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::FeCache = Dumux::PQ1BubbleFECache<CoordScalar, Scalar, dim>

◆ GlobalCoordinate

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

◆ Grid

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

◆ GridView

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::GridView = GV

◆ LocalView

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::LocalView = typename Traits::template LocalView<ThisType, true>

◆ SubControlVolume

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::SubControlVolume = typename Traits::SubControlVolume

◆ SubControlVolumeFace

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
using Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::SubControlVolumeFace = typename Traits::SubControlVolumeFace

◆ VertexMapper

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

Constructor & Destructor Documentation

◆ PQ1BubbleFVGridGeometry()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::PQ1BubbleFVGridGeometry ( const GridView  gridView)
inline

Member Function Documentation

◆ bBoxMax()

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

◆ bBoxMin()

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

◆ boundingBoxTree()

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

◆ dofMapper()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
const DofMapper & Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::dofMapper ( ) const
inline

◆ dofOnBoundary()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
bool Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::dofOnBoundary ( GridIndexType  dofIdx) const
inline

◆ dofOnPeriodicBoundary()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
bool Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::dofOnPeriodicBoundary ( GridIndexType  dofIdx) const
inline

◆ element()

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

◆ elementMap()

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

◆ elementMapper() [1/2]

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

◆ elementMapper() [2/2]

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

◆ feCache()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
const FeCache & Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::feCache ( ) const
inline

◆ gridView()

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

◆ isPeriodic()

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

◆ numBoundaryScvf()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
std::size_t Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::numBoundaryScvf ( ) const
inline

◆ numDofs()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
std::size_t Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::numDofs ( ) const
inline

◆ numScv()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
std::size_t Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::numScv ( ) const
inline

◆ numScvf()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
std::size_t Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::numScvf ( ) const
inline

◆ periodicallyMappedDof()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
GridIndexType Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::periodicallyMappedDof ( GridIndexType  dofIdx) const
inline

◆ periodicDofMap()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
const std::unordered_map< GridIndexType, GridIndexType > & Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::periodicDofMap ( ) const
inline

◆ periodicVertexMap()

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
const std::unordered_map< GridIndexType, GridIndexType > & Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::periodicVertexMap ( ) const
inline

◆ setPeriodic()

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

◆ update() [1/4]

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

◆ update() [2/4]

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
void Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::update ( const GridView gridView)
inline

◆ update() [3/4]

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

◆ update() [4/4]

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
void Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::update ( GridView &&  gridView)
inline

◆ vertexMapper() [1/2]

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

◆ vertexMapper() [2/2]

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

Member Data Documentation

◆ discMethod

template<class Scalar , class GV , bool enableCaching = true, class Traits = PQ1BubbleDefaultGridGeometryTraits<GV>>
constexpr DiscretizationMethod Dumux::PQ1BubbleFVGridGeometry< Scalar, GV, enableCaching, Traits >::discMethod {}
staticconstexpr

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