This program implements the generalized 4x4 transfer matrix (GTM) method poposed in Passler, N. C. and Paarmann, A., JOSA B 34, 2128 (2017) and corrected in Passler, N. C. and Paarmann, A., JOSA B 36, 3246 (2019). A Matlab code can be downloaded on zenodo.
As of March 2020, it furthers implements the layer-resolved absorption method proposed in Passler, N. C., Jeannin, M. and Paarmann, A., A Matlab code is also available for this update on zenodo.
This Python implementation also relies on inputs from D. Dietze's FSRStools code https://github.com/ddietze/FSRStools
Please cite the associated publications if you use this code.
author: Mathieu Jeannin
email: [email protected]
affiliations:
Laboratoire de Physique de l'Ecole Normale Superieure (2019)
Centre de Nanosciences et de Nanotechnologies (from 2020)
You should be able to install using pip install .
or running python setup.py install
, from the project root directory.
Otherwise just copy the GTM folder somewhere where python will find it or add the path to your PYTHONPATH variable.
Prerequisite: NumPy, SciPy, Matplotlib
See the manual on Read The Docs for the documentation.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Copyright (C) Mathieu Jeannin 2019-2023 [email protected].