dune-functions 2.10
|
A pre-basis for dynamic power bases. More...
#include <dune/functions/functionspacebases/dynamicpowerbasis.hh>
Public Types | |
using | SubPreBasis = SPB |
The child pre-basis. | |
using | GridView = typename SPB::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 factories. | |
using | Node = DynamicPowerBasisNode< typename SubPreBasis::Node > |
Template mapping root tree path to type of created tree node. | |
Public Member Functions | |
template<class... SFArgs, disableCopyMove< DynamicPowerPreBasis, SFArgs... > = 0, enableIfConstructible< SubPreBasis, SFArgs... > = 0> | |
DynamicPowerPreBasis (std::size_t c, SFArgs &&... sfArgs) | |
Constructor for given child pre-basis objects. | |
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. | |
std::size_t | children () const |
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. | |
const SubPreBasis & | subPreBasis () const |
Const access to the stored prebasis of the factor in the power space. | |
SubPreBasis & | subPreBasis () |
Mutable access to the stored prebasis of the factor in the power space. | |
template<class NodeType , typename It , std::enable_if_t< NodeType::isPower, int > = 0> | |
It | indices (const NodeType &node, It it) const |
Maps from subtree index set [0..size-1] to a globally unique multi index in global basis. | |
auto | containerDescriptor () const |
Return the associated container descriptor. | |
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 |
Protected Member Functions | |
template<class SizePrefix , class Children > | |
size_type | sizeImpl (SizePrefix prefix, Children children, BasisFactory::FlatInterleaved) const |
template<class SizePrefix , class Children > | |
size_type | sizeImpl (SizePrefix prefix, Children children, BasisFactory::FlatLexicographic) const |
template<class SizePrefix , class Children > | |
size_type | sizeImpl (SizePrefix prefix, Children children, BasisFactory::BlockedLexicographic) const |
template<class SizePrefix , class Children > | |
size_type | sizeImpl (SizePrefix prefix, Children children, BasisFactory::BlockedInterleaved) const |
template<class NodeType , typename It , class Children > | |
It | indicesImpl (const NodeType &node, It multiIndices, Children children, BasisFactory::FlatInterleaved) const |
template<class NodeType , typename It , class Children > | |
It | indicesImpl (const NodeType &node, It multiIndices, Children children, BasisFactory::FlatLexicographic) const |
template<class NodeType , typename It , class Children > | |
It | indicesImpl (const NodeType &node, It multiIndices, Children children, BasisFactory::BlockedLexicographic) const |
template<class NodeType , typename It , class Children > | |
It | indicesImpl (const NodeType &node, It multiIndices, Children children, BasisFactory::BlockedInterleaved) const |
template<class Children > | |
auto | containerDescriptorImpl (Children children) const |
Static Protected Member Functions | |
template<class MultiIndex > | |
static void | multiIndexPopFront (MultiIndex &M) |
template<class MultiIndex > | |
static void | multiIndexPushFront (MultiIndex &M, size_type M0) |
Protected Attributes | |
std::size_t | children_ |
SubPreBasis | subPreBasis_ |
A pre-basis for dynamic power bases.
This pre-basis represents a power of a given pre-basis. Its node type is a DynamicPowerBasisNodes for the given subnode.
IMS | An IndexMergingStrategy used to merge the global indices of the child factories |
SPB | The child pre-basis |
using Dune::Functions::DynamicPowerPreBasis< IMS, SPB >::GridView = typename SPB::GridView |
The grid view that the FE basis is defined on.
using Dune::Functions::DynamicPowerPreBasis< IMS, SPB >::IndexMergingStrategy = IMS |
Strategy used to merge the global indices of the child factories.
using Dune::Functions::DynamicPowerPreBasis< IMS, SPB >::Node = DynamicPowerBasisNode<typename SubPreBasis::Node> |
Template mapping root tree path to type of created tree node.
using Dune::Functions::DynamicPowerPreBasis< IMS, SPB >::size_type = std::size_t |
Type used for indices and size information.
using Dune::Functions::DynamicPowerPreBasis< IMS, SPB >::SubPreBasis = SPB |
The child pre-basis.
|
inlineexplicit |
Constructor for given child pre-basis objects.
The child factories will be stored as copies
|
inline |
|
inline |
Return the associated container descriptor.
|
inlineprotected |
|
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.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
Initialize the global indices.
|
inline |
Create tree node.
|
inline |
Get the maximal number of DOFs associated to node for any element.
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inline |
Same as size(prefix) with empty prefix.
|
inline |
Return number of possible values for next position in multi index.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
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.
|
protected |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
protected |