Skip to main content

A scattering matrix formalism to solve Maxwell's equations in a multilayered structure.

Project description

# PyMoosh

## About PyMoosh

PyMoosh is the python version of Moosh, an Octave/Matlab code meant as a swiss knife for the study of multilayered structures from an optical point of view.

Not all the features of Moosh have yet been transferred into PyMoosh, but this work is in progress. Plus, given the really nice feedbacks I had recently on PyMoosh and the plans ahead, you can count on the fact that PyMoosh is high on my priority list.

I’ve recently discovered the Jupyter Notebooks, and I’ll use them extensively to illustrate how Moosh works and how much physics/optics can be made with such a tool. I have really discovered over the years how far this may go, and I am pretty sure you will be surprised too. This is the kind of codes we use to do our research on an everyday basis.

## Installation

You can type

` pip install PyMoosh `

it should work !

## For specialists

PyMoosh is based on a scattering matrix formalism to solve Maxwell’s equations in a multilayered structure. This makes PyMoosh unconditionally stable, allowing to explore even advanced properties of such multilayers, find poles and zeros of the scattering matrix (and thus guided modes), and many other things…

## References

If you use PyMoosh and if this is relevant, please cite the [paper associated with Moosh](https://openresearchsoftware.metajnl.com/articles/10.5334/jors.100/)

` @article{defrance2016moosh, title={Moosh: A numerical swiss army knife for the optics of multilayers in octave/matlab}, author={Defrance, Josselin and Lema{\^\i}tre, Caroline and Ajib, Rabih and Benedicto, Jessica and Mallet, Emilien and Poll{\`e}s, R{\'e}mi and Plumey, Jean-Pierre and Mihailovic, Martine and Centeno, Emmanuel and Cirac{\`\i}, Cristian and others}, journal={Journal of Open Research Software}, volume={4}, number={1}, year={2016}, publisher={Ubiquity Press} } `

Even if PyMoosh is quite simple, this is a research-grade program. We actually do research with it. We’ve done cool things, like [comparing evolutionary algorithms and real evolution for the first time in history](https://www.nature.com/articles/s41598-020-68719-3).

## Contributors

Here is a list of contributors to PyMoosh (one way or another) so far:

  • Pauline Bennet (@Ellawin)

  • Peter Wiecha

  • Denis Langevin (@Milloupe)

  • Demetrio Macias

  • Anorld Capo-Chichi

and the contributors to the original Moosh program should not be forgotten : Josselin Defrance, Rémi Pollès, Fabien Krayzel, Paul-Henri Tichit, Jessica Benedicto mainly. Special thanks to Gérard Granet and Jean-Pierre Plumey.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyMoosh-2.62.tar.gz (115.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyMoosh-2.62-py2-none-any.whl (106.2 kB view details)

Uploaded Python 2

File details

Details for the file PyMoosh-2.62.tar.gz.

File metadata

  • Download URL: PyMoosh-2.62.tar.gz
  • Upload date:
  • Size: 115.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.8.0 urllib3/1.26.9 tqdm/4.62.3 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for PyMoosh-2.62.tar.gz
Algorithm Hash digest
SHA256 29127a85d0ce6d948ebf401dcf396be391925d4bee0ca7b97c731dfc3a3197f4
MD5 5489a14807130d6ca00e175f57400134
BLAKE2b-256 cda63c1adeafebcb121258a5b2e96a6c652f132ae3b59fba553b0376d7dafacb

See more details on using hashes here.

File details

Details for the file PyMoosh-2.62-py2-none-any.whl.

File metadata

  • Download URL: PyMoosh-2.62-py2-none-any.whl
  • Upload date:
  • Size: 106.2 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.8.0 urllib3/1.26.9 tqdm/4.62.3 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for PyMoosh-2.62-py2-none-any.whl
Algorithm Hash digest
SHA256 c664ea27f6a3b43b3fd93c9920f63e5223ab8a1b0e8ce927dde5f4dd08e3369b
MD5 5ca9ae3d407c03bec2cabc20a264c63e
BLAKE2b-256 1e989b21191789c8d7f3ae0911b48cd09a12b4412cbcee511b4533bb58af8744

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page