Skip to content

Repository files navigation

OpticSimProj

Eigenmode Expansion (EME) simulator for cylindrical/circular waveguides, tapers, and anti-reflective (AR) coatings. It uses a Bessel function basis to solve for propagation constants ($\beta$) and coupling coefficients ($c$-lists), then propagates the fields through discrete layers using scattering matrices ($S$-matrices).

Mainly written for computing coupling efficiency (effectivity) into optical fibers.

This project made by Ulrik Jeppesen and myself (Leif Pedersen) was done as part of our education at DTU and the assignment was provided to us by DTU Electro's QLight group and we'd like to thank Martin Arentoft Jacobsen for helping us throughout the process. Attached is our project paper and presentation for those more curious about our results.

Workspace Layout

  • Workspace/commands.py: Core math (Bessel zeros, mode solver, S-matrix propagation, xz field plotting).
  • Workspace/Effectivity.py: Efficiency sweeps (waveguide radius, glass distance, etc.).
  • Workspace/Finaldata.py: Runs and exports sweeps to CSV/Excel.
  • Workspace/AReffectivity.py: Simulates multi-layer anti-reflective coatings.
  • Workspace/Saveddata/: Caches Bessel zeros and propagation mode files to save time.

Quick Start

Check out [Tutorial.ipynb] in this directory for a quick walkthrough.

About

Optical simulator project

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages