Skip to content
Snippets Groups Projects
Carsten Gräser's avatar
graeser authored
This creates a VectorBackend suitable for using nested ISTL
vectors as coefficient vector in dune-functions. The returned
type is an implementation detail for now. However we may want
to make this public also.

This is very close to the old HierarchicVectorWrapper but does
not require to pass the coefficient type for termination of
the recursive index resolution. Instead indices are resolved
as log as the resulting type is not a scalar, i.e., as long
as it provides operator[]. To handle the nasty case of scalars
encoded as Dune::FieldVector<k,1> this adds [0] as long as needed
once the digits of the multi-index are exhausted.

This helps to avoid the nasty atomagic feature of
HierarchicVectorWrapper that only worked partially anyway.
Onthe other hand, it prohibits using non-scalar coefficients
to implement implicitly vector-valued functions. However, this
should better be implemented using a power-basis anyway.
Users relying on this feature (e.g. for dune-fufem) can still
use the old HierarchicVectorWrapper for a transistion period.
860bcc80
History
Name Last commit Last update