PyMoosh : a comprehensive numerical toolkit for computing the optical properties of multilayered structures
Résumé
We present PyMoosh, a Python-based simulation library designed to provide a comprehensive set of numerical tools allowing to compute essentially all optical characteristics of multilayered structures, ranging from reflectance and transmittance to guided modes and photovoltaic efficiency. Optimization tools are also included. PyMoosh is designed not just for research purposes, but also for use-cases in education. To this end, we have invested significant effort in ensuring user-friendliness and simplicity of the interface. PyMoosh has been developed in line with the principles of Open Science and taking into account the fact that multilayered structures are increasingly being used as a testing ground for optimization and deep learning approaches. We provide in this paper the theoretical basis at the core of PyMoosh, an overview of its capabilities, as well as a comparison between the different numerical methods implemented in terms of speed and stability. We are convinced such a versatile tool will be useful for the community in many ways.