Simulate light through weakly guiding waveguides using the finite-differences beam propagation method on an adaptive grid.
This repository is derived from:
https://github.com/jw-lin/lightbeam.git
The original implementation was developed by Jonathan Lin at MIT.
Modifications are:
- Code generally neatened
- 19-core photonic lantern tutorial
Lightbeam_19cpl_tutorial.ipynbadded totutorial - 19-core photonic latnern example script
lightbeam_19cpl_example.pyadded totutorial - Output field
uweights returned fromprop2end
Use pip:
pip install git+https://github.com/SAIL-Labs/lightbeam.git
Update:
pip install --force-reinstall git+https://github.com/SAIL-Labs/lightbeam.git
Python dependencies: numpy,scipy,matplotlib,numba,numexpr,jupyter
Check out the Python notebook in the tutorial folder for a quickstart guide. Direct link.
J. Shibayama, K. Matsubara, M. Sekiguchi, J. Yamauchi and H. Nakano, "Efficient nonuniform schemes for paraxial and wide-angle finite-difference beam propagation methods," in Journal of Lightwave Technology, vol. 17, no. 4, pp. 677-683, April 1999, doi: 10.1109/50.754799.
The Beam-Propagation Method. (2015). In Beam Propagation Method for Design of Optical Waveguide Devices (pp. 22–70). doi:10.1002/9781119083405.ch2
NSF grants 2109231, 2109232, 2308360, 2308361