Skip to content

Add dynamic power basis

Simon Praetorius requested to merge feature/dynamic_power_node into master

Summary

This MR introduces a dynamic power node with runtime size. It is based on the dune-typetree DynamicPowerNode and can be constructed by

power(<child>, k)
power(<child>, k, <index-merging-strategy>)

Thus, the "exponent" is given after the child type, like in the std::pow function.

The main assumption for power nodes is that all childs have the same shape/size. This allows to compute the size of the power node itself as k * size-of-child. This property is important to mention, since dynamic-power-nodes would allow trees with different number of children. This is not supported by a (dynamic) power basis! However, one could implement another type of power-like basis, mabye better called vector-basis, where each child has the same type, but is allowed to have a different size, e.g. different lagrange leaf bases, or different dynamic power nodes, or ...

Requires

Edited by Simon Praetorius

Merge request reports