dune-functions
2.5-dev
|
A factory for power bases. More...
#include <dune/functions/functionspacebases/powerbasis.hh>
Public Types | |
using | SubFactory = SF |
The child factory. More... | |
using | GridView = typename SF::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... | |
template<class TP > | |
using | SubNode = typename SubFactory::template Node< decltype(TypeTree::push_back(TP(), 0))> |
template<class TP > | |
using | SubIndexSet = typename SubFactory::template IndexSet< decltype(TypeTree::push_back(TP(), 0))> |
template<class TP > | |
using | Node = PowerBasisNode< size_type, TP, SubNode< TP >, children > |
Template mapping root tree path to type of created tree node. More... | |
template<class TP > | |
using | IndexSet = PowerNodeIndexSet< MI, TP, IMS, SF, C > |
Template mapping root tree path to 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, SubFactory::SizePrefix::max_size()+1 > |
Type used for prefixes handed to the size() method. More... | |
Public Member Functions | |
template<class... SFArgs, disableCopyMove< PowerNodeFactory, SFArgs... > = 0, enableIfConstructible< SubFactory, SFArgs... > = 0> | |
PowerNodeFactory (SFArgs &&... sfArgs) | |
Constructor for given child factory 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... | |
template<class TP > | |
Node< TP > | node (const TP &tp) const |
Create tree node with given root tree path. More... | |
template<class TP > | |
IndexSet< TP > | indexSet () const |
Create tree node index set with given root tree path. 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... | |
Protected Attributes | |
SubFactory | subFactory_ |
A factory for power bases.
This node factory represente a power of a given node factory. Its node type is a PowerBasisNodes for the given subnode.
MI | Type to be used for multi-indices |
IMS | An IndexMergingStrategy used to merge the global indices of the child factories |
SF | The child factory |
C | The exponent of the power node |
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::GridView = typename SF::GridView |
The grid view that the FE basis is defined on.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::IndexMergingStrategy = IMS |
Strategy used to merge the global indices of the child factories.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::IndexSet = PowerNodeIndexSet<MI, TP, IMS, SF, C> |
Template mapping root tree path to type of created tree node index set.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::MultiIndex = MI |
Type used for global numbering of the basis vectors.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::Node = PowerBasisNode<size_type, TP, SubNode<TP>, children> |
Template mapping root tree path to type of created tree node.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::size_type = std::size_t |
Type used for indices and size information.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::SizePrefix = Dune::ReservedVector<size_type, SubFactory::SizePrefix::max_size()+1> |
Type used for prefixes handed to the size() method.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::SubFactory = SF |
The child factory.
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::SubIndexSet = typename SubFactory::template IndexSet<decltype(TypeTree::push_back(TP(), 0))> |
using Dune::Functions::PowerNodeFactory< MI, IMS, SF, C >::SubNode = typename SubFactory::template Node<decltype(TypeTree::push_back(TP(), 0))> |
|
inline |
Constructor for given child factory objects.
The child factories 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 |
Create tree node index set with given root tree path.
TP | Type of root tree path |
tp | Root tree path |
Create an index set suitable for the tree node obtained by node(tp).
|
inline |
Initialize the global indices.
|
inline |
Get the maximal number of DOFs associated to node for any element.
|
inline |
Create tree node with given root tree path.
TP | Type of root tree path |
tp | Root tree path |
By passing a non-trivial root tree path this can be used to create a node suitable for being placed in a tree at the position specified by the root tree path.
|
inline |
Same as size(prefix) with empty prefix.
|
inline |
Return number of possible values for next position in multi index.
|
inline |
Update the stored grid view, to be called if the grid has changed.
|
protected |