1 Introduction

Time harmonic wave equations arise in various applications. Their numerical discretization leads to large linear systems which are difficult to solve with classical iterative methods [5]. Recently, sweeping preconditioners have emerged as a promising approach to overcome this problem [6]. Since the introduction of the moving perfectly matched layer (PML) preconditioner by Engquist and Ying [4], numerous impressive results and further developments of this technique have been published. We refer to [6] for a comprehensive review.

Unfortunately, the range of wave propagation problems in which sweeping preconditioners can be used is limited. We are not aware of any publication in which sweeping preconditioners have been successfully applied to media that contain strong resonant cavities. In fact, numerical experiments indicate that the established sweeping methods are not suitable for treating such problems, see e.g. section 7.4 of [13], section 10 of [6] or [14]. Additionally, sweeping preconditioners require an absorbing boundary condition on at least one boundary of the domain at which the process of sweeping can be started. Since these assumptions are violated in many practically relevant problems, e.g. from global seismology, it is important to explore if these limitations of the sweeping technique can be overcome.

This paper investigates this question for the case of stratified media. Our problem setting differs significantly from the case of quasiperiodic Helmholtz transmission problems as recently considered in [9], for instance, because it allows for a complete reflection of waves at the domain boundaries. As a concrete example we consider a problem from [7, 8] in which spherical coordinates \(\{r,\varphi ,\theta \}\) are used. Assuming axisymmetry of all fields in \(\varphi\) the propagation of shear waves (SH-waves) u between the core mantle boundary (CMB) at \(r = R_{\text {CMB}}\) and the surface of the Earth at \(r = R_{\oplus }\) in the frequency domain is described by the equation

$$\begin{aligned} \mathcal {L}u = f , \text { for } (r,\theta ) \in \varOmega := ( R_{\text {CMB} },R_{\oplus }) \times (0,\pi ), \end{aligned}$$
(1)

where

$$\begin{aligned} \mathcal {L}u \mathrel {\mathop :}=- \rho \omega ^2 u r^2 \sin ^2(\theta ) - \frac{\sin ^2(\theta ) }{r^2} \frac{\partial }{\partial r} \left( r^4 \mu \frac{\partial u}{\partial r} \right) - \frac{1}{\sin (\theta )} \frac{\partial }{\partial \theta } \left( \sin ^3(\theta ) \mu \frac{\partial u}{\partial \theta } \right) \end{aligned}$$
(2)

and \(f = f^{\text {s}} r^2 \sin ^2(\theta )\), subject to boundary conditions \(\mathcal {B}u = 0\). The boundary operator is defined piecewise on \(\partial \varOmega = \varGamma _{D} \cup \varGamma _{N}\) with \(\varGamma _{D} = \{ \theta = 0 \} \cup \{ \theta = \pi \}\) and \(\varGamma _{N } = \{ r = R_{\text {CMB}} \} \cup \{ r = R_{\oplus } \}\) by

$$\begin{aligned} u = 0 \text { on } \varGamma _{D}, \quad \frac{\partial u}{\partial r} = 0 \text { on } \varGamma _{N}. \end{aligned}$$
(3)

Here, \(\rho\) is the mass density, \(\mu = \rho v_{SH}^2\) is the shear modulus and \(\omega\) the frequency. The background coefficients for \(v_{SH}\) and \(\rho\) are provided by the spherically symmetric PREM model [3]. In the Appendix, cf. Sect. 1, we give a derivation of the variational formulation that we base the finite element discretization on.

Conventional sweeping preconditioners cannot be applied to this problem since absorbing boundary conditions are missing. In this paper an extension of the sweeping preconditioner is presented which overcomes this limitation for the spherically symmetric background model. It will further be investigated to which extent this preconditioner can then also be used for other models in which the coefficients \(\rho\) and \(v_ {SH}\) are small perturbations from the spherically symmetric case. This would be realistic, since 3D tomographic models of the Earth deviate only a few percent from the background model [2].

The remainder of this paper is structured as follows. In Sect. 2 we recall the general framework of sweeping preconditioners and the commonly employed moving PML approximation of the Dirichlet-to-Neumann (DtN) operator. As a prototype of an improved approximation of the DtN operator we construct a DtN operator based on the separability of the background problem on the discrete level in Sect. 3. The potential of this method is explored in Sect. 4 with numerical experiments. Here it is observed that the DtN for the free surface boundary condition is very sensitive to perturbations. This observation is discussed in detail in Sect. 5. We draw some conclusions regarding the applicability of sweeping preconditioners in the presence of reflections in Sect. 6.

2 General framework of sweeping preconditioners

In [6] several sweeping methods have been described in the framework of the double sweep optimized Schwarz method (DOSM). Here, we adapt DOSM to our specific setting. This includes the restriction to special cases, e.g. only non-overlapping domain decompositions and DtN transmission conditions are considered. The simplified version is more appropriate for the purpose of this paper since it allows to focus attention on the approximation of the DtN map.

2.1 Double sweep optimized Schwarz method

Fig. 1
figure 1

Decomposition of the domain into layers

Let \(\varOmega = \bigcup _{j=1}^{J} \varOmega _j\) be a non-overlapping decomposition of the domain into horizontal layers \(\varOmega _j\), see Fig. 1. To allow for an efficient solution of the subdomain problems the width of the layers in sweeping direction should be kept thin. Therefore, in the numerical examples below, we make the choice that one layer \(\varOmega _j\) contains only two finite elements in vertical direction (r) and \(2 \cdot J\) elements in the horizontal direction (\(\theta\)) yielding a fixed aspect ratio for all finite elements. We denote by \(\varGamma _{j,j \pm 1} \mathrel {\mathop :}=\partial \varOmega _{j} \cap \partial \varOmega _{j \pm 1}\) the interfaces between the layers and write \(u_j\) for a function defined in layer \(\varOmega _j\). Based on these definitions we state the specialized sweeping algorithm.

Forward sweep: Given the last iterate \(u_{j}^{(n-1)}\) in \(\varOmega _j, j = 1, \ldots ,J\) solve successively for \(j=1,\ldots ,J-1\)

$$\begin{aligned} \mathcal {L}u_{j}^{\left(n-\frac{1}{2}\right)}&= f \quad \text {in } \varOmega _j, \\ \mathcal {B} u_{j}^{\left(n-\frac{1}{2}\right)}&= 0 \quad \text {on } \partial \varOmega \cap \partial \varOmega _j, \\ r^4 \mu \frac{\partial u_{j}^{\left(n-\frac{1}{2}\right)} }{\partial r} + \mathcal {P}_{j} u_{j}^{\left(n-\frac{1}{2}\right)}&= r^4 \mu \frac{\partial u_{j-1}^{\left(n-\frac{1}{2}\right)} }{\partial r} + \mathcal {P}_{j} u_{j-1}^{\left(n-\frac{1}{2}\right)} \quad \text {on } \varGamma _{j,j - 1} \setminus \partial \varOmega , \\ u_{j}^{\left(n-\frac{1}{2}\right)}&= u_{j+1}^{(n-1)} \quad \text {on } \varGamma _{j,j + 1}. \end{aligned}$$

Backward sweep: Solve successively for \(j = J, \ldots , 1\)

$$\begin{aligned} \mathcal {L}u_{j}^{(n)}&= f \quad \text {in } \varOmega _j, \\ \mathcal {B} u_{j}^{(n)}&= 0 \quad \text {on } \partial \varOmega \cap \partial \varOmega _j, \\ r^4 \mu \frac{\partial u_{j}^{(n)} }{\partial r} + \mathcal {P}_{j} u_{j}^{(n)}&= r^4 \mu \frac{\partial u_{j-1}^{\left(n-\frac{1}{2}\right)} }{\partial r} + \mathcal {P}_{j} u_{j-1}^{\left(n-\frac{1}{2}\right)} \quad \text {on } \varGamma _{j,j - 1}, \\ u_{j}^{(n)}&= u_{j+1}^{(n)} \quad \text {on } \varGamma _{j,j + 1} \setminus \partial \varOmega . \end{aligned}$$

The transmission operator \(\mathcal {P}_j\) is an (approximation) of the DtN map

$$\begin{aligned} \text {DtN}_j:&~~g \mapsto - r^4 \mu \frac{\partial v}{\partial r}, \end{aligned}$$
(4)

where v solves

$$\begin{aligned} \mathcal {L}v = 0&~~\text { in } \varOmega _{j}^{\text {ext}}, \\ \mathcal {B}v = 0&~~\text { on } \partial \varOmega \cap \overline{\varOmega _{j}^{\text {ext}} } , \\ v = g&~~\text { on } \varGamma _{j,j-1}, \end{aligned}$$
(5)

with \(\varOmega _{j}^{\text {ext}} = \bigcup _{i=1}^{j-1} \varOmega _i\). If \(\text {DtN}_{j}\) is well defined for \(j=2,\ldots ,J\) and the original problem and subdomain problems are uniquely solvable then DOSM converges in one double sweep to the exact solution for \(\mathcal {P}_j =\text {DtN}_{j}\) [6]. In practice, using the exact DtN map as a transmission operator is computationally too expensive. Therefore, \(\mathcal {P}_j\) is chosen as an approximation of the DtN. The algorithm is then usually used as a preconditioner for GMRES with initial guess \(u_{j}^{(0)} = 0, j = 1, \ldots ,J\).

2.2 Moving PML approximation of the DtN

The problem for calculating the exact \(\text {DtN}_j\) is posed on the whole exterior domain \(\varOmega _{j}^{\text {ext}}\). Usually, it is assumed that on \(\partial \varOmega \cap \partial \varOmega _1\) an absorbing boundary condition implemented by a PML is present. As the name “moving PML” suggests this PML is shifted closer to \(\varOmega _j\). This replaces the original problem posed on \(\bigcup _{i=1}^{j-1} \varOmega _i\) by a modified problem on the (usually smaller) domain \(\varOmega ^{\text {PML}}_{j}\). In practice, the PML is usually started right at the coupling interface \(\varGamma _{j,j-1}\) and \(\varOmega ^{\text {PML}}_{j} = \varOmega _{j-1}\). This leads to the operator

$$\begin{aligned} \text {DtN}_{j}^{\text {PML}}:&~~g \mapsto - r^4 \tilde{\mu } \frac{\partial v}{\partial r}, \end{aligned}$$
(6)

where v solves

$$\begin{aligned} \tilde{\mathcal {L}}v = 0&~~ \text { in } \varOmega _{j}^{\text {PML}}, \nonumber \\ \tilde{\mathcal {B}}v = 0&~~ \text { on } \partial \varOmega _{j}^{\text {PML}} \setminus \partial \varOmega _j, \\ v = g&~~ \text { on } \varGamma _{j,j-1}. \nonumber \end{aligned}$$
(7)

Here, the original differential operators \(\mathcal {L}\), \(\mathcal {B}\) have been replaced by modified versions \(\tilde{\mathcal {L}}\), \(\tilde{\mathcal {B}}\) due to the complex scaling applied in the PML region.

3 A tensor product approximation of the DtN

In this section a new approach to approximate the DtN for tensor product discretizations will be presented. Let us note that the purpose of this approach is primarily to explore the potential of sweeping preconditioners under the assumption of accurate DtN approximations in what follows.

Let us fix an interface \(\varGamma _{j,j-1}\) at \(r = R_j\) on which the \(\text {DtN}_{j}\) shall be computed. Let \(W_{h}^{R_j} \subset H^{1}\left( (R_j,R_{\oplus }) \times (0, \pi ) \right)\) be the finite element space in \(\varOmega _{j}^{\text {ext}}\). A tensor product discretization is assumed. Hence, \(W_{h}^{R_j} = V_{h}^{R_j} \otimes V_{h}^{\theta }\), where \(V_{h}^{R_j} \subset H^{1}\left( (R_j,R_{\oplus })\right)\) and \(V_{h}^{\theta } \subset H^{1}_{0}\left( (0,\pi ) \right)\) are one-dimensional finite element spaces. In particular, \(w_h \in W_{h}^{R_j}\) is a linear combination of terms of the form \(R_{h}(r) \vartheta _{h}(\theta )\) with \(R_h \in V_{h}^{R_j}\) and \(\vartheta _h \in V_{h}^{\theta }\).

Given Dirichlet data \(g_h \in V_{h}^{\theta }\) the DtN in the finite element setting is computed as follows. First find \(w_h \in W_{h}^{R_j}\) with \(w_h(r=R_j,\cdot ) = g_h\) such that

$$\begin{aligned} a_{R_j}(w_h,v_h)&\mathrel {\mathop :}=\int \limits _{R_{j}}^{R_{\oplus }} \!\! \int \limits _{0}^{\pi } \!\! \left( \! - \rho r^2 \omega ^2 w_h v_h \!+\! r^2 \mu \frac{\partial w_h}{\partial r} \frac{\partial v_h}{\partial r} \!+\! \mu \frac{\partial w_h}{\partial \theta } \frac{\partial v_h}{\partial \theta } \! \right) \!r^2 \sin ^3(\theta ) d \theta dr \nonumber \\&= 0 \text { for all } v_h \in \{ v_h \in W_{h}^{R_j} \mid v_h(r=R_j,\cdot ) = 0 \}. \end{aligned}$$
(8)

Then \(\text {DtN}_{j}(g_h) = -(R_{j})^4 \mu (R_j) \partial _r w_h(R_j,\cdot )\).

This problem will be solved in two steps. In Sect. 3.1 we treat the case in which \(g_h\) is a discrete eigenfunction of the weighted Laplacian on \(\varGamma _{j,j-1}\). The action of the DtN on such data is given by multiplication with a number which can be computed by solving an ODE. In other words, the DtN is diagonal in the basis of the discrete eigenfunctions. This allows to treat the case of general Dirichlet data in Sect. 3.2 by a simple change of basis.

3.1 The DtN applied to a discrete eigenfunction

Let \(\psi ^{\ell }(\theta ) \in V_{h}^{\theta }\) for \(\ell = 1, \ldots , L\) denote the discrete eigenfunctions of the discretized Laplacian on \(\varGamma _{j,j-1}\) with eigenvalue \(\lambda ^{\ell }\), i.e.

$$\begin{aligned} \int \limits _{0}^{\pi } \frac{\partial \psi ^{\ell }}{\partial \theta } \frac{\partial \vartheta _h}{\partial \theta } \sin ^3(\theta ) ~d \theta = \lambda ^{\ell } \int \limits _{0}^{\pi } \psi ^{\ell } \vartheta _h \sin ^3(\theta ) ~d \theta \end{aligned}$$
(9)

for all \(\vartheta _h \in V_{h}^{\theta }\).

The next proposition shows that the \(\psi ^{\ell }\) are also eigenfunctions of the discretized DtN map.

Proposition 1

Let \(u^{\ell }_{h} \in V_{h}^{R_j}\)with \(u^{\ell }_{h}(R_j) = 1\)be the solution to

$$\begin{aligned} \int \limits _{R_j}^{R_{\oplus }} \left( -\rho r^2 \omega ^2 u^{\ell }_{h} R_h + r^2 \mu \frac{\partial u^{\ell }_{h}}{\partial r} \frac{\partial R_{h}}{\partial r} + \lambda _{\ell } \mu u^{\ell }_{h} R_h \right) r^2 ~d r = 0. \end{aligned}$$
(10)

for all \(R_h \in \{v_h \in V_{h}^{R_j} \mid v_h(R_j) = 0 \}\).

Then \(DtN_{j}(\psi ^{\ell }) = -(R_j)^4 \mu (R_j) \partial _r u^{\ell }_{h} (R_j) \psi ^{\ell }\).

Proof

Define \(w_h(r,\theta ) = u^{\ell }_{h}(r) \psi ^{\ell }(\theta ) \in W_{h}^{R_j}\). Note that \(w_h(R_j,\theta ) = \psi ^{\ell }(\theta )\). So, if we can show that \(a_{R_j}(w_h,v_h) = 0\) for all \(v_h \in \{ v_h \in W_{h}^{R_j} \mid v_h(r=R_j,\cdot ) = 0 \}\) then \(DtN_{j}(\psi ^{\ell }) = -(R_j)^4 \mu (R_j) \partial _r w_h(R_j,\cdot )= -(R_j)^4 \mu (R_j) \partial _r u^{\ell }_{h}(R_j) \psi ^{\ell }\) follows. Using (9) for \(v_h(r,\theta ) = R_h(r) \vartheta _h(\theta )\) yields:

$$\begin{aligned}a_{R_j}(w_h,v_h) &= \int \limits _{R_{j}}^{R_{\oplus }} \left( -\rho r^2 \omega ^2 u^{\ell }_{h} R_h + r^2 \mu \frac{\partial u^{\ell }_{h}}{\partial r} \frac{\partial R_{h}}{\partial r} \right) r^2 ~d r \int \limits _{0}^{\pi } \psi ^{\ell } \vartheta _h \sin ^3(\theta ) ~d \theta \nonumber \\&\qquad + \int \limits _{R_{j}}^{R_{\oplus }} \mu u^{\ell }_{h} R_h r^2 ~d r \int \limits _{0}^{\pi } \frac{\partial \psi ^{\ell }}{\partial \theta } \frac{\partial \vartheta _h}{\partial \theta } \sin ^3(\theta ) ~d \theta \nonumber \\&\quad = \int \limits _{R_{j}}^{R_{\oplus }} \left( -\rho r^2 \omega ^2 u^{\ell }_{h} R_h + r^2 \mu \frac{\partial u^{\ell }_{h}}{\partial r} \frac{\partial R_{h}}{\partial r} + \lambda _{\ell } \mu u^{\ell }_{h} R_h \right) r^2 ~d r \int \limits _{0}^{\pi } \psi ^{\ell } \vartheta _h \sin ^3(\theta ) ~d \theta \nonumber \\&\quad = 0, \end{aligned}$$
(11)

since \(u^{\ell }_{h}\) solves (10).

Remark 1

The proof of Proposition 1 uses as an essential ingredient that the product of the ODE solution and the discrete eigenfunction \(u^{\ell }_{h}(r) \psi ^{\ell }(\theta )\) is contained in the two dimensional finite element space \(W_{h}^{R_j}\) employed for the solution of problem (8). This is ensured by letting the finite element space \(V_{h}^{R_j}\) for the ODE (10) coincide with the first factor of the tensor product \(W_{h}^{R_j} = V_{h}^{R_j} \otimes V_{h}^{\theta }\). In other words, the ODE discretization is chosen as the restriction of the two dimensional discretization to the radial direction. The consequences of violating this requirement are discussed in Remark 2.

3.2 General Dirichlet data

To apply the DtN to general Dirichlet data \(g_h \in V_{h}^{\theta }\) we express it in the eigenbasis \(g_h = \sum \nolimits _{\ell =1}^{L}{ g_{\ell } \psi ^{\ell }}\) and apply the DtN as

$$\begin{aligned} \text {DtN}_j(g_h) = \sum \limits _{\ell =1}^{L}{ g_{\ell } \text {DtN}_j(\psi ^{\ell })} = - \sum \limits _{\ell =1}^{L}{ g_{\ell } (R_j)^4 \mu (R_j) \partial _r u^{\ell }_{h} (R_j) \psi ^{\ell } }. \end{aligned}$$
(12)

Then we transform back to the finite element basis. The transformation to the discrete eigenbasis involves the solution of a dense linear system which is composed of the eigenvectors in the finite element basis. In case of a uniform 2D mesh with periodic boundary conditions, the boundary mass and stiffness matrices are discrete block circulant matrices, and the transformation is given by the tensor (Kronecker) product of a small matrix and an FFT matrix, cf. [10]. Possibly the inversion of dense matrices can also be avoided for more general grids in some cases by designing analogues of infinite elements adapted to this setting, but the results of this paper may discourage from starting this effort.

4 Numerical experiments

In this section numerical experiments for the model problem will be presented. First, the shortcomings of the moving PML approximation of the DtN are demonstrated. Then we apply our new approximation to the spherically symmetric model and investigate its performance in case of small perturbations.

All experiments are carried out using \(H^1\)-conforming finite elements and have been implemented in the finite element library Netgen/NGSolve, see [11, 12]. Since the experiments feature piecewise smooth coefficients we have decided to use a medium finite element order of four. This allows to benefit from the efficiency of higher order elements in the subdomains where the coefficients are smooth. The discontinuities, which do not align with layer interfaces for the shear wave example, should be resolved through mesh refinement, i.e. by increasing the number of layers. Scripts for reproducing the numerical results are provided at DOI: 10.5281/zenodo.3886458. This archive includes a README file which describes the structure of the code and gives detailed instructions on how to reproduce the presented results.

4.1 Moving PML

The moving PML preconditioner relies on the assumption that the computational domain is truncated by an absorbing boundary condition in at least one direction and that the medium is free of large resonant cavities. The following two examples demonstrate that these assumptions are crucial.

4.1.1 Academic example

Consider the Helmholtz equation on the unit disk with discontinuous coefficients. The bilinear form in polar coordinates is given by

$$\begin{aligned} a(u,v) = \int \limits _{0}^{1} \int \limits _{0}^{2 \pi } \left( - \frac{r \omega ^2}{\rho c^2} u v + \frac{r}{\rho } \frac{\partial u}{\partial r} \frac{\partial v}{\partial r} + \frac{1}{r \rho }\frac{\partial u}{\partial \theta } \frac{\partial v}{\partial \theta } \right) d \theta dr. \end{aligned}$$

Periodic boundary conditions in \(\theta\) are used. At \(r =1.0\) an absorbing boundary condition implemented by a PML is set, while at \(r= 0\) we simply use natural boundary conditions. The geometrical setup is as shown in Fig. 1. Similar to the experiments from [6] we let the wavespeed vary discontinuously between the layers where the strength of the discontinuity is given by a factor \(\alpha\). To this end, we set on the first layer \(c =1/ (1+\alpha/2)\), on the next \(c =1/ (1-\alpha/2)\) then again \(c =1/ (1+\alpha/2)\) continuing in this fashion. The density is simply \(\rho = 1\).

We apply the DOSM with moving PML approximation of the DtN to this problem. The number of subdomains is chosen to grow linearly with the wavenumber in order to counter the pollution effect [1]. The results are shown in Table 1. We also consider the case in which additional damping is added to the preconditioner,Footnote 1 i.e. the operator \(\tilde{\mathcal {L}}\) in Eq. (7) describes a Helmholtz problem with complex frequency \(\omega + i \gamma\), where \(\gamma = 1\). Adding additional damping to the preconditioner leads to nearly robust iteration numbers for \(\alpha = 0\). However, for both versions the iteration numbers increase drastically as the contrast \(\alpha\) is increased. In further experiments, various choices for the damping parameter \(\gamma\) have been considered. However, a significant improvement in the case of high contrast could not be achieved. As a result, the preconditioner becomes completely inefficient in this setting.

Table 1 GMRES iteration numbers x (bold)/y (italic) for moving PML approximation of the DtN for the academic example

4.1.2 SH-waves in frequency domain

In the academic example reflections generated by the strongly discontinuous coefficients lead to the method’s breakdown. Severe reflections can also be generated by boundary conditions as is the case for the model problem (1) from seismology. This can be demonstrated by comparing the GMRES iteration numbers for two different boundary conditions:

  • In the first case, a PML is implemented at the Earth’s surface.

  • In the second case, the PML is removed, which realizes the physically desired free surface condition.

The tolerance is set to \(10^{-7}\). Two sources are considered: a Dirac and a random source.

The iteration numbers for the case of a PML at the Earth’s surface are shown in Table 2 in the columns ‘PML’ . The wave field for \(\omega = 2048\) with the Dirac source is shown in Fig. 2a. The waves generated from the point source bounce off from the CMB. Additional reflections are caused by the discontinuous coefficients and the Dirichlet boundary conditions at \(\theta = 0\) and \(\theta = \pi\). Despite these difficulties, the preconditioner performs well. The iteration numbers grow only very mildly and the low tolerance of \(10^{-7}\) is achieved for \(\omega = 2048\) in 15 iterations for both sources.

The situation changes drastically when the PML at the Earth’s surface is removed. The solver now has to capture a very complex wavefield created by additional reflections from the Earth’s surface as Fig. 2b shows. The results for this case are given in Table 2 in the columns ‘free’. The iteration numbers now grow drastically with increasing wavenumber. In Fig. 3 it can be seen that the residual stagnates for many iterations. GMRES first has to filter out the reflections until a convergence to the solution occurs. This renders the moving PML preconditioner unsuitable for our purpose. Let us note that in additional computational studies we also tried adding damping to the preconditioning problem which however did not improve the situation.

Fig. 2
figure 2

The real part of the solution for \(\omega = 2048\) with a Dirac source. A PML was applied at the Earth’s surface for a while b uses a free surface condition

Fig. 3
figure 3

GMRES residuals for moving PML approximation of the DtN with a Dirac source. On the left a free surface boundary condition is used at the Earth’s surface while on the right a PML is implemented

Table 2 Influence of the boundary condition on GMRES iteration numbers for moving PML approximation of the DtN

4.2 Tensor product DtN

We tackle problem (1) with the free surface boundary condition using a tensor product discretization of the DtN as described in Sect. 3. The \(L^2\)-error after one application of the preconditioner with respect to a solution computed with a direct solver is shown in Table 3. Apparently, the preconditioner can be used as a direct solver for the considered cases. The growth of the error as the number of subdomains J increases stems from a loss of precision in the eigenvalue equation 9, which occurs because we currently compute all eigenpairs explicitly. A practical implementation of our method would try to avoid such explicit computations by the techniques mentioned in Sect. 3.2. Analogous results are obtained for the academic example from Sect. 4.1.1. This confirms the theoretical result derived in Proposition 1.

Table 3 Relative \(L^2\)-error after one application of DOSM with tensor product DtN transmission conditions for a tensor product discretization

4.2.1 Sound speed perturbations

So far only the radially symmetric shear velocity \(v_{\text {PREM}}(r)\) of PREM has been considered. Let us now introduce a velocity perturbation

$$\begin{aligned} v_{\text {pert}}(r,\theta ) = \cos (r \theta ) \sin (r \theta ). \end{aligned}$$
(13)

Setting \(v(r,\theta ) = v_{\text {PREM}}(r) \left( 1 + \varepsilon v_{\text {pert}}(r,\theta ) \right)\) results in a relative perturbation of strength \(\varepsilon\). In the following, the tensor product DtN based on \(v_{\text {PREM}}\) is employed to precondition the system for \(v(r,\theta )\).

In Table 4 the iteration numbers obtained with the tensor product DtN are compared to the moving PMLFootnote 2 based approximation. The moving PML yields iteration numbers which are essentially independent of the strength of the perturbation since it approximates the DtN based on the perturbed shear velocity. The tensor product DtN instead is obtained from the separable background velocity. Thus, iteration numbers grow with the strength of the perturbation.

The performance of both approaches is highly dependent on the boundary conditions imposed at the Earth’s surface. The tensor product DtN is very robust against perturbations for the PML boundary condition. As a result, it outperforms the moving PML method for perturbations up to \(2 \%\). When the PML is replaced by a free surface boundary condition then the DtN apparently becomes very sensitive to perturbations. Hence, the tensor product DtN only yields acceptable iteration numbers in the high frequency regime for perturbations smaller than \(0.1 \%\).

Remark 2

Even in cases where the model is perfectly captured in the solution of the exterior problem in terms of the data, i.e. assuming no perturbations in the model coefficients, one often needs to deal with numerical perturbations. For instance, we considered problems without data perturbation where, however, adaptive meshes that violate the tensor product structure or for the solution of (10) different ODE solvers have been used. These numerical perturbations resulted in the same effect, a dramatic amplification thereof, rendering the approach practically useless in the presence of reflections.

The tensor product DtN approximation considered above realizes an exact solution of the exterior problem in the case of no perturbation of the background model. The missing robustness of this approach is not due to the tensor product construction, but rather due to the high sensitivity of the exact DtN operator itself. The investigation of this effect will be the subject of the subsequent section.

Table 4 Comparison of GMRES iteration numbers x (bold)/y: (italics) the numbers x (bold) are obtained when the tensor product DtN based on the background model is used to set up a preconditioner for the system with a perturbed shear velocity

5 On the sensitivity of DtN operators

The experiments from the previous section suggest that the DtN for the free surface boundary condition is much more sensitive to perturbations than for an absorbing boundary condition. Performing a mode-by-mode analysis, see Sect. 5.1, confirms this and reveals that the issue is already observed in one dimension. This leads to an analytical sensitivity analysis of scattering problems on the half line via Riccati equations in Sect. 5.2. Additional illustrations for this case are provided in Sect. 5.3.

5.1 Modal analysis

If in the study above in Sect. 4.2.1 we replace the perturbation model (13) with only linear velocity perturbations, i.e. \(v(r) = v_{\text {PREM}}(r) \left( 1 + \varepsilon \right)\) with constant \(\varepsilon \ge 0\), then the perturbed problem is separable as well. Denote by \({{\,\mathrm{\text {DtN}}\,}}_{j}(\psi ^{\ell },\varepsilon )\) the DtN numbers as computed in Proposition 1 for perturbation \(\varepsilon\). We fix the interface \(j=J-1\) closest to the CMB. In Fig. 4 the relative DtN error

$$\begin{aligned} \frac{ \vert {{\,\mathrm{\text {DtN}}\,}}_{j}(\psi ^{\ell },0) - {{\,\mathrm{\text {DtN}}\,}}_{j}(\psi ^{\ell },\varepsilon ) \vert }{ \vert {{\,\mathrm{\text {DtN}}\,}}_{j}(\psi ^{\ell },0) \vert } \end{aligned}$$
(14)

with \(\varepsilon \approx 3.9 \times 10^{-5}\) is shown for \(\omega \in \{512,1024,2048\}\). The same mesh, in particular the same discrete modes, have been used for all \(\omega\).

The relative error on the guided modes \(\vert \lambda _{\ell } \vert \lesssim \omega ^2\) for the free surface boundary condition is highly oscillatory and even in the best case almost two orders of magnitude larger than for the PML boundary condition. It also grows linearly in \(\omega\) and \(\varepsilon\). The first statement can be seen in the figure while the second was observed in other experiments not shown here. These findings show that the DtN for the free surface boundary condition is indeed highly sensitive to perturbations which explains the poor performance of the tensor product DtN based on the background model as observed in Sect. 4.2.1.

Fig. 4
figure 4

The relative DtN error on the discrete eigenmodes as computed in (14) for a linear velocity perturbation of fixed strength \(\varepsilon\). The blue line is for a free surface boundary condition at the Earth’s surface while the red line is obtained with an absorbing boundary condition implemented by a PML. The modes \(\ell\) have been ordered by increasing magnitude of \(\lambda _{\ell }\) (color figure online)

5.2 Analysis via Riccati equations

The high sensitivity already occurs in one dimension as demonstrated by the modal analysis. Hence, to get to the core of the problem, we will analyze the one dimensional scattering problems with transparent boundary conditions

$$\begin{aligned} {\left\{ \begin{array}{ll} -u_{\mathrm {T}}'' - \omega ^2(1+\varepsilon (x)) u_{\mathrm {T}}= 0&{} \text{ on } (0,a)\\ u_{\mathrm {T}}(0)=1\\ u_{\mathrm {T}}'(a) = i \omega u_{\mathrm {T}}(a) \end{array}\right. } \end{aligned}$$
(15-T)

and reflecting boundary conditions

$$\begin{aligned} {\left\{ \begin{array}{ll} -u_{\mathrm {R}}'' - \omega ^2(1+\varepsilon (x)) u_{\mathrm {R}}= 0&{} \text{ on } (0,a)\\ u_{\mathrm {R}}(0)=1\\ u_{\mathrm {R}}(a) = 0 \end{array}\right. } \end{aligned}$$
(15-R)

for \(a>0\) and \(\mathfrak {I}\omega \ge 0\).

Let us consider the functions

$$\begin{aligned} v_{\mathrm {B}}(x):= \frac{u_{\mathrm {B}}'(x)}{u_{\mathrm {B}}(x)}, \quad \mathrm {B}\in \{\mathrm {T},\mathrm {R}\}, \end{aligned}$$

which may be interpreted as “local DtN numbers”. It is well-known and easy to check that these functions satisfy the Riccati equation

$$\begin{aligned} v'(x) = -\omega ^2(1+\varepsilon (x)) - v(x)^2\,. \end{aligned}$$
(16)

Moreover, we have the initial conditions

$$\begin{aligned} v_{\mathrm {T}}(a) = i \omega ,\quad v_{\mathrm {R}}(a)=\infty . \end{aligned}$$
(17)

For simplicity, let us switch to the perturbation \(E(x):=\omega ^2 \varepsilon (x)\). The Fréchet derivatives

$$\begin{aligned} k_{\mathrm {B}}:= \frac{\partial v_{\mathrm {B}}}{\partial E}\tilde{E} \end{aligned}$$

(formally) satisfy the linear initial value problems

$$\begin{aligned} k_{\mathrm {B}}' = - \tilde{E} -2 v_{\mathrm {B}} k_{\mathrm {B}},\quad k_{\mathrm {B}}(a) = 0, \end{aligned}$$
(18)

which follows by differentiating (16) with respect to E.Footnote 3 Our aim is to compare the sizes of \(k_{\mathrm {T}}(0)\) and \(k_{\mathrm {R}}(0)\).

The solutions to the initial value problems (18) can be expressed in terms of the solutions

$$\begin{aligned} k^y_{\mathrm {B}}(x):= \exp \left( \int _x^y 2v_{\mathrm {B}}(z)\,dz \right) \end{aligned}$$

to the homogeneous equations \({k^y_{\mathrm {B}}}' = -2 v_{\mathrm {B}} k_{\mathrm {B}}^y\) with initial conditions \(k_{\mathrm {B}}^y(y)=1\) as

$$\begin{aligned} k_{\mathrm {B}}(x) = \int _x^a k^y_{\mathrm {B}}(x)\tilde{E}(y)\, dy\,. \end{aligned}$$
(19)

The main difference between transparent and reflecting boundary conditions is that \(v_{\mathrm {T}}\) is typically close to purely imaginary (for \(E=0\) it is identically \(i \omega\)) whereas \(v_{\mathrm {R}}\) for real-valued \(\omega\) and E is real-valued and has singularities at zeros of \(u_{\mathrm {R}}\). For \(E=0\) we have \(v_{\mathrm {R}}(x) = - \omega \cot (\omega (a-x))\). Therefore, \(|k^y_{\mathrm {T}}|\) is close to 1 whereas the kernel \(|k^y_{\mathrm {R}}|\) has singularities, and its modulus is often much larger than 1. In view of (19), this explains, why \(|k_{\mathrm {R}}(0)|\) is typically much greater than \(|k_{\mathrm {T}}(0)|\). This conclusion is consistent with the relative DtN error for the guided modes as shown in Fig. 4. In contrast, \(\vert \lambda _{\ell } \vert \gtrsim \omega ^2\) leads to exponentially decaying modes and removes the singularities from the corresponding kernel. In this case, \(|k_{\mathrm {R}}(0)|\) and \(|k_{\mathrm {T}}(0)|\) are of comparable size.

5.3 Comparison of DtN numbers for constant perturbation

Let us illustrate the qualitative statements of the previous section by considering only constant perturbations \(\varepsilon (x) = \varepsilon\) which allows us to compute the solutions to (15-T) and (15-R). These problems become constant coefficient problems in the perturbed wavenumber \(\omega _{\varepsilon } = \omega \sqrt{1+\varepsilon }\). The solutions for \(\omega >0\) for transparent boundary conditions

$$\begin{aligned} u_{\mathrm {T}}^{\varepsilon }(x) = \frac{\sqrt{1+\varepsilon } \cos ( \omega _{\varepsilon }(x-a) ) + i \sin ( \omega _{\varepsilon }(x-a) ) }{ \sqrt{1+\varepsilon } \cos ( \omega _{\varepsilon }a ) - i \sin ( \omega _{\varepsilon }a) } \end{aligned}$$

and reflecting boundary conditions

$$\begin{aligned} u_{\mathrm {R}}^{\varepsilon }(x) = \cos (\omega _{\varepsilon }x) - \cot (\omega _{\varepsilon }a) \sin ( \omega _{\varepsilon }x) \end{aligned}$$

yield the perturbed DtN numbers

$$\begin{aligned} \text {DtN}_{\mathrm {T}}(\varepsilon ):=&- (u_{\mathrm {T}}^{\varepsilon })'(0) = - i \omega - \omega \varepsilon \frac{ \sin (\omega _{\varepsilon } a) }{\sqrt{1+\varepsilon } \cos ( \omega _{\varepsilon }a ) - i \sin ( \omega _{\varepsilon }a) }, \\ {{\,\mathrm{\text {DtN}}\,}}_{\mathrm {R}}(\varepsilon ):=&-(u_{\mathrm {R}}^{\varepsilon })'(0) = \omega _{\varepsilon } \cot (\omega _{\varepsilon }a). \end{aligned}$$

Comparing this with the background profile gives the relative errors

$$\begin{aligned} \varDelta _{\mathrm {T}}(\varepsilon ,\omega )&:= \vert {{\,\mathrm{\text {DtN}}\,}}_{\mathrm {T}}(0)-{{\,\mathrm{\text {DtN}}\,}}_{\mathrm {T}}(\varepsilon ) \vert/\vert {{\,\mathrm{\text {DtN}}\,}}_{\mathrm {T}}(0) \vert \\&= \varepsilon \frac{\vert \sin (\omega _{\varepsilon } a) \vert }{ \sqrt{ 1 + \varepsilon \cos ( \omega _{\varepsilon } a)^2 }} \le \varepsilon \end{aligned}$$

and

$$\begin{aligned} \varDelta _{\mathrm {R}}(\varepsilon ,\omega )&:= \vert {{\,\mathrm{\text {DtN}}\,}}_{\mathrm {R}}(0)-{{\,\mathrm{\text {DtN}}\,}}_{\mathrm {R}}(\varepsilon ) \vert/\vert {{\,\mathrm{\text {DtN}}\,}}_{\mathrm {R}}(0) \vert \\&= \frac{ \vert \cot (\omega a) - \sqrt{1+\varepsilon } \cot ( \sqrt{1+\varepsilon } \omega a) \vert }{ \vert \cot (\omega a) \vert } = \varepsilon \left| -\frac{1}{2}+\frac{\omega a}{\sin (2\omega a)} \right| + O(\varepsilon ^2). \end{aligned}$$

In Fig. 5 these functions are plotted for constant \(\varepsilon = 10^{-3}\) and \(a=1\). In this case, the relative error for the transparent boundary conditions can be bounded independently of \(\omega\) while the relative error for reflecting boundary conditions is much larger, highly oscillatory and grows like \(\omega\).

Fig. 5
figure 5

Comparison of analytic DtN errors for a constant perturbation \(\varepsilon = 10^{-3}\) and \(a=1\). Here, \(\mathrm {R}\) and \(\mathrm {T}\) denote reflecting and transparent boundary conditions respectively

6 Conclusion

This paper investigates the potential of sweeping preconditioners for stratified media in absence of an absorbing boundary condition. For such a problem the DtN cannot be reasonably approximated by a moving PML. To resolve this issue, a tensor product discretization of the DtN, which is based on separability of the equation for the background model, has been introduced yielding a direct solver for the unperturbed background model. Despite its perfect approximation of the DtN the applicability of the resulting sweeping preconditioner is limited due to a very high sensitivity of the DtN to perturbations. As a conclusion we can state that in the presence of reflections any sweeping preconditioner for wave propagation relying on an accurate, but not perfect, DtN approximation—based on a tensor product structure or not—is doomed to fail in practice.