Parallel QR algorithm for the C-method: application to the diffraction by gratings and rough surfaces
Algorithme QR parallèle pour la méthode C: Application à la diffraction par les réseaux et les surfaces rugueuses
Résumé
The curvilinear coordinate method (C-method) is an exact method for analysing of electromagnetic waves scattering from rough surfaces. It is based on Maxwell's equations under covariant form written in a non-orthogonal coordinate system. This method leads to an eigenvalue system. All the eigenvalues and eigenvectors of the scattering matrix are required. The QR algorithm seems to be a suitable solution for this high dimension, dense, non-symmetric and complex scattering matrix. In this paper, we present the parallel QR algorithm that is specifically designed for the C-method. We define the "early shift" for the scattering matrix according to the property that we have observed. We mixed the "early shift", Wilkinson's shift and exceptional shift together to accelerate the convergence. Especially, we use the "early shift" first in order to have quick deflation of the real eigenvalues of the scattering matrix. The multi-window bulge chain chasing and parallel aggressive early deflation are used. The multi-window bulge chain chasing approach ensures that most computations are performed in 3 BLAS operations. The aggressive early deflation approach can detect deflation much quicker and thus accelerate convergence. Mixed MPI-OpenMP techniques are utilized for performing the codes to distributed memory platforms. Numerical experiments are performed and applications of this parallel QR algorithm are applied to a real physical problem of diffraction.