These are chat archives for Fortran-FOSS-Programmers/General-Discussion

28th
Dec 2016
Stefano Zaghi
@szaghi
Dec 28 2016 16:22

@/all @jacobwilliams

Multidimensional interpolation on non uniform grid

Dear all,
I am now approaching to implement some interpolation procedures for some different purposes:

  • for WENO reconstruction with @giacombum;
  • for mesh-to-mesh solution interpolation;

I am a fun of @jacobwilliams interpolotars and, indeed, I had already planned to use his libraries. However, I have just realized that for my needs two keys are necessary

  • multidimensional;
  • non uniform grids spacing;

Before reinventing the wheel or re-study the state-of-the-art litterature, are you aware of such a kind of interpolator libraries? Obviusly, FOSS and possible in Fortran (or Fortran-friendly).

Jacob's libraries (bspline in particular) is currently my best option: our mesh are in general very slowly-changing that can be viewed (approximated/considered) as locally uniform, but for the WENO aim a non uniform interpolator can be very useful just for only study aims.

Happy new years :tada: :tada:

Milan Curcic
@milancurcic
Dec 28 2016 16:41

@szaghi I have been using ESMF for years for interpolation, take a look at their capabilities: https://www.earthsystemcog.org/projects/esmf/regridding_esmf_6_3_0rp1

Pros:

  • parallel (MPI), including different domain partitioning between source and target grids
  • works for both structured and unstructured grids.
  • has a CLI tool for regridding

Cons:

  • Quite large project if you need only interpolation
  • Only 2-d and 3-d interpolation supported AFAIK
  • No fancy interpolation methods - just nearest neighbor, bilinear, and conservative.

ESMF is probably not something you will want to use, but I recommend you look at it for inspiration, especially how it handles the grid-to-grid interpolation in parallel and interpolating between different domain partitions.

Giacomo Rossi
@giacombum
Dec 28 2016 23:44
The main problem with WENO reconstruction on non-uniform grids is the evaluation of smoothness indicators coefficients: the most used formula for smoothness indicators evaluation consists of a sum of integrals of the squares of the derivatives of the interpolating polynomial; when the interpolating polynomials are Lagrange polynomials (as in the original work of Shu), the evaluation of these coefficient is very laborious for order greater than 3, because analytical expressions are very very very complex. Are you aware of such problem and know a maybe simplest solution? Obviously @szaghi could describe the problem that we have encounter better than me!