dune-functions
2.8.0
|
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. More... | |
template<std::size_t i> | |
using | SubPreBasis = std::tuple_element_t< i, SubPreBases > |
Export individual child pre-bases by index. More... | |
using | GridView = typename std::tuple_element_t< 0, SubPreBases >::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 pre-bases. More... | |
using | Node = CompositeBasisNode< typename SPB::Node... > |
Template mapping root tree path to type of created tree node. More... | |
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. More... | |
using | SizePrefix = Dune::ReservedVector< size_type, MultiIndex::max_size()> |
Type used for prefixes handed to the size() method. More... | |
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. More... | |
const GridView & | gridView () 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... | |
IndexSet | makeIndexSet () const |
Create tree node index set. More... | |
size_type | size () const |
Same as size(prefix) with empty prefix. More... | |
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<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. More... | |
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. 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... | |
Protected Types | |
using | ChildIndices = std::make_index_sequence< children > |
Static Protected Attributes | |
static const std::size_t | children = sizeof...(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.
MI | Type to be used for global multi-indices |
IMS | An IndexMergingStrategy used to merge the global indices of the child pre-bases |
SPB | The child pre-bases |
|
protected |
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::GridView = typename std::tuple_element_t<0, SubPreBases>::GridView |
The grid view that the FE basis is defined on.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::IndexMergingStrategy = IMS |
Strategy used to merge the global indices of the child pre-bases.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::IndexSet = Impl::DefaultNodeIndexSet<CompositePreBasis> |
Type of created tree node index set.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::MultiIndex = MI |
Type used for global numbering of the basis vectors.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::Node = CompositeBasisNode<typename SPB::Node...> |
Template mapping root tree path to type of created tree node.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::size_type = std::size_t |
Type used for indices and size information.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::SizePrefix = Dune::ReservedVector<size_type, MultiIndex::max_size()> |
Type used for prefixes handed to the size() method.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::SubPreBases = std::tuple<SPB...> |
Tuple of child pre-bases.
using Dune::Functions::CompositePreBasis< MI, IMS, SPB >::SubPreBasis = std::tuple_element_t<i, SubPreBases> |
Export individual child pre-bases by index.
|
inline |
Constructor for given child pre-basis objects.
The child pre-basis will be stored as copies
|
inline |
Get the total dimension of the space spanned by this basis.
|
inline |
Obtain the grid view that the basis is defined on.
|
inline |
Maps from subtree index set [0..size-1] to a globally unique multi index in global basis.
|
inline |
Initialize the global indices.
|
inline |
Create tree node index set.
Create an index set suitable for the tree node obtained by makeNode().
|
inline |
Create tree node.
|
inline |
Get the maximal number of DOFs associated to node for any element.
|
inline |
Same as size(prefix) with empty prefix.
|
inline |
Return number of possible values for next position in multi index.
|
inline |
Mutable access to the stored prebasis of the factor in the power space.
|
inline |
Const access to the stored prebasis of the factor in the power space.
|
inline |
Update the stored grid view, to be called if the grid has changed.
|
staticprotected |