Skip to content

Commit

Permalink
version 1.11
Browse files Browse the repository at this point in the history
bpm.py and user_interface.py:

Waveguides can have a finite z dimension.

Remove the losses menu to incorporate the losses in the refractive index.

Correct an error in the Kerr calculation. Previous results were wrong by a
factor 2eta/no = 753/no.

Add the nonlinear refractive index n2 as a alternative to chi3.

Change most of the operations into numpy ones to speed up the computation.

Add a option to select which waveguide width and dn are used to find the
corresponding optical mode.

Copy the main_compute function into the user_interface to be able to display
the computation progression onto the interface.

The power in each waveguides can be computed and displayed without recomputing
the whole propagation.

Variables chi3, n2 and irrad are now defined by a significand and a exponent,
allowing to choose a larger range in the interface version.

Correct an error in the power calculation for curved waveguides. Previous
results were wrong for high curvature factor.

Change the linestyle in the power display to have more control over it.

examples.py:

Update examples.

Add a multimodal beam splitter example.

Add an attempt of benchmarking the Kerr effect.
  • Loading branch information
Python-simulation committed Dec 31, 2020
1 parent 5abd195 commit 4c6e51b
Show file tree
Hide file tree
Showing 127 changed files with 10,455 additions and 6,785 deletions.
9 changes: 5 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ 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 done by Jonathan Peltier and Marcel Soubkovsky during a master
university course from the PAIP master of the université de Lorraine,
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 codes are mainly based on a compilation of MatLab codes initialy
The bpm core codes are mainly based on a compilation of MatLab codes initialy
developed by Régis Grasser during his PhD thesis [#thesis]_,
and later modified at the FEMTO-ST institute of the Université de
Franche-Comté and at the LMOPS laboratory [#lmops]_ of the
Expand Down Expand Up @@ -43,7 +43,8 @@ The online documentation can be found at
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/>`_.
The PyPI repository can be found at
`<https://pypi.org/project/beampy/>`_.


Installation
Expand Down
13 changes: 5 additions & 8 deletions beampy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
defines the :class:`beampy.interface.setupUi` class.
And also define the unused :class:`retranslateUi`
This project was done by Jonathan Peltier and Marcel Soubkovsky during a master
university course from the PAIP master of the université de Lorraine,
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 codes are mainly based on a compilation of MatLab codes initialy
Expand All @@ -29,24 +29,21 @@
# module
from beampy import examples

__version__ = "1.1"
__version__ = "1.11"


def help():
print("Use the open_app function to launch the beampy app.")
print("Possible way to do so: beampy.open_app(),")
print("beampy.user_interface.open_app().")
print("Or open the user_interface.py")
print("or __init__.py file from the beampy module")
print("\n")
print("For more help, open the documentation with:")
print("beampy.open_doc() or")
print("with beampy.user_interface.open_doc()")
print("\n")
print("Examples can be found using beampy.examples")
print("and the example name, for example: .example_beams()")
print("and the example name, for example: beampy.examples.gaussian_beam()")
print("\n")
print("All the documentation can be found on the site:")
print("All the documentation can be found on the website:")
print("https://beampy.readthedocs.io")


Expand Down

0 comments on commit 4c6e51b

Please sign in to comment.