论文标题
Pyllama:用于多层各向异性介质的电磁建模的稳定且多功能的Python工具包
PyLlama: a stable and versatile Python toolkit for the electromagnetic modeling of multilayered anisotropic media
论文作者
论文摘要
Pyllama是一种方便的Python工具包,用于计算任意多层线性介质(包括各向异性的情况)的电磁反射和传输特性。 Pyllama依靠$ 4 \ times 4 $ -matrix形式主义,不仅实现了转移矩阵方法,这是现有代码中最受欢迎的选择,而且是散射矩阵方法,在所有情况下,在所有情况下都稳定(例如,在所有情况下(例如,高,高度,高度双重的)胆汁脱脂质结构,该方法稳定。 Pyllama还旨在通过允许用户轻松地创建,编辑和组装图层或多层域,以适应实际需求。在本文中,我们介绍了传递矩阵和散射矩阵方法的基础电磁理论,并概述了Pyllama的结构和主要特征。最后,我们通过与可用的分析解决方案进行比较来验证代码,并通过建模具有不同复杂性的胆固醇介质来证明其多功能性和数值稳定性。单独的用户手册中提供了详细的文档和教程。 Pyllama的应用范围从光学组件的设计到极性晶体中极化效应的建模,再到对生活世界中结构有色材料的研究。
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.