dune-functions 2.9.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dune::Functions::PowerPreBasis< IMS, SPB, C > Class Template Reference

A pre-basis for power bases. More...

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

Public Types

using SubPreBasis = SPB
 The child pre-basis. More...
 
using GridView = typename SPB::GridView
 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 IndexMergingStrategy = IMS
 Strategy used to merge the global indices of the child factories. More...
 
using SubNode = typename SubPreBasis::Node
 
using Node = PowerBasisNode< SubNode, children >
 Template mapping root tree path to type of created tree node. More...
 

Public Member Functions

template<class... SFArgs, disableCopyMove< PowerPreBasis, SFArgs... > = 0, enableIfConstructible< SubPreBasis, SFArgs... > = 0>
 PowerPreBasis (SFArgs &&... sfArgs)
 Constructor for given child pre-basis objects. 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, 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...
 
const SubPreBasissubPreBasis () const
 Const access to the stored prebasis of the factor in the power space. More...
 
SubPreBasissubPreBasis ()
 Mutable access to the stored prebasis of the factor in the power space. More...
 
template<typename It >
It indices (const Node &node, It it) const
 Maps from subtree index set [0..size-1] to a globally unique multi index in global basis. More...
 

Static Public Attributes

static constexpr size_type maxMultiIndexSize = SubPreBasis::maxMultiIndexSize + isBlocked
 
static constexpr size_type minMultiIndexSize = SubPreBasis::minMultiIndexSize + isBlocked
 
static constexpr size_type multiIndexBufferSize = SubPreBasis::multiIndexBufferSize + isBlocked
 

Detailed Description

template<class IMS, class SPB, std::size_t C>
class Dune::Functions::PowerPreBasis< IMS, SPB, C >

A pre-basis for power bases.

This pre-basis represents a power of a given pre-basis. Its node type is a PowerBasisNodes for the given subnode.

Template Parameters
IMSAn IndexMergingStrategy used to merge the global indices of the child factories
SPBThe child pre-basis
CThe exponent of the power node

Member Typedef Documentation

◆ GridView

template<class IMS , class SPB , std::size_t C>
using Dune::Functions::PowerPreBasis< IMS, SPB, C >::GridView = typename SPB::GridView

The grid view that the FE basis is defined on.

◆ IndexMergingStrategy

template<class IMS , class SPB , std::size_t C>
using Dune::Functions::PowerPreBasis< IMS, SPB, C >::IndexMergingStrategy = IMS

Strategy used to merge the global indices of the child factories.

◆ Node

template<class IMS , class SPB , std::size_t C>
using Dune::Functions::PowerPreBasis< IMS, SPB, C >::Node = PowerBasisNode<SubNode, children>

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

◆ size_type

template<class IMS , class SPB , std::size_t C>
using Dune::Functions::PowerPreBasis< IMS, SPB, C >::size_type = std::size_t

Type used for indices and size information.

◆ SubNode

template<class IMS , class SPB , std::size_t C>
using Dune::Functions::PowerPreBasis< IMS, SPB, C >::SubNode = typename SubPreBasis::Node

◆ SubPreBasis

template<class IMS , class SPB , std::size_t C>
using Dune::Functions::PowerPreBasis< IMS, SPB, C >::SubPreBasis = SPB

The child pre-basis.

Constructor & Destructor Documentation

◆ PowerPreBasis()

template<class IMS , class SPB , std::size_t C>
template<class... SFArgs, disableCopyMove< PowerPreBasis, SFArgs... > = 0, enableIfConstructible< SubPreBasis, SFArgs... > = 0>
Dune::Functions::PowerPreBasis< IMS, SPB, C >::PowerPreBasis ( SFArgs &&...  sfArgs)
inline

Constructor for given child pre-basis objects.

The child factories will be stored as copies

Member Function Documentation

◆ dimension()

template<class IMS , class SPB , std::size_t C>
size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::dimension ( ) const
inline

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

◆ gridView()

template<class IMS , class SPB , std::size_t C>
const GridView & Dune::Functions::PowerPreBasis< IMS, SPB, C >::gridView ( ) const
inline

Obtain the grid view that the basis is defined on.

◆ indices()

template<class IMS , class SPB , std::size_t C>
template<typename It >
It Dune::Functions::PowerPreBasis< IMS, SPB, C >::indices ( const Node node,
It  it 
) const
inline

Maps from subtree index set [0..size-1] to a globally unique multi index in global basis.

◆ initializeIndices()

template<class IMS , class SPB , std::size_t C>
void Dune::Functions::PowerPreBasis< IMS, SPB, C >::initializeIndices ( )
inline

Initialize the global indices.

◆ makeNode()

template<class IMS , class SPB , std::size_t C>
Node Dune::Functions::PowerPreBasis< IMS, SPB, C >::makeNode ( ) const
inline

Create tree node.

◆ maxNodeSize()

template<class IMS , class SPB , std::size_t C>
size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::maxNodeSize ( ) const
inline

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

◆ size() [1/2]

template<class IMS , class SPB , std::size_t C>
size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::size ( ) const
inline

Same as size(prefix) with empty prefix.

◆ size() [2/2]

template<class IMS , class SPB , std::size_t C>
template<class SizePrefix >
size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::size ( const SizePrefix &  prefix) const
inline

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

◆ subPreBasis() [1/2]

template<class IMS , class SPB , std::size_t C>
SubPreBasis & Dune::Functions::PowerPreBasis< IMS, SPB, C >::subPreBasis ( )
inline

Mutable access to the stored prebasis of the factor in the power space.

◆ subPreBasis() [2/2]

template<class IMS , class SPB , std::size_t C>
const SubPreBasis & Dune::Functions::PowerPreBasis< IMS, SPB, C >::subPreBasis ( ) const
inline

Const access to the stored prebasis of the factor in the power space.

◆ update()

template<class IMS , class SPB , std::size_t C>
void Dune::Functions::PowerPreBasis< IMS, SPB, C >::update ( const GridView gv)
inline

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

Member Data Documentation

◆ maxMultiIndexSize

template<class IMS , class SPB , std::size_t C>
constexpr size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::maxMultiIndexSize = SubPreBasis::maxMultiIndexSize + isBlocked
staticconstexpr

◆ minMultiIndexSize

template<class IMS , class SPB , std::size_t C>
constexpr size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::minMultiIndexSize = SubPreBasis::minMultiIndexSize + isBlocked
staticconstexpr

◆ multiIndexBufferSize

template<class IMS , class SPB , std::size_t C>
constexpr size_type Dune::Functions::PowerPreBasis< IMS, SPB, C >::multiIndexBufferSize = SubPreBasis::multiIndexBufferSize + isBlocked
staticconstexpr

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