1 Introduction

Maxwell’s equations need to be solved in many applications, such as medical imaging or electromagnetic compatibility. The Finite Element Method (FEM) is widely used for numerical modeling of these problems due to its ability to handle complex geometrical configurations. Finite element discretization of these frequency-domain wave problems leads to an ill-conditioned linear system with large number of unknowns. To solve this system, the efficiency of direct solvers is limited at larger scales due to scalability problems in memory and computing time. Besides, Krylov subspace iterative solvers have shown slow convergence. An alternative method that tackles the convergence problem of iterative solvers is the domain decomposition method (DDM). The method relies on a division of the computational domain into smaller subdomains, leading to subproblems of smaller sizes manageable by direct solvers. One perfect candidate introduced in [1] and then improved in [2] is the domain decomposition preconditioner which proved to be very robust in large scale computations. However, designing an efficient domain decomposition preconditioner is still challenging for such a system.

In this paper, we present an efficient PML-based Schwarz-type domain decomposition preconditioner with overlapping subdomains. The convergence rate of Schwarz methods highly depends on the transmission condition on the interfaces between subdomains. Thus, carefully designed transmission conditions play a critical role in the efficiency of the solver. To decrease undesired numerical reflections, one usually adds a PML layer along the boundaries that extend a definite area to the infinity, representing an unbounded volume, and absorbs almost all incident waves, regardless of angle of incidence, so that the waves decay exponentially in magnitude into the PML medium [5, 6]. Specifically, using PML is essential for simulating unbounded systems such as infinitely long waveguides or an isolated structure in an infinite vacuum region. While the use of PMLs as boundary conditions when solving a problem in open space is quite common, less things are known about their use as transmission conditions within a domain decomposition algorithm. We propose to assess the performance of a one-level domain decomposition algorithm where the transmission conditions at the boundaries between subdomains are PML conditions, providing a better approximation to the transparent boundary operator. We will investigate the convergence properties and compare them with the more common impedance transmission conditions. In a previous work, PML have been used successfully as transmission conditions in domain decomposition methods in geophysical applications modeled by the Helmholtz equation in [3]. The paper is organized as follows. In Sect. 2, we present mathematical model including Maxwell’s equations, PML formulation with different stretching functions as well as its implementation. Then, the DDM with PML-based transmission operators is introduced. In Sect. 3, some numerical examples are presented to analyze the performance of the proposed domain decomposition algorithm. Finally, conclusion is written in Sect. 4.

2 Mathematical Model

Let us consider the computational domain \(\varOmega \subset \mathbb {R}^3\) to be a homogeneous dielectric medium of complex-valued electric permittivity \( \varepsilon _{\sigma } \) and electrical conductivity \( \sigma >0 \). Let \(\mu _0 \) be the permeability of free space and n be the unit outward normal to the boundaries \(\partial \varOmega \). \(\omega \) is the angular frequency and c is the wave speed. In the frequency domain, the electric field \(\mathbf {\xi }(\textbf{x},\textbf{t})= \Re (\mathbf {E(x)}e^{i \omega \textbf{t}})\) has harmonic dependence on time of angular frequency \(\omega \), where \(\mathbf {E(x)}\) is its complex amplitude depending on the space variable \(\textbf{x}\). Hence \(\mathbf {E(x)}\) is a solution to the following second order time-harmonic Maxwell’s equation

$$\begin{aligned} \begin{array}{rcl} \nabla \times (\nabla \times \textbf{E})- \omega ^2 \varepsilon _{\sigma }\mu _0\textbf{E}~ = ~f~~~~~~~~~~~~\text {in }~ \varOmega .~~~~~~~~~~~~ \end{array} \end{aligned}$$
(1)

Let us denote the boundary of the global domain by \(\partial \varOmega \) where Robin condition \((\nabla \times \textbf{E})\times {\textbf {n}}+ i\frac{\omega }{c} {\textbf {n}} \times (\textbf{E}\times {\textbf {n}})~= 0\) is imposed [4]. The Robin or impedance boundary condition (Imp BCs) is a standard first order approximation to the far field Sommerfeld radiation condition enabling the description of the wave behavior in a bounded domain, while the physical domain is not bounded. The finite element discretization of Eq. (1) is written as the following linear system

$$\begin{aligned} A\textbf{u}=\textbf{b}. \end{aligned}$$
(2)

2.1 PML Formulation

To solve a partial differential equation (PDE) numerically, the computational domain has to be truncated without introducing reflections. The first attempt in this regard is absorbing boundary conditions (ABCs). The first order ABC as regular choice is Robin condition that was mentioned earlier. Due to the limited accuracy of this method, PML were introduced by Berenger [5] as a better alternative. PML provide non-reflecting boundaries so that the numerical solution converges exponentially to the exact solution in the computational domain as the thickness of the layer increases.

PML implementation is done by stretching cartesian coordinates so that stretching is defined in a layer surrounding the computational domain [5] and Dirichlet boundary condition can be imposed at the end of the PML layer. In this regard, we assume the boundaries of the computational domain to be aligned with the coordinate axes. For simplicity we will focus on truncating the problem in the x direction. Let us suppose that the PML layer extends from the boundary of our domain of interest \(x=a\) until \(x = a^{*}\). The coordinate mapping in x direction is:

$$\begin{aligned} \frac{\partial }{\partial x_{pml}} \rightarrow \frac{1}{1 - \frac{i}{\omega }\sigma (x)} \frac{\partial }{ \partial x}~~~~, \sigma (x) = {\left\{ \begin{array}{ll} \begin{array}{ll} ~~~0 ~ ~~~~~~~~~~ \text {if } x<a ~~\\ >0 ~~~~~~ \text {if } a < x < a^{*}.~~ \end{array} \end{array}\right. } \end{aligned}$$
(3)

In the PML region where \(\sigma (x)>0\), The oscillating solutions turn into exponentially decaying ones. In the rest of the region where \(\sigma (x)=0\), the wave equation is unchanged and the solution is unchanged. In this paper we have studied two different stretching functions \(\sigma (x)\) as following

$$\begin{aligned} \begin{array}{ll} \sigma _{-1}(x) = \frac{1}{a^{*}-x} ~~~~~~~~(a)~~~~~ , ~~ \sigma _{-2}(x)= \frac{2}{(a^{*}-x)^{2}}~~~~~~~(b) \end{array} \end{aligned}$$
(4)

To truncate our computational region with a PML layer in other directions, we just need to do the same transformations to get \(\frac{\partial }{\partial y_{pml}}\) and \(\frac{\partial }{\partial z_{pml}}\). At the corners of the computational cell, we will have PML regions along two or three directions simultaneously, but it will not generate any problem.

Implementing this mapping in the three dimensional domain requires a slight further generalization of Eq. (1), resulting in the following definition of the curl operator to be used in the variational formulation:

$$\begin{aligned} \nabla _{pml}\times \textbf{E} = \left[ {\begin{array}{c} \frac{\partial {\textbf{E}_z}}{\partial {y_{pml}}}-\frac{\partial {\textbf{E}_y}}{\partial {z_{pml}}} \\ \frac{\partial {\textbf{E}_x}}{\partial {z_{pml}}}- \frac{\partial {\textbf{E}_z}}{\partial {x_{pml}}} \\ \frac{\partial {\textbf{E}_y}}{\partial {x_{pml}}}- \frac{\partial {\textbf{E}_x}}{\partial {y_{pml}}} \\ \end{array} } \right] \end{aligned}$$
(5)

2.2 Domain Decomposition Preconditioner

To solve our large and ill conditioned linear system (2), the use of a robust and efficient preconditioner is necessary in a Krylov iterative solver (GMRES) [6]. A preconditioner \(M^{-1}\) is a linear operator that approximates the inverse of matrix \({\textbf {A}}\) whose cost of the associated matrix-vector product is much cheaper than solving the original linear system. In this regard, we employ right preconditioning to solve (2) that will give us:

$$\begin{aligned} AM^{-1}\textbf{y}=\textbf{f}, ~~~~\textit{where} ~~~ \textbf{u}=M^{-1}\textbf{y} \end{aligned}$$
(6)

This right preconditioned system benefits from a residual that is preconditioner independent compared to the left-preconditioned variant.

As an overlapping Schwarz method, the optimized restricted additive Schwarz (ORAS) domain decomposition preconditioner is chosen here

$$\begin{aligned} M_{ORAS}^{-1}= \sum _{s=1}^{N_{sub}} R_s^T D_s A_s^{-1} R_s \end{aligned}$$
(7)

where \(N_{sub}\) is the number of overlapping subdomains \(\varOmega _s\) into which the domain \(\varOmega \) is decomposed. Here, matrices \(A_s\) stem from the discretisation of local boundary value problems on \(\varOmega _s\) with transmission conditions at the subdomain interfaces. Let N be an ordered set of the unknowns of the whole domain and let \(N = \bigcup _{s=1}^{N_{sub}}N_s\) be its decomposition into the (nondisjoint) ordered subsets corresponding to the different (overlapping) subdomains \(\varOmega _s\). Matrix \(R_s\) is the restriction matrix from \(\varOmega \) to subdomain \(\varOmega _s\); it is a \( N_s \times N\) Boolean matrix. \(R_s^T\) is then the extension matrix from subdomain \(\varOmega _s\) to \(\varOmega \). \(D_s\) is a \(N_s \times N_s \) diagonal matrix that gives a discrete partition of unity, i.e., \( \sum _{s=1}^{N_{sub}} R_s^T D_s R_s = I\).

The convergence rate of this method highly depends on the choice of transmission conditions between the subdomains [7]. The optimal convergence is obtained by imposing the Dirichlet-to Neumann (DtN) map related to the complementary of each subdomain [8, 9]. However, since the cost of computing the exact DtN is prohibitive, low-order absorbing boundary conditions (ABCs) to approximate the DtN have been developed. Nonetheless, these methods have limited accuracy, which led to developing domain decomposition strategies with high order transmission conditions [10]. But the problem with high order transmission conditions is the difficulty of their implementation. A good approximation of ABCs in terms of providing better convergence rate and easy implementation would be to use PML on the interface boundaries of the cuboid-shaped subdomains [11, 12], that is what we consider here. In this purpose a PML layer is added in each direction in the overlap region. Note that the width of the overlap has to be larger than the PML layer for a good transmission of the data between subdomains.

3 Numerical Results

The performance of the proposed PML-based preconditioner for Maxwell’s equations is studied in a 3D homogeneous domain \(\varOmega \), while length of the domain in each direction is 10 m. We have excited the \(z = 0\) surface with plane wave incident term \(e^{(-ikz)}\), where \(k = \frac{2\pi }{\lambda }\), with propagation in \(+z\) direction shown in the Fig. 1. The convergence rate is studied while there is PML or Impedance as global boundary conditions (BCs) or interface conditions (ICs), which leads to four different situations reported in Table 1. The finite element discretization is done for the first order edge elements for two different frequencies. Let \(\#\)DoF represents the number of degrees of freedom. For \(f = 0.5\) Hz, we have \(\#\)DoF =511775 and for \(f = 1\) Hz, we have \(\#\)DoF = 2098100. The global domain is decomposed into N = 100 number of cuboid-shaped subdomains, that PMl layer is set along their interfaces with the length \(L_{pmli}\).

Fig. 1.
figure 1

Plane wave propagation.

In Table 1, simulations are done for the \(\sigma _{-2}\) stretching function and PML length on the interfaces is shown with \(L_{pmli} = 8h\) where \(h = \frac{\lambda }{n_{\lambda }}\) is the mesh size and \(n_{\lambda }\) is the number of points per wavelength. In all simulations, PML length on the global boundary is \(L_{pml}=2\lambda \) and the overlapping layers between subdomains is changed from 2 to 8 layers in four steps. Looking at the Table 1, for \(f=0.5\) and considering 8 number of overlapping layers to be larger than \(L_{pmli}\), we can see while we have PML BCs and Imp ICs, number of iterations is 21, but with PML BCs and PML ICs, this number decrease to 16. It is while with Imp on BCs and ICs, number of iterations is 26. In this table, \(\bullet \) means that, solution has not converged for 200 number of iterations.

Table 1. Function \(\sigma _{-2}\). \(n_{\lambda }\) = 5, \(L_{pml} = 2\lambda \), \(~L_{pmli} = 8h\), \(c =1\), \(N = 100\) is number of subdomains

To see the influence of the \(L_{pmli}\), we did the simulation with smaller PML layer on the subdomains, mentioned in Table 2, only for the case with PML as BCs and ICs. Comparing with the equivalent row in the Table 1 for 6 and 8 overlaping layers, we see that with larger length of PML on subdomains we have better convergence. Although the rate of convergence has become better for lower overlapping layers, with smaller PML length, due to the better data transmission between subdomains. Comparing the results for the use of stretching function \(\sigma _{-1}\) instead of \(\sigma _{-2}\) is mentioned in the Table 3. For 2 number of overlapping layers, better number of iterations is seen with \(\sigma _{-1}\), however for higher number of overlapping layers, \(\sigma _{-2}\) results in better convergence.

Table 2. Function \(\sigma _{-2}\). \(n_{\lambda }\) = 5, \(L_{pml} = 2\lambda \), \(L_{pmli}= 4h\), \(c =1\), \(N = 100\)
Table 3. Function \(\sigma _{-1}\). \(n_{\lambda }\) = 5, \(L_{pml} = 2\lambda \), \(L_{pmli} = 8h\), \(c =1\), \(N = 100\)

The performance of the proposed preconditioner in a heterogeneous domain is studied in Tables 4 and 5. Here, we have defined a medium with two values of \(\varepsilon _r\) with the dimension of 6.3 m in X and Y directions and 2.5 m in Z direction inside the free space computational domain. In this experiment, rhs is chosen as a random value, \(L_{pmli} = 4h\), \(f=1\) Hz, stretching function is chosen as \(\sigma _{-2}\) in Table 4 and \(\sigma _{-1}\) in Table 5. Results show, increasing value of \(\varepsilon _r\) increase number of iterations, but with PML interface conditions we can have faster convergence. Comparing two tables, better performance is obtained by \(\sigma _{-2}\) stretching function. Here we have considered maximum number of iterations as 600. In the results, - means problem is not solved due to memory limitation.

Table 4. Function \(\sigma _{-2}\). \(n_{\lambda }\) = 5, \(L_{pml} = 2\lambda \), \(~f=1.0\) Hz, \(c =1\), \(N = 100\).
Table 5. Function \(\sigma _{-1}\). \(n_{\lambda }\) = 5, \(L_{pml} = 2\lambda \), \(~f=1.0\) Hz, \(c =1\), \(N = 100\).

Results are obtained on the Université Côte d’Azur’s High-Performance Computing (HPC) center. In this HPC center, cluster is composed of 48 CPU computing nodes, including 32 nodes with Dual Intel Xeon Gold processor, providing 40 cores per node and 192 GB of memory and 16 nodes with 2 AMD Epyc processors, providing 32 cores per node and 256 GB of memory.

4 Conclusions

In this work, we have developed a numerical model for an accurate and fast simulation of Maxwell’s equations. To achieve this goal, the PML layer is implemented as physical boundaries and as transmission conditions in domain decomposition preconditioner for a three dimensional domain. A better convergence rate is achieved with PML layer, compared to Impedance interface conditions. Numerical results shows that the performance of the PML depends on a well chosen stretching function and length of the PML. This work is a preliminary study that was inspired by a similar work done for Helmholtz equations [13] where the results were very encouraging. More investigations can be done in next works, like evaluating performance of the PML as interface conditions for higher order edge elements or in a heterogeneous domain. Note that PML have some limitations, for the time being it has been applied only along the straight interfaces but variants for circular boundaries exist that can be further explored in the context of other applications.