Multem 3: An updated and revised version of the program for transmission and band calculations of photonic crystals

Published: 17 May 2024| Version 1 | DOI: 10.17632/3hnz5wdvzr.1
, Alexander Moroz


We present here Multem 3, an updated and revised version of Multem 2, which syntax has been upgraded to Fortran 2018, with the source code being divided into modules. Multem 3 is equipped with LAPACK, the state-of-the art Faddeeva complex error function routine, and the Bessel function package AMOS. The amendments significantly improve both the speed, convergence, and precision of Multem 2. Increased stability allows to freely increase the cut-off value LMAX on the number of spherical vector wave functions and the cut-off value RMAX controlling the maximal length of reciprocal vectors taken into consideration. An immediate bonus is that Multem 3 can be reliably used to describe bound states in the continuum (BICs). To ensure convergence of the layer coupling scheme, it appears that appreciably larger values of convergence paramaters LMAX and RMAX are required than those reported in numerous published work in the past using Multem 2. We hope that Multem 3 will become a reliable and fast alternative to generic commercial software, such as COMSOL Multiphysics, CST Microwave Studio, or Ansys HFSS, and that it will become the code of choice for various optimization tasks for a large number of research groups. The improvements concern the core part of Multem 2, which is common to the extensions of Multem 2 for acoustic and elastic multiple scattering and to the original layer-Kohn-Korringa-Rostocker (LKKR) code. Therefore, the enhancements presented here can be readily applied to the above codes as well. The previous version of this program may be found at



Condensed Matter Physics, Computational Physics, Photonic Crystal, Diffraction, Multiple Scattering Method