Back to Search
Start Over
PyLlama: a stable and versatile Python toolkit for the electromagnetic modeling of multilayered anisotropic media
- 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.
- Subjects :
- Physics - Optics
Condensed Matter - Mesoscale and Nanoscale Physics
Subjects
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