In the current literature the difficulty in solving the Helmholtz problem is often associated with the wavenumber, which we previously defined as
k(x) = 2πf v(x)
or with its maximal value kmax = maxx∈Ωk(x). In view of (4.3.8), we find out that kmax is inversely proportional h, that is, that larger the kmax, the larger must be number of points in the discretized domain n, which for high frequencies can reach the value of O(109)(seeFigure 4.9for an example with the SEG/EAGE Salt dome velocity model). Not surprisingly, the memory cost for solving the discretized problem arising from the discretization of the Helmholtz equation (4.3.4) or (4.3.6) is often the main bottleneck in this application. In [93] a sparse multifrontal direct method [4] is employed for both two- dimensional and three-dimensional formulations, the largest problem solved being a cut of the SEG/EAGE Overthrust velocity model (cf. Figure 4.2) containing 409 × 109 × 102 points, for 10Hz using the 27-point parsimonious staggered-grid scheme mentioned in Subsection 4.3.4 (cf. Figure 4.8) with nλ = 4 and requiring 450 GB of memory. In [18] the same full SEG/EAGE Overthrust velocity model is used, this time with multilevel LDLT factorization preconditioner. The problem size is 409×409×102 with f = 5Hz only, requiring 32 GB of memory. Recent work done in [47] proposes a preconditioner based on LDLT factorization preconditioner, which aims to eliminate the unknowns layer by layer (in 2D) or face by face (in 3D) starting from the boundaries of the domain. This preconditioner is therein called “sweeping preconditioner”. This work is later extended in [97] to allow parallelism, being thus able to solve for the SEG/EAGE Overthrust velocity model at 8Hz, with 801 × 801 × 187 grid, using 24 Gb of memory. It was investigated in [67] the behaviour of the algebraic additive Schwarz preconditioner when solving the Helmholtz equation for the SEG/EAGE Overthrust velocity model containing 277 × 277 × 73 points, for f = 7Hz, requiring 150 GB of memory. In general, using a standard sparse direct solver method for solving the Helmholtz problem requires an amount of memory of the order of O(n2log n)(cf. [121, (1)]), which can be prohibitively large for high kmax. Recent publications [137, 138] attempt to reduce the memory of direct solvers for Helmholtz by using low-rank approximation of sub-block of the coefficients matrix, a method therein called parallel Hierarchically Semi-Separable (HSS) matrix compression. The memory requirement is reported to be almost linear, between O(n) and O(n log n), and the method is used to successfully solve realistic problems, as the SEAM velocity model with grid size 401 × 401 × 201 for up to 20Hz, using 2TB memory. More numerical experiments can be found in [3] and an extension for use with elastic waves in [139].
Since the memory seems to be the main bottleneck when solving the Helmholtz equation for standard sparse direct solvers, the use of iterative solvers becomes a feasible alternative. Krylov iterative solvers are recognized for their good scalability in massively parallel environment which is also one of the main interests when solving the Helmholtz problem due to its large dimension. Moreover, the fact that the discretized Helmholtz operator can be very sparse (e.g. when using 7-point schemes) also encourages the use of Krylov iterative solvers. However, kmax is also associated with difficulties in finding Krylov directions to improve the approximate solution when using GMRES method without any preconditioner, culminating in a slow convergence (cf. [52, §2.1]). When using incomplete LU factorizations [109, Chapter 10] as preconditioner, iterative solvers as GMRES [108], BiCGStab [131] and QMR [55] also show a decrease in the convergence behaviour as kmax grows [56]. Domain decomposition ([118] and specially
4.4. PRECONDITIONING THE HELMHOLTZ EQUATION 69
Figure 4.9: The academic SEG/EAGE Salt dome velocity model and the value of h related to f , considering that
nλ = 12. Notice that if f = 10Hz, n = O(109). The grid size described here does not take the PML layer into
account.
[127, §11.5.2]) techniques used as a preconditioner for GMRES are also reported to be dependent on kmax (cf. [52, §2.3]). The study of a preconditioner which is efficient for the Helmholtz equation (and hopefully independent of kmax) is subject of active research.
We highlight here the effort on using geometric multigrid techniques [83, 128] (cf. Figure 4.10) for solving the Helmholtz equation. Multigrid techniques are known to be specially efficient when the problem being solved is symmetric and positive-definite, in which case the eigenvalues are located in the positive real quadrant of the complex plane. However, the eigenvalues of the (unpreconditioned) Helmholtz operator with the PML formulation are spread along the complex plane and depending on kmax we may have eigenvalues clustered around the origin, characterizing a very ill-conditioned problem.
Figure 4.10: Graphical representation of a basic V -cycle geometrical multigrid. Other advanced multigrid schemes can be deduced from the basic V -cycle.
Another concern of the geometric multigrid approach is that on the coarsest level, the effective nλ might be below the suggested threshold. For instance, using the 7-point stencil the advised nλ is 12, whereas in the scheme presented in Figure 4.10, the coarsest grid will effectively be discretized with 6 points per wavelength. This means that the coarse grid correction might have no physical significance, as is explained in [52, §3.3] (cf. also Figure 9 and Figure 10 in the same publication). The dispersion and phase errors in the coarse level may be enough to invalidate the coarse grid correction, which can in some cases deteriorate the solution instead of improving.
In [46] it was proposed the use of Krylov subspace methods as FGMRES either as a solver precondi- tioned by geometric multigrid or as a smoother on intermediate grids. Similar numerical experiments for two-dimensional problems can be found in [39], where sparse multifrontal direct methods are used to solve the coarsest level problem. The authors of [46] report that Krylov iterative solvers are suitable as smoother on the intermediate levels, and that the convergence seems to be independent on the mesh size h, but still dependent on kmax. Most notably, in [46] the authors report that for some values of kmaxthe coarse grid correction may be significant even when the discretization is too coarse to have physical significance.
Other publications on the subject of geometric multigrid for Helmholtz problem are [49, 51, 77] and on algebraic multigrid [18].
In [96] it was then proposed the use of a Krylov subspace not only as a smoother but also at the coarse level of two-level multigrid algorithm. The main idea behind this proposal is that the coarse grid correction does not require high accuracy and an approximate solution suffices. This argument is then supported by rigorous Fourier analysis on two-level multigrid preconditioner therein called perturbed geometric two- level preconditioner. The author shows that the spectrum of the Helmholtz operator preconditioned by a two-level multigrid with an exact coarse correction is not improved when compared with the perturbed preconditioner with a very loose approximation on the coarse level (cf. [96, §3.4]). We thus conclude that the solver does not benefit from highly accurate coarse corrections. This assumption is also supported by numerical experiments where FGMRES method is used with the two-level perturbed preconditioner, where using a coarse correction relative tolerance of mere 0.6 results in faster convergence than using 10−12 (cf. [96, p.77], Table 3.7). We address this preconditioner in more details inSubsection 4.4.1.
Another development on preconditioning the Helmholtz operator is the use of the so called complex shifted Laplacian operator [49, 51]. It consists in using
−∆u(x) − (1 − iβ)k2(x)u(x) = g(x) where β ∈ R
instead of (4.3.4) for the multigrid hierarchy levels. The goal of this approach is to obtain an operator which presents a better convergence behaviour when using multigrid method. The complex shifted Lapla- cian operator has been ever since largely used as a preconditioner for Krylov iterative solvers as GMRES or BiCGStab when solving the Helmholtz equation (cf. [52, p.32] Figure 16 for an analysis of the spec- trum of the Helmholtz operator preconditioned by the complex shifted Laplacian operator). Numerical experiments in [51] show the robustness of the method when applied to realistic geophysical applications at high wavenumbers. However, in [50, 52] it is shown that the efficiency of the complex shifted Lapla- cian preconditioner is still linearly dependent on kmax. We refer to [18,24,49, 50,51, 100,101,130] for numerical experiments with the complex shifted Laplacian using low and medium frequency ranges only and more information on how to choose the shift parameter β.
Although the use of complex shifted Laplacian preconditioners is normally advised specially when using multigrid techniques for low or mid frequency cases (about 10Hz), the efficiency of this preconditioner may decrease for high frequencies. In the recent publication [24] it was shown that using optimal parameters deduced from Fourier analysis, the perturbed two-level preconditioner proposed in [96] shows an increased robustness on heterogeneous problems when compared to the standard approach based on complex shifted Laplacian operator. The performance is further improved when the two-level preconditioner uses a complex shifted Laplacian operator as a preconditioner on the coarse level (cf. [24, Table IV]). The numerical experiments in [24] confirm the efficiency of their approach when solving for high frequencies.
In this thesis we limit ourselves to the use of the two-level perturbed multigrid proposed in [96], which we reproduce with more details in Subsection 4.4.1. We focus on the behaviour of the overall method when solving the Helmholtz equation (4.3.6) in the multi sources scenario, using deflation every iteration. We discuss in depth the issues arising from this particular scenario in the next section, and we refer to [24] for a recent detailed description of the perturbed preconditioner when using the complex shifted Laplacian operator as preconditioner.
4.4.1
The Perturbed Geometric Two-Level Preconditioner
In this subsection we discuss the perturbed geometric two-level preconditioner [22, 23, 96], briefly men- tioned inSection 4.4. Since this is the main preconditioner we will use in our further numerical experiments (as it is the preconditioner used in the experiments inSection 3.9) we provide a more detailed explanation in this section.
Recalling the discussion inSection 4.3, A is the matrix issued from the discretization of the operator (4.3.6) on Ωh. We then define the coarse grid ΩH as the standard geometric coarsening of Ωh in all
4.5. SOFTWARE IMPLEMENTATION 71