A python implementation of the transfer matrix method for multilayer structures with arbitrary dielectric tensors
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
py_matrix Numba test should not be tracked at this time Jan 10, 2018
.gitignore updated tracking of the files Jan 15, 2017
LICENSE.md Create LICENSE.md Sep 19, 2014
MANIFEST.in updating readme to rst, and linked files Apr 11, 2017
README.md - modified environment.yml Jan 15, 2017
README.rst updating readme to rst, and linked files Apr 11, 2017
requirements.txt
setup.py

README.md

py_matrix

Binder

A python implementation of the transfer matrix method for multilayer structures with arbitrary dielectric tensors. If you find py-matrix useful for generating results included in publications, please consider citing the following paper:

Pellegrini G. and Mattei G. (2014) High-Performance Magneto-Optic Surface Plasmon Resonance Sensor Design: An Optimization Approach. Plasmonics 1–6. doi:10.1007/s11468-014-9764-6

Installation

Installing py_matrix should be fairly easy. First of all you need a python distribution on your system. The simplest thing to do if you are using Windows or OSX would be to install Anaconda, a beautiful, free, and easy to use python distribution: the relevant installations instructions are found here. If you are using Linux you probably already know how to install python on your system, nevertheless my advice is to also install The IPython Notebook, which is already bundled in Anaconda.

The second step would be installing py_matrix itself. If you are familiar with git and github you can simply clone the repository, otherwise just download the zipped version of the repo and unpack it wherever you like.

Usage

The best thing to do for the moment is to start from the .ipynb files in the examples folder. You can load them in your local IPython Notebook instance: they should give you a fair idea about how to proceed for your calculations. Each function in the code features a detailed documentation easily accessible with the Shift-Tab tool-tip shortcut from the IPython Notebook interface.