libMesh/libmesh — pull request #25 by benkirk (2012-12-22 23:01:05+00:00)
Title: MeshFree Interpolation

I've implemented a simple MeshFree Interpolation technique using inverse distance interpolation coupled with an approximate nearest neighbor KD-Tree search. We have use for this at JSC to pass boundary data between two codes, particularly when one may not use libMesh data structures. We are actually going to try using it for two libMesh codes as well, when the boundary meshes are not point-matched.

I came across "nanoflann" - a header-only library under the BSD license that is a nice little implementation of KD-Tree search techniques. I may also use it at some point in the future as another potential PointLocator implementation.

I've added miscellaneous_ex8 to demonstrate use.

Comments??

I've implemented one simple parallelization strategy, where the source data are synchronized. This is appropriate for our immediate application. Another technique which I will handle down the road is to do something like collect bounding box data from each processor, and then when interpolating to a point query all processors which may contain source data for that point.