SIMD interpolation

This MR adds support and tests for interpolating into a vector with SIMD datatype. It is possible to have a scalar valued basis and possibly a SIMD type coefficient vector representing multiple functions at once that have to be interpolated.

Only a few changes were needed for some finite elements to support this kind of interpolation since in general the RangeType of the function to be interpolated (possibly a SIMD type) might differ from the BasisRangeType. The tests test-fe and test-localfe show that except for the RaviartThomasSimplexLocalFiniteElement and the DualQ1LocalFiniteElement all other tests succeed.

However, currently this will not work whenever the VirtualInterface gets involved, since there RangeType and DomainType of the function to be interpolated are connected to the basis and it is not easily possible to change this. Maybe someone else has an idea for this...

Merge request reports

Loading