A Complex Mix-Shifted Parallel QR Algorithm for the C-Method
Total Page:16
File Type:pdf, Size:1020Kb
Progress In Electromagnetics Research B, Vol. 68, 159–171, 2016 A Complex Mix-Shifted Parallel QR Algorithm for the C-Method Cihui Pan1, 2, 3,RichardDuss´eaux1, *, and Nahid Emad2, 3 Abstract—The C-method is an exact method for analyzing gratings and rough surfaces. This method leads to large-size dense complex non-Hermitian eigenvalue. In this paper, we introduce a parallel QR algorithm that is specifically designed for the C-method. We define the “early shift” for the matrix according to the observed properties. We propose a combination of the “early shift”, Wilkinson’s shift and exceptional shift together to accelerate convergence. First, we use the “early shift” in order to have quick deflation of some eigenvalues. The multi-window bulge chain chasing and parallel aggressive early deflation are used. This approach ensures that most computations are performed in level 3 BLAS operations. The aggressive early deflation approach can detect deflation much quicker and accelerate convergence. Mixed MPI-Open MP techniques are used for performing the codes to hybrid shared and distributed memory platforms. We validate our approach by comparison with experimental data for scattering patterns of two-dimensional rough surfaces. 1. INTRODUCTION The C-method is an efficient and versatile theoretical tool for analyzing gratings or rough surfaces illuminated by an electromagnetic wave [1–6]. It is based on Maxwell’s equations solved in a non- orthogonal coordinate system fitted to the surface geometry. Discretizing the Maxwell’s equations under a non-orthogonal coordinate system and separating variables lead to solving the eigenvalue problem of the high-dimensional, dense, complex and non-symmetric matrix. The scattered field is expanded as a linear combination of eigensolutions satisfying the outgoing wave condition. The boundary conditions allow the scattering amplitudes to be determined. The strength of the C-method is that it leads to the eigensolutions of the scattering problem. It is an accurate method and it can be used as a reference for the analytical methods [7]. The dominant computational cost for the C-method is the eigenvalue problem solution that is of the order of O(N 3)whereN is the size of matrix. The C-method must be improved with regard to this point, in particular, for analyzing random rough surfaces insofar as the average scattered intensity is estimated over results of several surface realizations. In this paper, we focus on the numerical aspects of the C-method in order to reduce the computational time. Iterative eigensolvers, such as Bi-Conjugate Gradient methods, Krylov subspace methods or Jacobi-Davidson methods have been developed to deal with large-scale eigenvalue problems [8]. However, they have the possibility of missing some eigenvalues. Therefore, these iterative methods are inefficient for the C-method because all the eigenvalues and eigenvectors are needed. In contrast, the QR algorithm is based on similarity transformations and calculates all the eigenvalues and eigenvectors without any danger of missing some eigensolutions [9, 10]. We present the parallel QR algorithm that is specifically designed for the C-method. We define a technique, called “early shift” for the matrix according to the properties that we have observed. We mix the “early shift”, Wilkinson’s Received 8 April 2016, Accepted 11 June 2016, Scheduled 30 June 2016 * Corresponding author: Richard Dusseaux ([email protected]). 1 Laboratoire Atmosph`eres, Milieux, Observations Spatiales (LATMOS/IPSL), Universit´e de Versailles Saint-Quentin-en- Yvelines/Universit´e Paris-Saclay, 11 Boulevard d’Alembert, Guyancourt 78280, France. 2 Laboratoire LI-PaRAD, Universit´ede Versailles Saint-Quentin-en-Yvelines/Universit´e Paris-Saclay, 45 avenue des Etats-Unis, Versailles 78035, France. 3 Maison de la simulation/Universit´e Paris-Saclay, Bˆatiment 565, Gif-sur-Yvette 91191, France. 160 Pan, Duss´eaux, and Emad shift and exceptional shift together to accelerate the convergence. Especially, we use the “early shift” first to have quick deflation of some eigenvalues [11, 12]. The multi-window bulge chain chasing and parallel aggressive early deflation (AED) are used [12, 13]. A Mixed Message Passing Interface and Open Multi-Processing techniques (Mixed MPI-Open MP) are utilized for parallel implementation of our application for hybrid shared and distributed memory platforms [14, 15]. The paper is structured as follows. In Section 2, we present the C-method. In Section 3, we introduce the parallel QR algorithm specifically designed for the C-method and we present the implementation details, architectures and platforms. In Section 4, we present numerical experiments and we validate numerical results by comparison with experimental data. 2. THE C-METHOD AS AN EIGENVALUE PROBLEM 2.1. Formulation of the Problem Consider a periodic surface with a height profile z = s(x, y)andaperiodD with respect to Ox and Oy axis (See Figure 1). The surface separates the vacuum (ν(1) = 1) from a material with a reflective index ν(2). It is illuminated by a monochromatic plane wave with wavelength λ(1). The time-dependence factor varies as exp(jωt)whereω is the angular frequency. Each vector function is represented by its associated complex vector function and the time factor is omitted. Superscripts (1) and (2) designate quantities relative to the upper medium and the lower medium, respectively. The incident wave vector k0 is defined from the zenith angle θ0 and the azimuth angle ϕ0 [4]. For an incident wave in (a) polarization, the problem consists in working out the co- and cross-polarized components of the field scattered within the two media. Figure 1. An elementary cell of a periodic surface illuminated by a plane wave under (θ0,ϕ0). h0 and v0 are the polarization vectors of the incident plane wave. In the vacuum, the diffracted elementary wave is characterized by the wave vector k1, the polarization vectors h1 and v1, the zenith angle θ and the azimuth angle ϕ [3, 4]. The C-method uses the translation coordinate system (u, v, ω)where(u, v)=(x, y)andw = z − s(x, y). So, the height function z = s(x, y) coincides with the coordinate surface w =0andthe change from Cartesian components (ax; ay; az) of a vector a to covariant components (au, av, aw)is given by [1, 3]. ⎧ ⎪ ∂s(x, y) ⎪ au(x, y, w)=ax(x, y, z)+ az(x, y, z) ⎨ ∂x ∂s(x, y) (1) ⎪ av(x,y,w)=ay(x ; ,y, z)+ az(x,y, z) ⎩⎪ ∂y aw(x,y,w)=az(x,y, z) The covariant components Eu, Ev, Hu and Hv are parallel to the rough surface and satisfy the boundary value problem. Because the boundary surface coincides with a coordinate surface, the boundary value problem is simplified. In a source-free medium, it can be shown from the time harmonic Maxwell Progress In Electromagnetics Research B, Vol. 68, 2016 161 equations and the constitutive relations expressed in the translation system that the component ψ = Ew or ψ = ZHw obeys to the propagation equation: ∂2ψ ∂2ψ ∂2ψ ∂ ∂ψ ∂guwψ ∂ψ ∂gvwψ + + gww + k2ψ + guw + + gvw + =0 (2) ∂u2 ∂v2 ∂w2 ∂w ∂u ∂u ∂v ∂v k is the wave number of the medium under consideration and Z, this impedance. Terms guw, gvw and gww are elements of metric tensor which depend on the derivatives of function s(u, v) with respect to u and v [3]. ∂s guw = − ∂u vw ∂s g = − (3) ∂v ∂s 2 ∂s 2 gww =1+ + ∂u ∂v Asshownin[3],Eu, Ev, Hu and Hv can be expressed in terms of Ew and Hw only: 2 2 ∂ Eu 2 ∂ Ew 2 uw vw ∂ZHw ∂ZHw + k Eu = − k g Ew − jk g + (4) ∂w2 ∂u∂w ∂w ∂v 2 2 ∂ Ev 2 ∂ Ew 2 vw uw ∂ZHw ∂ZHw + k Ev = − k g Ew + jk g + (5) ∂w2 ∂v∂w ∂w ∂v 2 2 ∂ Hu 2 ∂ Hw 2 uw k vw ∂Ew ∂Ew + k Hu = − k g Hw + j g + (6) ∂w2 ∂u∂w Z ∂w ∂v 2 2 ∂ Hv 2 ∂ Hw 2 vw k uw ∂Ew ∂Ew + k Hv = − k g Hw − j g + (7) ∂w2 ∂v∂w Z ∂w ∂v 2.2. Eigenvalue System In [3], a procedure is proposed for solving the propagation Equation (2). ψ(x, y, w) is represented in terms of the quasi-periodic functions exp(−jαpx)exp(−jβqy): ψ(x, y, w)= ψpq(w)exp(−jαpx)exp(−jβqy)(8) p q where (1) 2π (1) 2π αp = k sin θ cos ϕ + p ,βq = k sin θ sin ϕ + q (9) 0 0 D 0 0 D Substituting (8) and (9) into (2) and projecting on the quasi-periodic functions gives: j ∂ αs uw uw αp βt vw vw βq g + g + g + g ψpq(w) (1) (1) s−p,t−q s−p,t−q (1) (1) s−p,t−q s−p,t−q (1) k ∂w p,q k k k k 2 j ∂ ww γst + g ψ (w) = ψst(w) (10) (1) s−p,t−q pq (1)2 k ∂w p,q k where j ∂ψpq(w) = ψpq(w) (11) k(1) ∂w 2 2 2 2 and γst = k − αs − βt . It is interesting to note that γst is the propagation coefficient of an elementary uw vw ww plane wave with respect to the Oz axis [1]. Terms gp,q , gp,q and gp,q are the Fourier coefficients of the periodic functions guw, gvw and gww. Equations (10) and (11) can be written in matrix form: j ∂ ψ ψ Ll = Lr (12) k(1) ∂w ψ ψ 162 Pan, Duss´eaux, and Emad ψpq and ψpq are the components of vectors ψ and ψ . For a truncation order M, −M ≤ p, q ≤ +M.