I solve multi-species, compressible Navier-Stokes equations on a 3D structured grid. I have obtained a solution on a given grid (let's say a relatively coarse one). I want now to refine my grid and interpolate my previous solution on my new grid before restarting my simulation. Currently, we have an interpolation tool that builds a k-d tree of the 2 grids and then can use 2 different methods to compute the values on the new grid:

  • simple averaging
  • inverse-distance-weighted (IDW)
  • moving least squares (MLS)

I want to focus on accuracy because since I deal with large gradients, not capturing them correctly will generate waves when I restart my computation. I first tried simple averaging but the accuracy was not good enough.

I thought MLS method with polynomials of order 2 would give me reasonable results since it is supposed to be non-oscillatory. However, when I look at my interpolated field, I see local minima/maxima that overshoot values of my initial field. Does this mean the implementation of MLS in this program is not correct? Should I be careful with the size of my stencil and the order of the polynomials? Which other method would you recommend?

Thanks in advance !


1 Answer 1


You could use monotone cubic splines:


An explanation of how to do it in multi-D is here:


Another option would be weighted essentially non-oscillatory interpolation; there is a recent review paper on the topic by Chi-Wang Shu.

  • $\begingroup$ I checked the multi-dimensional Monotone cubic interpolation paper and there is a strong precondition for the method to be applicable: > the nodes providing the interpolation data are equally spaced or > follow a strictly monotone, continuous one-to-one mapping from > [0, n] to the interpolation interval. Clearly, this won't be true for my general 3D flowfield. I will dig the other reference though, thanks. $\endgroup$ Commented Nov 30, 2011 at 8:55
  • 2
    $\begingroup$ Here is the article I think David was refering to. $\endgroup$ Commented Nov 30, 2011 at 14:36
  • $\begingroup$ Yes Matt, that is the one. $\endgroup$ Commented Nov 30, 2011 at 15:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.