Abstract
A new algorithm is proposed to describe the propagation of fronts advected in the normal direction with prescribed speed function F. The assumptions on F are that it does not depend on the front itself, but can depend on space and time. Moreover, it can vanish and change sign. The novelty of our method is that its overall computational complexity is predicted to be comparable to that of the Fast Marching Method (Sethian in Proceedings of the National Academy Sciences 93:1591–1595, 1996); (Vladimirsky in Interfaces Free Bound 8(3):281–300, 2006) in most instances. This latter algorithm is \(\mathcal {O}(N^{n}\log N^{n})\) if the computational domain comprises \(N^{n}\) points. We use it in regions where the speed is bounded away from zero—and switch to a different formalism when \(F \approx 0\). To this end, a collection of so-called sideways partial differential equations is introduced. Their solutions locally describe the evolving front and depend on both space and time. The well-posedness and geometric properties of those equations are addressed. We then propose a convergent and stable discretization of the PDEs. The resulting algorithm is presented together with a thorough discussion of its features. The accuracy of the scheme is tested when F depends on both space and time. Each example yields an \(\mathcal {O}(1/N)\) global truncation error. We conclude with a discussion of the advantages and limitations of our method.
Similar content being viewed by others
Notes
This follows directly from the fact that (21) is a first order Hamilton-Jacobi equation.
TriScatteredInterp MatLab function
References
Adalsteinsson, D., Sethian, J.A.: A fast level set method for propagating interfaces. J. Comput. Phys. 118(2), 269–277 (1995)
Adalsteinsson, D., Sethian, J.A.: A level set approach to a unified model for etching, deposition, and lithography. I. Algorithms and two-dimensional simulations. J. Comput. Phys. 120(1), 128–144 (1995)
Amenta, N., Bern, M., Kamvysselis, M.: A new Voronoi-based surface reconstruction algorithm. In: Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH ’98, pp. 415–421. ACM, New York, NY, USA (1998)
Bardi, M., Capuzzo-Dolcetta, I.: Optimal Control and Viscosity Solutions of Hamilton-Jacobi-Bellman Equations. Modern Birkhäuser Classics. Birkhäuser, Boston (2008)
Barles, G.: Existence results for first order Hamilton Jacobi equations. Ann. Inst. H. Poincaré Anal. Non Linéaire 1(5), 325–340 (1984)
Carlini, E., Cristiani, E., Forcadel, N.: A non-monotone fast marching scheme for a Hamilton-Jacobi equation modeling dislocation dynamics. ENUMATH 2005, Santiago de Compostela (Spain) (2007)
Carlini, E., Falcone, M., Forcadel, N., Monneau, R.: Convergence of a generalized fast-marching method for an eikonal equation with a velocity-changing sign. SIAM J. Numer. Anal. 46(6), 2920–2952 (2008)
Chazal, F., Cohen-Steiner, D., Mérigot, Q.: Geometric inference for probability measures. Found. Comput. Math. 11(6), 733–751 (2011)
Cheng, L.T., Tsai, Y.H.: Redistancing by flow of time dependent eikonal equation. J. Comput. Phys. 227(8), 4002–4017 (2008)
Chopp, D.L.: Some improvements of the fast marching method. SIAM J. Sci. Comput. 23(1), 230–244 (2001)
Chopp, D.L.: Another look at velocity extensions in the level set method. SIAM J. Sci. Comput. 31(5), 3255–3273 (2009)
Crandall, M.G., Evans, L.C., Lions, P.L.: Some properties of viscosity solutions of Hamilton-Jacobi equations. Trans. Amer. Math. Soc. 282(2), 487–502 (1984)
Crandall, M.G., Ishii, H., Lions, P.L.: User’s guide to viscosity solutions of second order partial differential equations. Bull. Amer. Math. Soc. (N.S.) 27(1), 1–67 (1992)
Crandall, M.G., Lions, P.L.: Viscosity solutions of Hamilton-Jacobi equations. Trans. Am. Math. Soc. 277(1), 1–42 (1983)
Crandall, M.G., Lions, P.L.: Two approximations of solutions of Hamilton-Jacobi equations. Math. Comput. 43(167), 1–19 (1984)
Crandall, M.G., Tartar, L.: Some relations between nonexpansive and order preserving mappings. Proc. Am. Math. Soc. 78(3), 385–390 (1980)
Dijkstra, E.: A note on two problems in connexion with graphs. Numerische Mathematik 1(1), 269–271 (1959)
Evans, L.: Partial Differential Equations. Graduate studies in Mathematics. American Mathematical Society, Providence (2010)
Falcone, M.: The minimum time problem and its applications to front propagation. In: Visintin, A., Buttazzo, G. (eds.) Motion by Mean Curvature and Related Topics, pp. 70–88. De Gruyter verlag, Berlin (1994)
Forcadel, N., Le Guyader, C., Gout, C.: Generalized fast marching method: applications to image segmentation. Numer. Algorithms 48(1–3), 189–211 (2008)
Gibou, F., Fedkiw, R., Caflisch, R., Osher, S.: A level set approach for the numerical simulation of dendritic growth. J. Sci. Comput. 19(1–3), 183–199 (2003). Special issue in honor of the sixtieth birthday of Stanley Osher
Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., Stuetzle, W.: Surface reconstruction from unorganized points. SIGGRAPH Comput. Graph. 26(2), 71–78 (1992)
Koike, S.: A Beginner’s Guide to the Theory of Viscosity Solutions. MSJ Memoirs. Mathematical Society of Japan, Tokyo (2004)
Lions, P.L., Rouy, E., Tourin, A.: Shape-from-shading, viscosity solutions and edges. Numerische Mathematik 64(1), 323–353 (1993)
Lolla, T., Ueckermann, M., Yigit, K., Haley, P., Lermusiaux, P.: Path planning in time dependent flow fields using level set methods. In: 2012 IEEE International Conference on Robotics and Automation (ICRA), pp. 166–173. River Centre, Saint Paul, Minnesota, USA (2012)
Lorensen, W.E., Cline, H.E.: Marching cubes: a high resolution 3D surface construction algorithm. SIGGRAPH Comput. Graph. 21(4), 163–169 (1987)
Malladi, R., Sethian, J.A., Vemuri, B.C.: A fast level set based algorithm for topology-independent shape modeling. J. Math. Imaging Vision 6(2–3), 269–289 (1996)
Merriman, B., Bence, J.K., Osher, S.J.: Motion of multiple functions: a level set approach. J. Comput. Phys. 112(2), 334–363 (1994)
Mitchell, I.: Dynamic programming algorithms for planning and robotics in continuous domains and the Hamilton-Jacobi equation (Slides presented for IROS meeting in France). http://www.cs.ubc.ca/mitchell/Talks/mitchellIROS.pdf (2008)
Mulder, W., Osher, S., Sethian, J.A.: Computing interface motion in compressible gas dynamics. J. Comput. Phys. 100(2), 209–228 (1992)
Oberman, A.M.: Convergent difference schemes for degenerate elliptic and parabolic equations: Hamilton-Jacobi equations and free boundary problems. SIAM J. Numer. Anal. 44(2), 879–895 (2006). (electronic)
Osher, S., Cheng, L.T., Kang, M., Shim, H., Tsai, Y.H.: Geometric optics in a phase-space-based level set and eulerian framework. J. Comput. Phys. 179(2), 622–648 (2002)
Osher, S., Fedkiw, R.: Level set methods and dynamic implicit surfaces, Applied Mathematical Sciences, vol. 153. Springer, New York (2003)
Osher, S., Sethian, J.: Fronts propagating with curvature dependent speed: algorithms based on Hamilton-Jacobi formulations. J. Comp. Phys. 79, 12–49 (1988)
Pauly, M., Gross, M., Kobbelt, L.P.: Efficient simplification of point-sampled surfaces. In: Proceedings of the Conference on Visualization ’02. VIS ’02, pp. 163–170. IEEE Computer Society, Washington, DC, USA (2002)
Peng, D., Merriman, B., Osher, S., Zhao, H., Kang, M.: A PDE-based fast local level set method. J. Comput. Phys. 155(2), 410–438 (1999)
Russo, G., Smereka, P.: A remark on computing distance functions. J. Comput. Phys. 163(1), 51–67 (2000)
Sethian, J.: Numerical methods for propagating fronts. In: Concus, P., Finn, R. (eds.) Variational Methods for Free Surface Interfaces, pp. 155–164. Springer, New York (1987)
Sethian, J.: A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci. 93, 1591–1595 (1996)
Sethian, J.: Fast marching methods. SIAM Rev. 41(2), 199–235 (1999)
Sethian, J.: Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science. Cambridge Monographs on Applied and Computational Mathematics. Cambridge University Press, Cambridge (1999)
Sethian, J.A., Strain, J.: Crystal growth and dendritic solidification. J. Comput. Phys. 98(2), 231–253 (1992)
Sethian, J.A., Vladimirsky, A.: Ordered upwind methods for static Hamilton-Jacobi equations. Proc. Natl. Acad. Sci. USA 98(20), 11069–11074 (2001)
Sethian, J.A., Vladimirsky, A.: Ordered upwind methods for static Hamilton-Jacobi equations: theory and algorithms. SIAM J. Numer. Anal. 41(1), 325–363 (2003)
Souganidis, P.E.: Approximation schemes for viscosity solutions of Hamilton-Jacobi equations. J. Differ. Equ. 59(1), 1–43 (1985)
Souganidis, P.E.: Existence of viscosity solutions of Hamilton-Jacobi equations. J. Differ. Equ. 56(3), 345–390 (1985)
Subbotin, A.: Generalized Solutions of First Order PDEs: The Dynamical Optimization Perspective. Systems & Control. Birkhäuser, Boston (1994)
Sussman, M., Fatemi, E.: An efficient, interface-preserving level set redistancing algorithm and its application to interfacial incompressible fluid flow. SIAM J. Sci. Comput. 20(4), 1165–1191 (1999). (electronic)
Sussman, M., Smereka, P., Osher, S.: A level set approach for computing solutions to incompressible two-phase flow. J. Comput. Phys. 114(1), 146–159 (1994)
Takei, R., Tsai, R.: Optimal trajectories of curvature constrained motion in hamilton-jacobi formulation (to appear). J. Sci. Comput. 54(2), 622–644 (2013)
The MathWorks Inc., N.M.U.S.: MatLab and Statistics Toolbox Release 2010b, Version 7.11.0.584. The Mathworks, Inc., Natick, Massachusetts, United States. (2010)
Tsitsiklis, J.N.: Efficient algorithms for globally optimal trajectories. IEEE Trans. Automat. Control 40(9), 1528–1538 (1995)
Vladimirsky, A.: Static PDEs for time-dependent control problems. Interfaces Free Bound 8(3), 281–300 (2006)
Zhao, H.: A fast sweeping method for Eikonal equations. Math. Comput. 74(250), 603–627 (2005)
Zhao, H.K., Osher, S., Fedkiw, R.: Fast surface reconstruction using the level set method. In: Proceedings IEEE Workshop on Variational and Level Set Methods in Computer Vision, 2001. pp. 194–201 (2001)
Zhu, J., Ronney, P.: Simulation of front propagation at large non-dimensional flow disturbance intensities. Combust. Sci. Technol. 100(1–6), 183–201 (1994)
Acknowledgments
The authors wish to thank Prof. A.Oberman for helpful discussions. The second author would like to thank the organizers of the 2011 BIRS workshop “Advancing numerical methods for viscosity solutions and applications”, Profs. Falcone, Ferretti, Mitchell, and Zhao for stimulating discussions which eventually lead to this work
Author information
Authors and Affiliations
Corresponding author
Additional information
The first author acknowledges the support of the Schulich Graduate Fellowship. This research was partly supported through the NSERC Discovery and Discovery Accelerator Supplement grants of the second author.
Appendices
Appendix 1: Direct Method to Compute \(\psi _{\mathrm {II}}\) in the t-FMM, in 2D
We provide a direct method for solving the minimization problem appearing in Equation (17), in two dimensions. Introducing \(\tau (y)=h/|F(\mathbf {x}_{ij},\psi (y))|\), we first use linear interpolation to simplify the quantity we wish to minimize:
Minimizing f over \(\xi \in (0,1)\) amounts to finding the roots of \(0 = c_{4}\lambda ^{4} + c_{3}\lambda ^{3} + c_{2}\lambda ^{2} + c_{1}\lambda + c_{0}\) where \(\lambda \in (0,1)\) is such that \(f'(\lambda )=0\). This quartic can be solved either directly with closed formulas, or with Newton’s method—we use the latter. For each root \(r_{i} \in (0,1)\) the corresponding value of \(\psi \) is computed as \(\psi _{\mathrm {II},r_{i}}=f(r_{i})\). If \(\psi _{\mathrm {II},r_{i}}< \psi (\mathbf {x}_{i-1,j})\) or \(\psi _{\mathrm {II},r_{i}}<\psi (\mathbf {x}_{i,j+1})\), then \(\psi _{\mathrm {II},r_{i}}\) is discarded. Values arising from minimization in one dimension are also computed as \(\psi _{\mathrm {II},0} = \psi (\mathbf {x}_{i,j+1}) + \tau (\mathbf {x}_{i,j+1})\) and \(\psi _{\mathrm {II},1} = \psi (\mathbf {x}_{i-1,j}) + \tau (\mathbf {x}_{i-1,j})\). The global minimum is found by comparing all those values.
Appendix 2: Implementation Details for the Examples
We give some details about the examples presented in Sect. 7. All tests were performed using Matlab \(^\circledR \) [51]. In particular, finding the minimum value in \(\mathcal {N}\) is done using min.
Computing the outward normal In regions where the level-set function \(\phi \) is \(C^{1}\), we have \(\hat{\nu }= (\phi _{x},\phi _{y},\phi _{t})/|(\phi _{x},\phi _{y},\phi _{t})|\). We use the Implicit Function Theorem: e.g., If \(\psi (y,t)=x\) satisfies \(\phi (\psi (y,t),y,t)=0\), then \(\phi _{y} = -\phi _{x}\psi _{y}\) and \(\phi _{t} = -\phi _{x}\psi _{t}\). Since \(\phi _{x} \ne 0\), we set \(\mathbf {\nu }= (+\mathrm {sign}(\phi _{x}),\psi _{y},\psi _{t})\) and \(\hat{\nu }= \mathbf {\nu }/|\mathbf {\nu }|\). In the (t-)FMM as well as in the sideways representations, the points used to approximate the derivatives using finite-differences are the ones involved in the computation of the new point. E.g., In the t-FMM, if two-dimensional optimization was used in Quadrant III to obtain \(\psi _{ij}\), then \(\hat{\nu }(p_{ij}) = \mathbf {\nu }/|\mathbf {\nu }|\) where
Choice of parameters In all examples, the number of points in each dimension is \(N+1\), and the spatial grid spacings are even: \(h=dx=dy\). The size of the local grid in Algorithm 3 is \(s= \lfloor \frac{N}{3} \rfloor \). When F depends on time, we use adaptive time-stepping. Before the time where \(F=0\), we set \(\varDelta t = r_{1} h\). Passed that time, we let \(\varDelta t = r_{2} h\). To assess the convergence of the sideways methods, a yt-grid with spacings h and \(\varDelta t = h/2\) is built. The exact normal \(\hat{\nu }\) is assigned to the points as they are accepted in all the examples, except Example 1 where it is computed as explained in the above paragraph.
Example 1
The exact solution to the Level-Set Equation is \(\phi (x,y,t) = \sqrt{x^{2}+y^{2}} -R(t)\) where \(R(t) = \left( r_{0} - \frac{e^{10t}-1}{10e}+t \right) \). Domain: \([-.321,.319]^{2}\). \(T_{F}=0.3\). xt- and yt-rep.: \(r_{1} = 1/3\), \(r_{2} = 2\). Skewed rep.: \(r_{1} = r_{2} = 1\). Domain for convergence of Algorithm 4: \((y,t) \in [-0.25,0.25]\times [0,0.3]\).
Example 2
The signed distance function to \(\mathcal {C}_{t}\) is given as \(\phi (x,y,t)=\sqrt{(x-x_{c}(t))^{2}+y^{2}}-r(t)\) where \(x_{c}(t) = r_{0}\sinh t\) and \(r(t) = r_{0}\cosh t\). Note that \(\phi \) does not solve the Level-Set Equation. Domain: \([-1.01,0.99]^2\). \(T_{F}=1\). xt- and yt-rep.: \(r_{1} = 1/3\), \(r_{2} = 2\). Skewed rep.: \(r_{1} = 1/3\), \(r_{2} = 5\). Domain for convergence of Algorithm 4: \((y,t) \in [-0.25,0.25]\times [0,1]\) and \((x,t) \in [-0.25,0.25]\times [0,1]\).
Example 3
The exact solution to the Level-Set Equation is \(\phi (x,y,t) = \sqrt{(x-g t)^2+y^2}-\left( r_{0}+c t \right) \) where \(b=10\), \(c=1/2\) and \(g(t) = \arctan \left( b(t-0.5)\right) + \frac{\pi }{2}\). The speed is
We expect the circle to first expand (when t is small), and then expand while moving to the right with speed \(\pi \) (when t is large). Domain: \([-1.51,+1.49]^{2}\). \(T_{F}=0.5\). xt- and yt-rep.: \(r_{1} = 1/3\), \(r_{2} = 2\). Skewed rep.: \(r_{1} = 1/3\), \(r_{2} = 5\). Domain for convergence of Algorithm 4: \((y,t) \in [-0.25,0.25]\times [0,0.5]\).
Example 4
The set \(\mathcal {C}_{0}\) consists of two disjoint circles of radius \(r_{0}=0.25\), with centres at \((-0.3,0)\) and (0.3, 0). The speed is \(F = 1-e^{2t-1}\). The circles touch along the y-axis when \(t\approx 0.08\). When \(t<0.5\) the exact solution to the Level-Set Equation is \(\phi (x,y,t) = \min \left\{ \sqrt{(x+0.3)^{2}+y^{2}} \right. \) \(\left. - R(t), \sqrt{(x-0.3)^{2}+y^{2}} - R(t) \right\} \) where \(R(t)= r_{0} - \frac{e^{2t}-1}{2e}+t \). Domain: \([-1.5+ 0.01e,+1.5+ 0.01e]^{2}\). \(T_{F}=1.2\). xt- and yt-rep.: \(r_{1} = 1/3\), \(r_{2} = 2\). Skewed rep.: \(r_{1} = 1/3\), \(r_{2} = 5\). Domain for convergence of Algorithm 4: \((y,t) \in [-0.5,0.5]\times [0.2,0.5]\) and \((y,t) \in [-0.5,0.5]\times [0.5,.52]\).
The Almond example The exact solution to the Level-Set Equation is
The constants are set to be: \(r_0 = 1/4\), \(c = 1\), and \(C = .65\). The function \(\phi \) is made up of two parts: The first one in brackets is qualitatively the same as in Example 1. Domain: \([-0.5,0.5]^2\). \(T_{F}=1.9\). xt- and yt-rep.: \(r_{1} = 1/3\), \(r_{2} =2\). Skewed rep.: \(r_{1} = 1/2\), \(r_{2} = 6\).
Rights and permissions
About this article
Cite this article
Tcheng, A., Nave, JC. A Low Complexity Algorithm for Non-Monotonically Evolving Fronts. J Sci Comput 69, 1165–1191 (2016). https://doi.org/10.1007/s10915-016-0231-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-016-0231-8