Adding a new class LagrangeInterpolator that interpolates a GenericFunction fast onto a Lagrange function space.

Merged
#112 · Created  · Last updated

Merged pull request

Merge branch 'mikael/lagrange-interpolation'

4900e59·Author: ·Closed by: ·2014-05-19

Description

With the new class LagrangeInterpolator two things are achieved

  • Much faster interpolation of GenericFunctions for Lagrange spaces. (Speed-up factor of ≈100 has been observed for a TensorFunctionSpace in 3D.)

  • Interpolation on non-matching meshes in parallel for Lagrange spaces

The implementation interferes very little with existing code. One struct lt_coordinate and one function in_bounding_box are borrowed from PeriodicBoundaryComputation. This suggests that there should probably be a base class or something similar containing these reuseable functions. Something I consider easily fixed later on.

I'm also thinking that the interpolate wrapper function in Python could be made to take a keyword like Lagrange=True, that would lead to more seamless integration of the class. This has not been added yet though.

0 attachments

0 comments

Loading commits...