SPIP: A computer program implementing the Interaction Picture method for simulation of light-wave propagation in optical fibre

Abstract The computer program spip is aimed at solving the Generalized Non-Linear Schrodinger equation (GNLSE), involved in optics e.g. in the modelling of light-wave propagation in an optical fibre, by the Interaction Picture method, a new efficient alternative method to the Symmetric Split-Step method. In the spip program a dedicated costless adaptive step-size control based on the use of a 4th order embedded Runge–Kutta method is implemented in order to speed up the resolution. Program summary Program title: SPIP Catalogue identifier: AEYQ_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEYQ_v1_0.html Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland Licensing provisions: Free software CeCILL license (see www.cecill.info/index.en.html ) No. of lines in distributed program, including test data, etc.: 81174 No. of bytes in distributed program, including test data, etc.: 6296651 Distribution format: tar.gz Programming language: C. Computer: Desktop computer. Operating system: Linux, MS Windows. RAM: 8 Giga bytes Classification: 4.12, 18. External routines: FFTW, a C subroutine library for computing the discrete Fourier transform, see [1] and http://www.fftw.org . Gnuplot, a portable command-line driven graphing utility, see [2] and http://www.gnuplot.info . Nature of problem: The program solves the Generalized Non-Linear Schrodinger Equation (GNLSE) which occurs in the field of non-linear optics as a model of wave propagation in fibre optics. Solution method: The GNLSE is solved by the Interaction Picture method coupled with an embedded Runge–Kutta scheme of order 4. The program includes a costless adaptive step-size control strategy taking advantage of the features of an embedded Runge–Kutta scheme designed for delivering a local error estimate at no extra-cost compared to the standard 4th order Runge–Kutta scheme. Running time: Highly dependent on the fibre length and accuracy required for the results. Typically between half a minute and several dozens of minutes. References: [1] M. Frigo and S.G. Johnson. The design and implementation of FFTW3. P IEEE, 2(93):216–231, (2005). [2] P Janert. Gnuplot in Action, Understanding Data with Graphs. Manning Publications (2009).