LaserFOAM (Laser
pulse propagation using a Fourier
Adaptive Method)
performs 1D
simulations of laser pulses to solve the generalized nonlinear
Schrödinger
equation (sometimes called Nonlinear Envelope Equation - NEE),
provinding a graphical environment to run and visualize the
results. Its main goal is to simulate the propagation of ultrashort
laser pulses (in the nonlinear regime) in photonic crystal fibers
(PCFs).
It's free open source software (FOSS), available under the GNU GPL license.
The application was made using the Python programming language, and the libraries numpy, scipy, pyGTK and matplotlib.
A detailed description of equations used in this program, as well as
the split-step Fourier method (SSFM) can be found on the book
"Nonlinear Fiber Optics" by G. P. Agrawal. A short description of the SSFM method can be found on wikipedia. The adaptive algorithm is from O. V. Sinkin et al., "Optimization of the split-step Fourier method in modeling optical-fiber communications systems," Journal of Lightwave Technology 21, 61 (2003).
We kindly ask you to reference LaserFOAM in publications that use it. A citation to the following paper would be appreciated:
A. A. Amorim, M. V. Tognetti, P. Oliveira, J. L. Silva, L. M. Bernardo, F. X. Kärtner
and H.M. Crespo, “Sub-two-cycle pulses by soliton self-compression
in highly-nonlinear photonic crystal fibers”, Opt. Lett. 34, 3851
(2009).
News:
13-May-2010: Uploaded version 1.2.
- The numerical method is now "Fourth order Runge-Kutta in the
interaction picture" (RK4IP) which has better numerical characteristics.
- Added Calculate Autocorrelation and Calculate Spectrogram to the
Process menu.
- Changed the chirp parameters to GDD and TOD.
- Changed from python 2.5 to python 2.6.
- Added a log scale option to the pop up graphics windows.
- Some other small improvements.
17-Feb-2009: Uploaded version 1.1. Now
supports delayed Raman response. The graphics of spectral data can now
be shown either in terms of wavelength or frequency. Added a new menu
Process, that calculates de FWHM pulse length.
24-Oct-2008: Uploaded version 1.0. It includes support for chirped pulses.
15-Oct-2008: Uploaded a source release,
version 0.90. The status has now changed to beta, although some
functionality is still missing.
8-May-2007: Uploaded the
last
development version. It has lots of improvements but it is not yet
ready for general use, so it is only a source release. Comments welcome.
17-January-2007: An
installer for Windows has been released. You can download it at the sourceforge
project page.
13-January-2007: A test version has been released. You can download it
at the sourceforge
project page.