Eikonal equation

The eikonal equation (from German Eikonal, which is from Greek εἰκών, image[1][2]) is a non-linear partial differential equation encountered in problems of wave propagation, when the wave equation is approximated using the WKB theory. It is derivable from Maxwell's equations of electromagnetics, and provides a link between physical (wave) optics and geometric (ray) optics.

The eikonal equation is of the form

 | \nabla u(x)|=1/f(x), \ x\in \Omega

subject to u|_{\partial \Omega}=0, where \Omega is an open set in \mathbb{R}^n with well-behaved boundary, f(x) is a function with positive values, \nabla denotes the gradient and | \cdot | is the Euclidean norm. Here, the right-hand side f(x) is typically supplied as known input. Physically, the solution u(x) is the shortest time needed to travel from the boundary \partial \Omega to x inside \Omega, with f(x) being the speed at x.

In the special case when f=1, the solution gives the signed distance from \partial \Omega.

One fast computational algorithm to approximate the solution to the eikonal equation is the fast marching method.

Physical interpretation

Continuous Shortest Path Problems

The solution to the Eikonal equation

\left|\nabla u(x)\right| = 1/f(x) \text{ for } x \in \Omega \subset \mathbb{R}^n
u(x) = q(x) \text{ for } x \in \partial\Omega

can be interpreted as the minimum amount of time required to travel from x to \partial \Omega where f:\bar{\Omega} \to (0,+\infty) is the speed of travel and q:\partial\Omega\to[0,+\infty) is an exit-time penalty. (Alternatively this can be posed as a minimum-cost-to-exit by making the righthand-side C(x)/f(x) and q an exit-cost penalty.)

By assuming that \nabla u(x) exists at all points it is easy to prove that u(x) corresponds to a this time-optimal control problem using Bellman's Optimality Principle and a Taylor expansion.[3] Unfortunately, it is not guaranteed that \nabla u(x) exists at all points and more advanced techniques are necessary to prove this. This led to the development of Viscosity Solutions in the 1980s by Pierre-Louis Lions and Michael G. Crandall,[4] and Lions won a Fields Medal for his contributions.

Electromagnetic Potential

The physical meaning of the eikonal equation is related to the formula

 E = -\nabla V

where E is the electric field strength and V is the electric potential. There is a similar equation for velocity potential in fluid flow and temperature in heat transfer. The physical meaning of this equation in the electromagnetic example is that any charge in the region is pushed to move at right angles to the lines of constant potential, and along lines of force determined by the field of the E vector and the sign of the charge.

Ray optics and electromagnetism are related by the fact that the eikonal equation gives a second electromagnetic formula of the same form as the potential equation above where the line of constant potential has been replaced by a line of constant phase and the force lines have been replaced by normal vectors coming out of the constant phase line at right angles. The magnitude of these normal vectors is given by the square root of the relative permittivity. The line of constant phase can be considered the edge of one of the advancing light waves. The normal vectors are the rays the light is traveling down in ray optics.

Computational Algorithms

A myriad of fast and efficient algorithms to solve the Eikonal equation have been developed since the 1990s. Many of these algorithms take advantage of algorithms developed much earlier for shortest path problems on graphs with nonnegative edge lengths.[5] These algorithms take advantage of the causality provided by the physical interpretation and typically discretize the domain using a mesh [6][7][8][9] or regular grid [10][11] and calculate the solution at each discretized point.

Sethian's Fast Marching Method (FMM)[10][11] was the first "fast and efficient" algorithm created to solve the Eikonal equation. The original description discretizes the domain \Omega \subset \mathbb{R}^n into a regular grid and "marches" the solution from "known" values to the undiscovered regions, precisely mirroring the logic of Dijkstra's Algorithm. If \Omega is discretized and has M meshpoints, then the computational complexity is O(M\log M) where the \log term comes from the use of a heap (typically binary). A number of modifications can be prescribed to FMM since it is classified as a label-setting method. In addition, FMM has been generalized to operate on general meshes that discretize the domain.[6][7][8][9]

Label-correcting methods such as the Bellman–Ford algorithm can also be used to solve the discretized Eikonal equation also with numerous modifications allowed (e.g. "Small Labels First" [5][12] or "Large Labels Last" [5][13]). Two-queue methods have also been developed[14] that are essentially a version of the Bellman-Ford algorithm except two queues are used with a threshold used to determine which queue a gridpoint should be assigned to based on local information.

Sweeping algorithms such as the Fast Sweeping Method (FSM)[15] are highly efficient for solving Eikonal equations when the corresponding characteristic curves do not change direction very often.[5] These algorithms are label-correcting but do not make use of a queue or heap, and instead prescribe different orderings for the gridpoints to be updated and iterate through these orderings until convergence. Some improvements were introduced such as "locking" gridpoints[14] during a sweep if does not receive an update, but on highly refined grids and higher-dimensional spaces there is still a large overhead due to having to pass through every gridpoint. Parallel methods have been introduced that attempt to decompose the domain and perform sweeping on each decomposed subset. Zhao's parallel implementation decomposes the domain into n-dimensional subsets and then runs an individual FSM on each subset.[16] Dextrixhe's parallel implementation also decomposes the domain, but parallelizes each individual sweep so that processors are responsible for updating gridpoints in an (n-1)-dimensional hyperplane until the entire domain is fully swept.[17]

Hybrid methods have also been introduced that take advantage of FMM's efficiency with FSM's simplicity. For example, the Heap Cell Method (HCM) decomposes the domain into cells and performs FMM on the cell-domain, and each time a "cell" is updated FSM is performed on the local gridpoint-domain that lies within that cell.[5] A parallelized version of HCM has also been developed.[18]

Numerical Approximation

For simplicity assume that \Omega is discretized into a uniform grid with spacing h.

2D Approximation on a Grid

Assume that a gridpoint x_{ij} has value U_{ij} = U(x_{ij}) \approx u(x_{ij}). A first-order scheme to approximate the partial derivatives is

\max\left(D_{ij}^{-x}U, -D_{ij}^{+x}U, 0\right)^2 + \max\left(D_{ij}^{-y}U, -D_{ij}^{+y}U, 0\right)^2 \ = \ \frac{1}{f_{ij}^2}

where

u_x(x_{ij}) \approx D_{ij}^{\pm x} U = \frac{U_{i\pm1,j}-U_{ij}}{\pm h} \quad\text{ and }\quad u_y(x_{ij}) \approx D_{ij}^{\pm y} U = \frac{U_{i,j\pm1}-U_{ij}}{\pm h}.

Due to the consistent, monotone, and causal properties of this discretization[5] it is easy to show that if U_H = \min(U_{i-1,j},U_{i+1,j}) and U_V = \min(U_{i,j-1},U_{i,j+1}) and |U_H-U_V| \leq h/f_{ij} then

\left(\frac{U_{ij}-U_H}{h}\right)^2 + \left(\frac{U_{ij}-U_V}{h}\right)^2 = \frac{1}{f_{ij}^2}

which means

U_{ij} = \frac{U_H + U_V}{2} + \frac{1}{2}\sqrt{(U_H+U_V)^2 - 2 (U_H^2 + U_V^2 - \frac{h^2}{f_{ij}^2} )}.

This solution will always exist as long as |U_H-U_V| \leq h/f_{ij} is satisfied. Otherwise, a lower-dimensional update must be performed by assuming one of the partial derivatives is 0:

U_{ij} = \min(U_H, U_V) + \frac{h}{f_{ij}}.

n-D Approximation on a Grid

Assume that a gridpoint x has value U = U(x) \approx u(x). Repeating the same steps as in the n=2 case we can use a first-order scheme to approximate the partial derivatives. Let U_i be the minimum of the values of the neighbors in the \pm\mathbf{e}_i directions, where \mathbf{e}_i is a standard unit basis vector. The approximation is then

\sum_{i=1}^n \left(\frac{U-U_i}{h}\right)^2 \ = \ \frac{1}{f_i^2}.

Solving this quadratic equation for U yields:

U = \frac{1}{n}\sum_{i=1}^n U_i + \frac{1}{n}\sqrt{\left(\sum_{i=1}^n U_i\right)^2 - n\left(\sum_{i=1}^n U_i^2 - \frac{h^2}{f_i^2}\right)}.

If the discriminant in the square root is negative, then a lower-dimensional update must be performed (i.e. one of the partial derivatives is 0).

If n=2 then perform the one-dimensional update

U = \min_{i=1,\ldots,n} (U_i) + \frac{h}{f_i}.

If n>3 then locate the largest U_i for i=1,2,\ldots,n. Use the remaining n-1 values to perform an n-1 dimensional update.

Mathematical description

An eikonal equation is one of the form

H(x,\nabla u(x)) = 0
u(0,x') = u_0(x'),\text{ for } x = (x_1,x')

The plane x = (0,x') can be thought of as the initial condition, by thinking of x_1 as t. We could also solve the equation on a subset of this plane, or on a curved surface, with obvious modifications.

The eikonal equation shows up in geometrical optics, which is a way of studying solutions of the wave equation c(x)^2 |\nabla_x u(x,t)|^2 = |\partial_t u(x,t)|^2. In geometric optics, the eikonal equation describes the phase fronts of waves. Under reasonable hypothesis on the "initial" data, the eikonal equation admits a local solution, but a global smooth solution (e.g. a solution for all time in the geometrical optics case) is not possible. The reason is that caustics may develop. In the geometrical optics case, this means that wavefronts cross.

We can solve the eikonal equation using the method of characteristics. One must impose the "non-characteristic" hypothesis \partial_{p_1} H(x,p) \neq 0 along the initial hypersurface x = (0,x'), where H=H(x,p) and p=(p1,...,pn) is the variable that gets replaced by ∇u. Here x=(x1,...,xn) = (t,x').

First, solve the problem H(x,\xi(x)) = 0, \xi(x) = \nabla u(x), x\in H. This is done by defining curves (and values of \xi on those curves) as

\dot x(s) = \nabla_\xi H(x(s),\xi(s)), \;\;\;\; \dot \xi(s) = -\nabla_x H(x(s),\xi(s)).
x(0) = x_0, \;\;\;\; \xi(x(0)) = \nabla u(x(0)). Note that even before we have a solution u, we know \nabla u(x) for x = (0,x') due to our equation for H.

That these equations have a solution for some interval 0 \leq s < s_1 follows from standard ODE theorems (using the non-characteristic hypothesis). These curves fill out an open set around the plane x = (0,x'). Thus the curves define the value of \xi in an open set about our initial plane. Once defined as such it is easy to see using the chain rule that \partial_s H(x(s), \xi(s)) = 0, and therefore H = 0 along these curves.

We want our solution u to satisfy \nabla u = \xi, or more specifically, for every s, (\nabla u)(x(s)) = \xi(x(s)). Assuming for a minute that this is possible, for any solution u(x) we must have

\frac{d}{d s} u(x(s)) = \nabla u(x(s)) \cdot \dot x(s) = \xi \cdot \frac{\partial H}{\partial \xi},

and therefore

u(x(t)) = u(x(0)) + \int_0^t \xi(x(s))\cdot \dot x(s)\, ds.

In other words, the solution u will be given in a neighborhood of the initial plane by an explicit equation. However, since the different paths x(t), starting from different initial points may cross, the solution may become multi-valued, at which point we have developed caustics. We also have (even before showing that u is a solution)

\xi(x(t)) = \xi(x(0)) - \int_0^s \nabla_x H(x(s),\xi(x(s))) \, ds.

It remains to show that \xi, which we have defined in a neighborhood of our initial plane, is the gradient of some function u. This will follow if we show that the vector field \xi is curl free. Consider the first term in the definition of \xi. This term, \xi(x(0)) = \nabla u(x(0)) is curl free as it is the gradient of a function. As for the other term, we note

\frac{\partial^2}{\partial x_k \, \partial x_j} H = \frac{\partial^2}{\partial x_j \, \partial x_k} H.

The result follows.

Applications

See also

References

External links

Notes

  1. The Oxford English Dictionary. 2nd ed. 1989. OED Online. Oxford University Press. 4 April 2000 http://dictionary.oed.com/cgi/entry/00292404
  2. Evans, L. C., Partial Differential Equations, AMS Graduate Texts in Mathematics, Vol. 19, pg. 93.
  3. Z. Clawson, A. Chacon, and A. Vladimirsky. Causal Domain Restriction for Eikonal Equations, SIAM Journal on Scientific Computing 36 (5), A2478-A2505, 2014.
  4. M. Bardi, I. Calpuzzo-Dolcetta. Optimal Control and Viscosity Solutions of Hamilton-Jacobi-Bellman Equations. Birkhauser, Cambridge, MA, 1997.
  5. 1 2 3 4 5 6 A. Chacon and A. Vladimirsky. Fast two-scale methods for Eikonal equations. SIAM J. on Scientific Computing 34/2: A547-A578, 2012.
  6. 1 2 3 R. Kimmel and J. A. Sethian. Computing Geodesic Paths on Manifolds in the Proceedings of National Academy of Sciences, 95(15):8431-8435, July, 1998.
  7. 1 2 3 A. M. Bronstein, M. M. Bronstein, and R. Kimmel. Weighted distance maps computation on parametric three-dimensional manifolds, Journal of Computational Physics. 225(1):771-784, 2007.
  8. 1 2 J.A. Sethian and A. Vladimirsky. Fast methods for the Eikonal and related Hamilton-Jacobi equations on unstructured meshes. Proc. Natl. Acad. Sci. USA 97/11: 5699-5703, 2000.
  9. 1 2 D.S. Yershov, S.M. LaValle. Simplicial Dijkstra and A* Algorithms: From Graphs to Continuous Spaces. Advanced Robotics, Vol. 26, no. 17, pp. 2065-2085, 2012.
  10. 1 2 J.A. Sethian. A Fast Marching Level Set Method for Monotonically Advancing Fronts, Proc. Nat. Acad. Sci., 93, 4, pp.1591--1595, 1996.
  11. 1 2 J.N. Tsitsiklis. Efficient algorithms for globally optimal trajectories, IEEE Trans. Automat. Control, 40, pp. 1528–1538, 1995.
  12. D.P. Bertsekas. A Simple and Fast Label Correcting Algorithm for Shortest Paths, Networks, Vol. 23, pp. 703-709, 1993.
  13. D.P. Bertsekas, F. Guerriero, and R. Musmanno. Parallel Asynchronous Label Correcting Methods for Shortest Paths, J. of Optimization Theory and Applications, Vol. 88, pp. 297-320, 1996.
  14. 1 2 S. Bak, J. McLaughlin, and D. Renzi, Some improvements for the fast sweeping method, SIAM J. on Sci. Comp., 32(5), 2010.
  15. H. Zhao, A fast sweeping method for Eikonal equations, Math. Comp., 74 (2004), pp. 603–627.
  16. H.K. Zhao. Parallel Implementations of the Fast Sweeping Method, J. Comput. Math. 25, pp. 421-429, 2007.
  17. M. Detrixhe, F. Gibou, and C. Min, A parallel fast sweeping method for the Eikonal equation, Journal of Computational Physics, v.237, pp.46-55, 2013.
  18. A. Chacon and A. Vladimirsky. A parallel two-scale method for Eikonal equations. SIAM J. on Scientific Computing 37/1: A156-A180, 2015.
This article is issued from Wikipedia - version of the Tuesday, April 05, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.