3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
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 >

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

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 FEBasis & feBasis () 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 GridView & gridView () const
 Return the gridView this grid geometry object lives on.
const VertexMapper & vertexMapper () const
 Returns the mapper for vertices to indices for constant grids.
VertexMapper & vertexMapper ()
 Returns the mapper for vertices to indices for possibly adaptive grids.
const ElementMapper & elementMapper () const
 Returns the mapper for elements to indices for constant grids.
ElementMapper & elementMapper ()
 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 GlobalCoordinate & bBoxMin () const
 The coordinate of the corner of the GridView's bounding box with the smallest values.
const GlobalCoordinate & bBoxMax () 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

export the discretization method this geometry belongs to

◆ ElementMapper

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

export the element mapper type

◆ Extrusion

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

export the type of extrusion

◆ FEBasis

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

export the type of finite element basis

◆ GlobalCoordinate

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

export the global coordinate type

◆ Grid

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

export the grid type

◆ GridView

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

export the grid view type

◆ LocalView

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

export local view

◆ VertexMapper

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

export the vertex mapper type

Constructor & Destructor Documentation

◆ FEGridGeometry()

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

Constructor.

Member Function Documentation

◆ bBoxMax()

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

The coordinate of the corner of the GridView's bounding box with the largest values.

◆ bBoxMin()

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

The coordinate of the corner of the GridView's bounding box with the smallest values.

◆ boundingBoxTree()

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

Returns the bounding box tree of the grid.

◆ dofOnPeriodicBoundary()

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

If a vertex / d.o.f. is on a periodic boundary.

◆ element()

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

Get an element from a global element index.

◆ elementMap()

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

Returns the element index to element map.

◆ elementMapper() [1/2]

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

Returns the mapper for elements to indices for possibly adaptive grids.

◆ elementMapper() [2/2]

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

Returns the mapper for elements to indices for constant grids.

◆ feBasis()

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

The total number of degrees of freedom.

◆ gridView()

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

Return the gridView this grid geometry object lives on.

◆ isPeriodic()

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

Returns if the grid geometry is periodic (at all).

◆ numDofs()

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

The total number of degrees of freedom.

◆ periodicallyMappedDof()

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

The index of the vertex / d.o.f. on the other side of the periodic boundary.

◆ periodicVertexMap()

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

Returns the map between dofs across periodic boundaries.

◆ setPeriodic()

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

Set the periodicity of the grid geometry.

◆ update() [1/2]

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

Update all fvElementGeometries (call this after grid adaption).

◆ update() [2/2]

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

Update all fvElementGeometries (call this after grid adaption).

◆ vertexMapper() [1/2]

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

Returns the mapper for vertices to indices for possibly adaptive grids.

◆ vertexMapper() [2/2]

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

Returns the mapper for vertices to indices for constant grids.

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: