  SMUTHI is a python package for the efficient and accurate simulation of
electromagnetic scattering by one or multiple wavelength-scale objects in a
planarly layered medium. The software combines the T-matrix method for
individual particle scattering with the scattering matrix formalism for the
propagation of the electromagnetic field through the planar interfaces. In this
article, we briefly introduce the relevant theoretical concepts and present the
main features of SMUTHI. Simulation results obtained for several benchmark
configurations are validated against commercial software solutions. Owing to
the generality of planarly layered geometries and the availability of different
particle shapes and light sources, possible applications of SMUTHI include the
study of discrete random media, meta-surfaces, photonic crystals and glasses,
perforated membranes and plasmonic systems, to name a few relevant examples at
visible and near-visible wavelengths.
