Welcome to Beampy’s documentation!¶
Beampy is a python module based on the Beam Propagation Method 1 used to compute light propagation into a varying refractive index. The light propagation is done by the bpm module. An user interface - done using Qt desginer - allows to control the parameters and display the results.
This project was initiate by Jonathan Peltier and Marcel Soubkovsky during a master university course from the PAIP master of the université de Lorraine, under the directive of Pr. Nicolas Fressengeas.
The bpm core codes are mainly based on a compilation of MatLab codes initialy developed by Régis Grasser during his PhD thesis 2, and later modified at the FEMTO-ST institute of the Université de Franche-Comté and at the LMOPS laboratory 3 of the Université de Lorraine.
References¶
- 1
K. Okamoto, in Fundamentals of Optical Waveguides, 2nd ed., edited by K. Okamoto (Academic, Burlington, 2006), pp. 329–397.
- 2
“Generation et propagation de reseaux periodiques de solitons spatiaux dans un milieu de kerr massif” PhD thesis, université de Franche-Comté 1998.
- 3
H. Oukraou et. al., Broadband photonic transport between waveguides by adiabatic elimination Phys. Rev. A, 97 023811 (2018).
Links¶
The online documentation can be found at https://beampy.readthedocs.io/.
The source code of the whole project can be found at https://github.com/Python-simulation/Beampy/.
The PyPI repository can be found at https://pypi.org/project/beampy/.
Installation¶
This package can be download in a python environment using pip install:
pip install beampy
Or by downloading the github folder and setting beampy as a PYTHONPATH. If so, make sure to download Qt5, matplotlib and numpy by using this command in the docs folder:
pip install -r requirements.txt
Starting the software¶
To start the Beampy interface, import beampy and start the open_app function:
import beampy
beampy.open_app()
Or open direclty the user_interface.py file to launch the interface. Or even open the bpm.py to have a non-based interface version.
For more informations, see the
detailed user guide
describing Beampy and explaining the choices made
(not updated and not finished).
Overview¶
The three modules making Beampy, the interface explanations, results and examples are accessible bellow: