dune-functions 2.9.0
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R > Class Template Reference

A pre-basis for a hierarchical basis. More...

#include <dune/functions/functionspacebases/hierarchicallagrangebasis.hh>

Public Types

using GridView = GV
 The grid view that the FE basis is defined on. More...
 
using size_type = std::size_t
 Type used for indices and size information. More...
 
using Node = HierarchicalLagrangeNode< GV, k, R >
 Template mapping root tree path to type of created tree node. More...
 

Public Member Functions

 HierarchicalLagrangePreBasis (const GridView &gv)
 Constructor for a given grid view object with layout for second order. More...
 
void initializeIndices ()
 Initialize the global indices. More...
 
const GridViewgridView () const
 Obtain the grid view that the basis is defined on. More...
 
void update (const GridView &gv)
 Update the stored grid view & MultipleCodimMultipleGeomTypeMapper, to be called if the grid has changed. More...
 
Node makeNode () const
 Create tree node. More...
 
size_type size () const
 Same as size(prefix) with empty prefix. More...
 
template<class SizePrefix >
size_type size (const SizePrefix prefix) const
 Return number of possible values for next position in multi index. More...
 
size_type dimension () const
 Get the total dimension of the space spanned by this basis. More...
 
size_type maxNodeSize () const
 Get the maximal number of DOFs associated to node for any element. More...
 
template<typename It >
It indices (const Node &node, It it) const
 

Static Public Attributes

static constexpr size_type maxMultiIndexSize = 1
 
static constexpr size_type minMultiIndexSize = 1
 
static constexpr size_type multiIndexBufferSize = 1
 

Protected Member Functions

unsigned int order () const
 

Protected Attributes

GridView gridView_
 
MultipleCodimMultipleGeomTypeMapper< GridViewmcmgMapper_
 

Detailed Description

template<typename GV, int k, typename R>
class Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >

A pre-basis for a hierarchical basis.

Template Parameters
GVThe grid view that the FE basis is defined on
kThe polynomial order of ansatz functions (limited to second order till now)
RRange type used for shape function values

Member Typedef Documentation

◆ GridView

template<typename GV , int k, typename R >
using Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::GridView = GV

The grid view that the FE basis is defined on.

◆ Node

template<typename GV , int k, typename R >
using Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::Node = HierarchicalLagrangeNode<GV, k, R>

Template mapping root tree path to type of created tree node.

◆ size_type

template<typename GV , int k, typename R >
using Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::size_type = std::size_t

Type used for indices and size information.

Constructor & Destructor Documentation

◆ HierarchicalLagrangePreBasis()

template<typename GV , int k, typename R >
Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::HierarchicalLagrangePreBasis ( const GridView gv)
inline

Constructor for a given grid view object with layout for second order.

(adjust for higher-orders)

Member Function Documentation

◆ dimension()

template<typename GV , int k, typename R >
size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::dimension ( ) const
inline

Get the total dimension of the space spanned by this basis.

◆ gridView()

template<typename GV , int k, typename R >
const GridView & Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::gridView ( ) const
inline

Obtain the grid view that the basis is defined on.

◆ indices()

template<typename GV , int k, typename R >
template<typename It >
It Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::indices ( const Node node,
It  it 
) const
inline

◆ initializeIndices()

template<typename GV , int k, typename R >
void Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::initializeIndices ( )
inline

Initialize the global indices.

◆ makeNode()

template<typename GV , int k, typename R >
Node Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::makeNode ( ) const
inline

Create tree node.

◆ maxNodeSize()

template<typename GV , int k, typename R >
size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::maxNodeSize ( ) const
inline

Get the maximal number of DOFs associated to node for any element.

See https://en.wikipedia.org/wiki/Figurate_number for an explanation of the formula

◆ order()

template<typename GV , int k, typename R >
unsigned int Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::order ( ) const
inlineprotected

◆ size() [1/2]

template<typename GV , int k, typename R >
size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::size ( ) const
inline

Same as size(prefix) with empty prefix.

◆ size() [2/2]

template<typename GV , int k, typename R >
template<class SizePrefix >
size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::size ( const SizePrefix  prefix) const
inline

Return number of possible values for next position in multi index.

◆ update()

template<typename GV , int k, typename R >
void Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::update ( const GridView gv)
inline

Update the stored grid view & MultipleCodimMultipleGeomTypeMapper, to be called if the grid has changed.

Member Data Documentation

◆ gridView_

template<typename GV , int k, typename R >
GridView Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::gridView_
protected

◆ maxMultiIndexSize

template<typename GV , int k, typename R >
constexpr size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::maxMultiIndexSize = 1
staticconstexpr

◆ mcmgMapper_

template<typename GV , int k, typename R >
MultipleCodimMultipleGeomTypeMapper<GridView> Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::mcmgMapper_
protected

◆ minMultiIndexSize

template<typename GV , int k, typename R >
constexpr size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::minMultiIndexSize = 1
staticconstexpr

◆ multiIndexBufferSize

template<typename GV , int k, typename R >
constexpr size_type Dune::Functions::HierarchicalLagrangePreBasis< GV, k, R >::multiIndexBufferSize = 1
staticconstexpr

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