I am modeling fracture propagation using a 2D dynamic unstructured grid. As the fracture propagate over time, the elements move accordingly. For a given time step, I would like to interpolate the data of my unstructured grid zi=f(xi,yi) (where (xi,yi) are the nodes of the unstructured triangles) to obtain the value of the function z on the Cartesian grid (where x and y regularly spaced). My grid size is about 100x100 nodes. There are many ways of doing this interpolation scheme but I do not know enough about the topic to decide which scheme is robust and simple enough. I am using Fortran 90 (do not ask why...). Is there any open-source algorithm available? I do not want to reinvent the wheel.
Thanks a lot!
The Earth System Modeling Framework (ESMF) may be of interest to you:
http://www.earthsystemmodeling.org/
It comes with Fortran, C and more recently Python (limited functionality) APIs and excellent documentation. It is commonly used for data abstraction objects in geophysical models and their coupling, but it also provides routines for regridding between structured and unstructured grids which can be used for offline (stand-alone command line utility) or online (via subroutine calls) interpolation weight generation.
Last time I have looked into it, ESMF provided bilinear, bicubic and quatitity conserving regridding methods.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With