Back to Search Start Over

PyLlama: a stable and versatile Python toolkit for the electromagnetic modeling of multilayered anisotropic media

Authors :
Bay, Mélanie M.
Vignolini, Silvia
Vynck, Kevin
Source :
Computer Physics Communications 273, 108256 (2022)
Publication Year :
2020

Abstract

PyLlama is a handy Python toolkit to compute the electromagnetic reflection and transmission properties of arbitrary multilayered linear media, including the case of anisotropy. Relying on a $4 \times 4$-matrix formalism, PyLlama implements not only the transfer matrix method, that is the most popular choice in existing codes, but also the scattering matrix method, which is numerically stable in all situations (e.g., thick, highly birefringent cholesteric structures at grazing incident angles). PyLlama is also designed to suit the practical needs by allowing the user to create, edit and assemble layers or multilayered domains with great ease. In this article, we present the electromagnetic theory underlying the transfer matrix and scattering matrix methods and outline the architecture and main features of PyLlama. Finally, we validate the code by comparison with available analytical solutions and demonstrate its versatility and numerical stability by modelling cholesteric media of varying complexity. A detailed documentation and tutorial are provided in a separate user manual. Applications of PyLlama range from the design of optical components to the modelling of polaritonic effects in polar crystals, to the study of structurally coloured materials in the living world.

Details

Database :
arXiv
Journal :
Computer Physics Communications 273, 108256 (2022)
Publication Type :
Report
Accession number :
edsarx.2012.05945
Document Type :
Working Paper
Full Text :
https://doi.org/10.1016/j.cpc.2021.108256