Skip to content

jw-lin/wavesolve

Repository files navigation

wavesolve

wavesolve is a lightweight Python code to solve for the eigenmodes of waveguides. It can solve for both scalar and vector modes. It uses the finite element method, and generates waveguide meshes through the pygmsh package. More details on the math behind wavesolve are included here.

installation

Use pip:

pip install git+https://github.com/jw-lin/wavesolve.git

To update the package:

pip install --force-reinstall git+https://github.com/jw-lin/wavesolve.git

Python dependencies: numpy,scipy,matplotlib,numexpr,pygmsh,jupyter,pypardiso (optional)
Other dependencies: Gmsh (required for pygmsh).

documentation

See getting-started.ipynb for an overview and some working examples.

acknowledgments

NSF grants 2109231, 2109232, 2308360, 2308361

About

solve for the eigenmodes of waveguides with the finite element method

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages