ddemidov / mba

Scattered data interpolation with multilevel B-Splines
MIT License
73 stars 23 forks source link

Avoiding oscillations #4

Closed christoph-sohrmann closed 7 years ago

christoph-sohrmann commented 7 years ago

Hi,

I would like to use your interpolation library to map a PDE solution from an unstructured grid to a structured grid. However, when I use the default settings similar to your example, I get oscillations and overshoots in the interpolated values. Mathematically the range of my solution should be between 0 and 1, thus the interpolated values should also remain in this range. Do you happen to have a hint on how to set up the interpolation to minimize oscillations and overshoots?

Thanks, Chris

ddemidov commented 7 years ago

There is no way to impose restrictions on the results. Also, since the basis functions are B-splines, some overshoot may be inevitable. My guess is you need to play with the initial grid size, so that each cell in the initial grid does not cover more than a few input points. I hope the following examples may be of use:

http://nbviewer.jupyter.org/gist/anonymous/32e7b8c19b7cadec54dedc639dba332c

I would also recommend reading the paper this implementation was based on. It is nicely written and should help with the understanding of parameters.

christoph-sohrmann commented 7 years ago

Thanks for the explanation and the link. Since the range of the result is important, I guess I need to use a different interpolation algorithm which maintains it. Will try a triangulation approach. Cheers.