Skip to content

flaport/meow

Repository files navigation

meow

Modeling of Eigenmodes and Overlaps in Waveguides

meow

A simple electromagnetic EigenMode Expansion (EME) tool for Python.

Installation

Minimal installation

pip install meow-sim[min]

Full installation

pip install meow-sim[full]

Selecting features

You can select which features to enable during installation as follows:

pip install meow-sim[feature1,feature2,...]

Available features

  • min: minimal installation (equivalent to not specifying any features)
  • vis: explicitly installs matplotlib and trimesh.
  • jax: use JAX in stead of numpy to calculate the S-matrices
  • klu: use klujax to speed up S-matric calculations (implies jax). Note: you need the SuiteSparse headers on your computer for this to work.
  • gds: enable GDS creation with GDSFactory (see GDS Taper example).
  • ipy: install useful jupyter/ipython packages.
  • dev: install dev dependencies
  • full: enable all the above features.

Documentation

Contributors

Credits

  • DALL-E: “a drawing of a kitten with laser eyes walking towards me” (logo)
  • Tidy3D: meow uses the free FDE mode solver from Tidy3D.
  • SAX: meow uses SAX as its circuit simulator when cascading the overlap S-matrices.
  • klujax: Although technically an optional backend for SAX, klujax will significantly speed up the final S-matrix calculation of your structures.
  • EMEPy: an excellent alternative python-based EME solver with optional neural network mode solver.
  • Rigorous and efficient modeling of wavelength scale photonic components: PhD thesis of Peter Bienstman.