ERAN TREISTER

Senior Academic

A multigrid solver to the Helmholtz equation with a point source based on travel time and amplitude

Eran Treister, Eldad Haber

The Helmholtz equation arises when modeling wave propagation in the frequency domain. The equation is discretized as an indefinite linear system, which is difficult to solve at high wave numbers. In many applications, the solution of the Helmholtz equation is required for a point source. In this case, it is possible to reformulate the equation as two separate equations: one for the travel time of the wave and one for its amplitude. The travel time is obtained by a solution of the factored eikonal equation, and the amplitude is obtained by solving a complex-valued advection–diffusion–reaction equation. The reformulated equation is equivalent to the original Helmholtz equation, and the differences between the numerical solutions of these equations arise only from discretization errors. We develop an efficient multigrid solver for obtaining the amplitude given the travel time, which can be efficiently computed. This approach is advantageous because the amplitude is typically smooth in this case and, hence, more suitable for multigrid solvers than the standard Helmholtz discretization. We demonstrate that our second-order advection–diffusion–reaction discretization is more accurate than the standard second-order discretization at high wave numbers, as long as there are no reflections or caustics. Moreover, we show that using our approach, the problem can be solved more efficiently than using the common shifted Laplacian multigrid approach.

Publication language English
Journal Numerical Linear Algebra with Applications
Volume 26
Issue number 1
Publication status Published - 01.01.2019
e2206

Keywords

Helmholtz equation
factored eikonal equation
fast marching
multigrid
seismic modeling
shifted Laplacian

ASJC Scopus subject areas

Algebra and Number Theory
Applied Mathematics
Access to Document
10.1002/nla.2206
Other files and links
Link to publication in Scopus