Welcome to pyGTM’s documentation

What is it?

pyGTM is a python code to calculate light propagation in multi-layered stacks of arbitrary (isotropic, uniaxial and biaxial) materials. This means that pyGTM handles general, 3x3 complex permittivity tensors. It is based on a generalized transfer matrix method (GTM) 1 2. In addition to describing the reflection and transmission of light at each interface, it can also compute the absorption in the material, thus enabling layer-resolved visualization of the light absorption 3.

pyGTM initially spun off the Matlab code from Nikolai Passler and Alexander Paarman in the Fritz-Haber Institute Lattice Dynamics group in Berlin.

The core of the module is derived from the work of D. Dietze’s FSRStools which implemented the 4X4 transfer matrix formalism of Yeh 4 5, which lead to singularities in some particular cases. This new formulation is thus more stable, and hopefully suited to study new optical phenomena with arbitrary material properties.

References

1

Passler, N. C. and Paarmann, A., JOSA B 34, 2128 (2017) 10.1364/JOSAB.34.002128

2

Passler, N. C. and Paarmann, A., JOSA B 36, 3246 (2019) 10.1364/JOSAB.36.003246

3

Passler, N. C., Jeannin, M. and Paarmann, A., arXiv (2020) arxiv:2002.03832

4

Yeh, P., J. Opt. Soc. Am., 69, 742 (1979) 10.1364/JOSA.69.000742

5

Yeh, P., Surf. Sci., 96, 41 (1980) 10.1016/0039-6028(80)90293-9

Download and installation

You can download the latest version on github. There is no installation file to run, just make sure that the main GTM foled is in your pythonpath.

Documentation Contents

Indices and tables