Abstract
We describe S4, a free implementation of the Fourier modal method (FMM), which has also been commonly referred to as rigorous coupled wave analysis (RCWA), for simulating electromagnetic propagation through 3D structures with 2D periodicity. We detail design aspects that allow S4 to be a flexible platform for these types of simulations. In particular, we highlight the ability to select different FMM formulations, user scripting, and extensibility of program capabilities for eigenmode computations.Program summaryProgram title: S4Catalogue identifier: AEMO_v1_0.Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEMO_v1_0..htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU General Public License, version 2No. of lines in distributed program, including test data, etc.: 56910No. of bytes in distributed program, including test data, etc.: 433883Distribution format: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 vectorized 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.Classification: 10. Electrostatics and Electromagnetics.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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have