Dune Core Modules (2.9.0)
Dune::Functions::CompositePreBasis< 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. | |
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... | |
template<class GV , std::enable_if_t< std::conjunction_v< std::bool_constant<(children > 1)>, std::is_same< GV, GridView >, std::is_constructible< SPB, GridView >... > , int > | |
CompositePreBasis (const GV &gv) | |
Constructor for given GridView. More... | |
void | initializeIndices () |
Initialize the global indices. | |
const GridView & | gridView () 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. | |
size_type | size () const |
Same as size(prefix) with empty prefix. | |
template<class SizePrefix > | |
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 IMS, class... SPB>
class Dune::Functions::CompositePreBasis< IMS, SPB >
class Dune::Functions::CompositePreBasis< 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
-
IMS An IndexMergingStrategy used to merge the global indices of the child pre-bases SPB The child pre-bases
Constructor & Destructor Documentation
◆ CompositePreBasis() [1/2]
template<class IMS , class... SPB>
template<class... SFArgs, disableCopyMove< CompositePreBasis, SFArgs... > = 0, enableIfConstructible< std::tuple< SPB... >, SFArgs... > = 0>
|
inline |
Constructor for given child pre-basis objects.
The child pre-basis will be stored as copies
References Dune::Hybrid::forEach(), and Dune::Functions::CompositePreBasis< IMS, SPB >::subPreBasis().
◆ CompositePreBasis() [2/2]
template<class IMS , class... SPB>
template<class GV , std::enable_if_t< std::conjunction_v< std::bool_constant<(children > 1)>, std::is_same< GV, GridView >, std::is_constructible< SPB, GridView >... > , int >
|
inline |
Constructor for given GridView.
This constructor is only available if all child pre-bases are constructible from the grid view.
References Dune::Hybrid::forEach(), and Dune::Functions::CompositePreBasis< IMS, SPB >::subPreBasis().
The documentation for this class was generated from the following file:
- dune/functions/functionspacebases/compositebasis.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 21, 23:30, 2024)