Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aemo_v1_0.tar.gz(423 Kbytes)
Manuscript Title: S4: A free electromagnetic solver for layered periodic structures
Authors: Victor Liu, Shanhui Fan
Program title: S4
Catalogue identifier: AEMO_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 183(2012)2233
Programming language: C, C++.
Computer: Any computer with a Unix-like environment and a C++ compiler. Developed on 2.3 GHz AMD Phenom 9600.
Operating system: Any Unix-like environment; developed under MinGW32 on Windows 7.
Has the code been vectorised or parallelized?: Yes. Parallelized using MPI.
RAM: Problem dependent (linearly proportional to number of layers and quadratic in number of Fourier components). A single layer calculation with approximately 100 Fourier components uses approximately 10 MB.
Keywords: Computational electromagnetics, Maxwell solver, Fourier modal method, Rigorous coupled wave analysis, Scattering matrix method.
Classification: 10.

External routines: Lua [1] and optionally exploits additional free software packages: FFTW [2], CHOLMOD [3], MPI message-passing interface [4], LAPACK and BLAS linear-algebra software [5], and Kiss FFT [6].

Nature of problem:
Time-harmonic electromagnetism in layered bi-periodic structures.

Solution method:
The Fourier modal method (rigorous coupled wave analysis) and the scattering matrix method.

Running time:
Problem dependent and highly dependent on quality of the BLAS implementation (linearly proportional to number of layers and cubic in number of Fourier components). A single layer calculation with approximately 100 Fourier components takes 4 s on the development machine using the reference BLAS.

[1] R. Ierusalimschy, L. H. de Figueiredo, W. C. Filho, Lua - an extensible extension language, Software: Practice and Experience 26 (1996) 635-652. http://www.lua.org
[2] FFTW, http://www.fftw.org
[3] Y. Chen, T. A. Davis, W. W. Hager, and S. Rajamanickam, Algorithm 887: CHOLMOD, supernodal sparse Cholesky factorization and update/downdate, ACM Trans. Math. Software, Vol 35, No. 3, 2009. http://www.cise.ufl.edu/ research/sparse/cholmod
[4] T.M. Forum, MPI: A Message Passing Interface, in: Supercomputing 93, Portland, OR, 878883, 1993.
[5] LAPACK, http://www.netlib.org/lapack
[6] Kiss FFT, http://kissfft.sourceforge.net