Dune Core Modules (2.8.0)

Dune::Functions::CompositePreBasis< MI, IMS, SPB > Class Template Reference

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

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

Public Types

using SubPreBases = std::tuple< SPB... >
 Tuple of child pre-bases.
 
template<std::size_t i>
using SubPreBasis = std::tuple_element_t< i, SubPreBases >
 Export individual child pre-bases by index.
 
using GridView = typename std::tuple_element_t< 0, SubPreBases >::GridView
 The grid view that the FE basis is defined on.
 
using size_type = std::size_t
 Type used for indices and size information.
 
using IndexMergingStrategy = IMS
 Strategy used to merge the global indices of the child pre-bases.
 
using Node = CompositeBasisNode< typename SPB::Node... >
 Template mapping root tree path to type of created tree node.
 
using IndexSet = Impl::DefaultNodeIndexSet< CompositePreBasis >
 Type of created tree node index set. More...
 
using MultiIndex = MI
 Type used for global numbering of the basis vectors.
 
using SizePrefix = Dune::ReservedVector< size_type, MultiIndex::max_size()>
 Type used for prefixes handed to the size() method.
 

Public Member Functions

template<class... SFArgs, disableCopyMove< CompositePreBasis, SFArgs... > = 0, enableIfConstructible< std::tuple< SPB... >, SFArgs... > = 0>
 CompositePreBasis (SFArgs &&... sfArgs)
 Constructor for given child pre-basis objects. More...
 
void initializeIndices ()
 Initialize the global indices.
 
const GridViewgridView () const
 Obtain the grid view that the basis is defined on.
 
void update (const GridView &gv)
 Update the stored grid view, to be called if the grid has changed.
 
Node makeNode () const
 Create tree node.
 
IndexSet makeIndexSet () const
 Create tree node index set. More...
 
size_type size () const
 Same as size(prefix) with empty prefix.
 
size_type size (const SizePrefix &prefix) const
 Return number of possible values for next position in multi index.
 
size_type dimension () const
 Get the total dimension of the space spanned by this basis.
 
size_type maxNodeSize () const
 Get the maximal number of DOFs associated to node for any element.
 
template<std::size_t i>
const SubPreBasis< i > & subPreBasis (Dune::index_constant< i >={}) const
 Const access to the stored prebasis of the factor in the power space.
 
template<std::size_t i>
SubPreBasis< i > & subPreBasis (Dune::index_constant< i >={})
 Mutable access to the stored prebasis of the factor in the power space.
 
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.
 

Detailed Description

template<class MI, class IMS, class... SPB>
class Dune::Functions::CompositePreBasis< MI, IMS, SPB >

A pre-basis for composite bases.

This pre-basis represents a composition of several given pre-bases. Its node type is a CompositeBasisNodes for the given subnodes.

Template Parameters
MIType to be used for global multi-indices
IMSAn IndexMergingStrategy used to merge the global indices of the child pre-bases
SPBThe child pre-bases

Member Typedef Documentation

◆ IndexSet

template<class MI , class IMS , class... SPB>
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::IndexSet = Impl::DefaultNodeIndexSet<CompositePreBasis>

Type of created tree node index set.

Deprecated:

Constructor & Destructor Documentation

◆ CompositePreBasis()

template<class MI , class IMS , class... SPB>
template<class... SFArgs, disableCopyMove< CompositePreBasis, SFArgs... > = 0, enableIfConstructible< std::tuple< SPB... >, SFArgs... > = 0>
Dune::Functions::CompositePreBasis< MI, IMS, SPB >::CompositePreBasis ( SFArgs &&...  sfArgs)
inline

Constructor for given child pre-basis objects.

The child pre-basis will be stored as copies

References Dune::Hybrid::forEach(), Dune::models(), and Dune::Functions::CompositePreBasis< MI, IMS, SPB >::subPreBasis().

Member Function Documentation

◆ makeIndexSet()

template<class MI , class IMS , class... SPB>
IndexSet Dune::Functions::CompositePreBasis< MI, IMS, SPB >::makeIndexSet ( ) const
inline

Create tree node index set.

Create an index set suitable for the tree node obtained by makeNode().

Deprecated:

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 16, 22:29, 2024)