version 3.9.0
Loading...
Searching...
No Matches
Dumux::FEGridGeometry< FEB, Traits > Class Template Reference

The grid geometry class for models using finite element schemes. This is basically a wrapper around a function space basis. More...

#include <dumux/discretization/fem/fegridgeometry.hh>

Inheritance diagram for Dumux::FEGridGeometry< FEB, Traits >:

Description

template<class FEB, class Traits = DefaultFEGridGeometryTraits<FEB>>
class Dumux::FEGridGeometry< FEB, Traits >
Template Parameters
FEBThe finite element function space basis
MapperTraitsTraits class containing data types for mappers

Public Types

using DiscretizationMethod = DiscretizationMethods::FEM
 export the discretization method this geometry belongs to
 
using GridView = typename FEB::GridView
 export the grid view type
 
using Extrusion = Extrusion_t<Traits>
 export the type of extrusion
 
using FEBasis = FEB
 export the type of finite element basis
 
using LocalView = typename Traits::template LocalView<ThisType>
 export local view
 
using Grid = typename BaseImplementation::Grid
 export the grid type
 
using GlobalCoordinate = typename BaseImplementation::GlobalCoordinate
 export the global coordinate type
 
using ElementMapper = typename BaseImplementation::ElementMapper
 export the element mapper type
 
using VertexMapper = typename BaseImplementation::VertexMapper
 export the vertex mapper type
 

Public Member Functions

 FEGridGeometry (std::shared_ptr< FEBasis > feBasis)
 Constructor.
 
auto numDofs () const
 The total number of degrees of freedom.
 
const FEBasisfeBasis () const
 The total number of degrees of freedom.
 
bool dofOnPeriodicBoundary (GridIndexType dofIdx) const
 If a vertex / d.o.f. is on a periodic boundary.
 
GridIndexType periodicallyMappedDof (GridIndexType dofIdx) const
 The index of the vertex / d.o.f. on the other side of the periodic boundary.
 
const std::unordered_map< GridIndexType, GridIndexType > & periodicVertexMap () const
 Returns the map between dofs across periodic boundaries.
 
void update (const GridView &gridView)
 Update all fvElementGeometries (call this after grid adaption)
 
void update (GridView &&gridView)
 Update all fvElementGeometries (call this after grid adaption)
 
const GridViewgridView () const
 Return the gridView this grid geometry object lives on.
 
const VertexMappervertexMapper () const
 Returns the mapper for vertices to indices for constant grids.
 
VertexMappervertexMapper ()
 Returns the mapper for vertices to indices for possibly adaptive grids.
 
const ElementMapperelementMapper () const
 Returns the mapper for elements to indices for constant grids.
 
ElementMapperelementMapper ()
 Returns the mapper for elements to indices for possibly adaptive grids.
 
decltype(auto) boundingBoxTree () const
 Returns the bounding box tree of the grid.
 
decltype(auto) elementMap () const
 Returns the element index to element map.
 
Element element (GridIndexType eIdx) const
 Get an element from a global element index.
 
const GlobalCoordinatebBoxMin () const
 The coordinate of the corner of the GridView's bounding box with the smallest values.
 
const GlobalCoordinatebBoxMax () const
 The coordinate of the corner of the GridView's bounding box with the largest values.
 
bool isPeriodic () const
 Returns if the grid geometry is periodic (at all)
 

Static Public Attributes

static constexpr DiscretizationMethod discMethod {}
 

Protected Member Functions

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

Member Typedef Documentation

◆ DiscretizationMethod

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
using Dumux::FEGridGeometry< FEB, Traits >::DiscretizationMethod = DiscretizationMethods::FEM

◆ ElementMapper

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

◆ Extrusion

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
using Dumux::FEGridGeometry< FEB, Traits >::Extrusion = Extrusion_t<Traits>

◆ FEBasis

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
using Dumux::FEGridGeometry< FEB, Traits >::FEBasis = FEB

◆ 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 FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
using Dumux::FEGridGeometry< FEB, Traits >::GridView = typename FEB::GridView

◆ LocalView

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
using Dumux::FEGridGeometry< FEB, Traits >::LocalView = typename Traits::template LocalView<ThisType>

◆ VertexMapper

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

Constructor & Destructor Documentation

◆ FEGridGeometry()

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
Dumux::FEGridGeometry< FEB, Traits >::FEGridGeometry ( std::shared_ptr< FEBasis > feBasis)
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

◆ dofOnPeriodicBoundary()

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
bool Dumux::FEGridGeometry< FEB, 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

◆ feBasis()

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
const FEBasis & Dumux::FEGridGeometry< FEB, Traits >::feBasis ( ) const
inline

◆ gridView()

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

◆ isPeriodic()

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

◆ numDofs()

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
auto Dumux::FEGridGeometry< FEB, Traits >::numDofs ( ) const
inline

◆ periodicallyMappedDof()

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
GridIndexType Dumux::FEGridGeometry< FEB, Traits >::periodicallyMappedDof ( GridIndexType dofIdx) const
inline

◆ periodicVertexMap()

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
const std::unordered_map< GridIndexType, GridIndexType > & Dumux::FEGridGeometry< FEB, Traits >::periodicVertexMap ( ) const
inline

◆ 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::BaseGridGeometry< GV, Traits >::update ( const GridView & gridView)
inlineinherited

◆ update() [2/2]

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

◆ 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

◆ discMethod

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
DiscretizationMethod Dumux::FEGridGeometry< FEB, Traits >::discMethod {}
staticconstexpr

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