3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Attributes | List of all members
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 >:
Inheritance graph

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 GridView = typename FEB::GridView
 export the grid view type More...
 
using FEBasis = FEB
 export the type of finite element basis More...
 
using LocalView = typename Traits::template LocalView< ThisType >
 export local view More...
 
using Grid = typename GV::Grid
 export the grid type More...
 
using GlobalCoordinate = typename Element::Geometry::GlobalCoordinate
 export the global coordinate type More...
 
using ElementMapper = typename Traits::ElementMapper
 export the element mapper type More...
 
using VertexMapper = typename Traits::VertexMapper
 export the vertex mapper type More...
 

Public Member Functions

 FEGridGeometry (std::shared_ptr< FEBasis > feBasis)
 Constructor. More...
 
auto numDofs () const
 The total number of degrees of freedom. More...
 
const FEBasisfeBasis () const
 The total number of degrees of freedom. 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 > & periodicVertexMap () const
 Returns the map between dofs across periodic boundaries. More...
 
void update ()
 Update all fvElementGeometries (do this again 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...
 
const BoundingBoxTreeboundingBoxTree () const
 Returns the bounding box tree of the grid. More...
 
const ElementMapelementMap () 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...
 
void setPeriodic (bool value=true)
 Set the periodicity of the grid geometry. More...
 

Static Public Attributes

static constexpr DiscretizationMethod discMethod = DiscretizationMethod::fem
 export discretization method More...
 

Member Typedef Documentation

◆ ElementMapper

using Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::ElementMapper = typename Traits::ElementMapper
inherited

export the element mapper type

◆ FEBasis

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

export the type of finite element basis

◆ GlobalCoordinate

using Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::GlobalCoordinate = typename Element::Geometry::GlobalCoordinate
inherited

export the global coordinate type

◆ Grid

using Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::Grid = typename GV::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

using Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::VertexMapper = typename Traits::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()

const GlobalCoordinate & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::bBoxMax ( ) const
inlineinherited

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

◆ bBoxMin()

const GlobalCoordinate & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::bBoxMin ( ) const
inlineinherited

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

◆ boundingBoxTree()

const BoundingBoxTree & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::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()

Element Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::element ( GridIndexType  eIdx) const
inlineinherited

Get an element from a global element index.

◆ elementMap()

const ElementMap & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::elementMap ( ) const
inlineinherited

Returns the element index to element map.

◆ elementMapper() [1/2]

ElementMapper & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::elementMapper ( )
inlineinherited

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

◆ elementMapper() [2/2]

const ElementMapper & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::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()

const GridView & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::gridView ( ) const
inlineinherited

Return the gridView this grid geometry object lives on.

◆ isPeriodic()

bool Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::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()

void Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::setPeriodic ( bool  value = true)
inlineinherited

Set the periodicity of the grid geometry.

◆ update()

void Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::update ( )
inlineinherited

Update all fvElementGeometries (do this again after grid adaption)

Update the mappers

Compute the bouding box of the entire domain, for e.g. setting boundary conditions

reset bounding box tree and the element map until requested the next time

◆ vertexMapper() [1/2]

VertexMapper & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::vertexMapper ( )
inlineinherited

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

◆ vertexMapper() [2/2]

const VertexMapper & Dumux::BaseGridGeometry< FEB::GridView , DefaultFEGridGeometryTraits< FEB > >::vertexMapper ( ) const
inlineinherited

Returns the mapper for vertices to indices for constant grids.

Member Data Documentation

◆ discMethod

template<class FEB , class Traits = DefaultFEGridGeometryTraits<FEB>>
constexpr DiscretizationMethod Dumux::FEGridGeometry< FEB, Traits >::discMethod = DiscretizationMethod::fem
staticconstexpr

export discretization method


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