Skip to content
Snippets Groups Projects
Commit 860bcc80 authored by graeser's avatar graeser
Browse files

Add istlVectorBackend()

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.
parent 78ebe210
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment