Skip to content

PyEllips/pyElli

Repository files navigation

The pyElli logo

PyPI - Python Version PyPI DOI Pytest Documentation Status Code style: black

pyElli

PyElli is an open source numerical solver for spectral ellipsometry employing well-known 2x2 and 4x4 algorithms. It is intended for a broad case of problems including simple fitting of layered structures, anisotropic layers and any other light interaction with layered 1D structures. It serves as a system for the day to day ellipsometry task at hand and is easily extendable with your own dispersion models, EMAs or solvers. Our goal is to provide a reproducible and flexible tool for the needs of scientists working with spectral ellipsometry.

Features

  • A multitude of models to approximate the dielectric function of your material.
  • Use the vast library of materials from refractiveindex.info as reference materials.
  • Build up your structure easily from materials and layers.
  • Simulate reflection and transmission spectra, ellipsometric parameters and Mueller matrices.
  • Utilities to quickly convert, plot and fit your measurement data.
  • Powerful when necessary, editable and expandable.

Got a question?

If you have questions using pyElli please feel free to open a discussion in the Q&A or join our discord channel.

How to get it

The installers for all releases are available at the Python Package Index (PyPI).

To install run:

pip install pyElli[fitting]

This installs pyElli with the additional fitting capabilities and interactive widgets. If don't want to have this functionality just drop the [fitting] in the end.

A complete environment for pyElli is also available as a Docker Container. To pull and run it directly just execute

docker run -p 8888:8888 domna/pyelli

from your local docker install. After startup a link should appear in your console. Click it and you will be directed to a jupyter server with the latest release of pyElli available.

To install the latest development version use:

pip install "pyElli[fitting] @ git+https://github.com/PyEllips/pyElli.git"

The source code is hosted on GitHub, to manually install from source, clone the repository and run pip install -e . in the folder to install it in development mode:

git clone https://github.com/PyEllips/pyElli
cd pyElli
pip install -e ".[fitting]"

Acknowledgements

@MarJMue recieves financial support by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation), grant No. 398143140 (FOR 2824).