Daniel and Robert, I looked more closely at adapting scikit-fmm for non-uniform (but still structured) grids. For the first-order method this would be fairly simple as the stencil and quadratic used in the point update are basically the same. It would be a matter of programming to create a new entry point into the c++ code and a way to store the grid spacing in each dimension. We could keep the same interface but allow the dx argument to be a two-dimensional array describing the spacing in each dimension. The functions that initialize the narrow band and update the points only need minor changes to use the local grid size.
The second-order point update is a little more complicated because the grid spacing is different for the two upwind points in the second order stencil. This makes the stencil and the resulting quadratic different; they would need to be derived from eq. 8.7 in the Sethian book. Adapting scikit-fmm for unstructured grids is more work. Most of the existing scikit-fmm code assumes a structured mesh so little existing code could be reused. At this point, I think writing some new extension functions for the scikit-fmm module using Cython is the best bet. This would allow us to use the FiPy mesh objects directly. Some time ago, I created a Cython wrapper for the binary min-heap that scikit-fmm uses. (I used this to experiment with some FMM like algorithms on discrete graphs.) The github branch is here: https://github.com/scikit-fmm/scikit-fmm/tree/heap-wrapper The basic first-order method on acute triangulations in 2D is (apparently) relatively simple. Obtuse triangulations require some additional geometric construction. I am willing to put some work into these efforts as they would also benefit my work. Any thoughts on a way forward? Jason On Fri, Jul 25, 2014 at 10:30 AM, Daniel Wheeler <[email protected]> wrote: > > > > On Tue, Jul 22, 2014 at 5:35 PM, Jason Furtney <[email protected]> wrote: >> >> >> >> Also, the Sethian book has the formulation for the fast marching >> method on unstructured grids which we could implement. > > > Jason, > > I would be very interested in having the implemented (it would help my > research directly) and would be something that I could possibly participate > in. > > Thanks, > > Daniel > > -- > Daniel Wheeler > > _______________________________________________ > fipy mailing list > [email protected] > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > -- -- Jason K. Furtney Itasca Consulting Group 111 3rd Ave. South, Suite 450 Minneapolis, MN 55401 USA (612) 371-4711 _______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
