SoftwareX (Dec 2022)

GNLStools.py: A generalized nonlinear Schrödinger Python module implementing different models of input pulse quantum noise

  • Oliver Melchert,
  • Ayhan Demircan

Journal volume & issue
Vol. 20
p. 101232

Abstract

Read online

We provide Python tools enabling numerical simulation and analysis of the propagation dynamics of ultrashort laser pulses in nonlinear waveguides. The modeling approach is based on the widely used generalized nonlinear Schrödinger equation for the pulse envelope. The presented software implements the effects of linear dispersion, pulse self-steepening, and the Raman effect. The focus lies on the implementation of input pulse shot noise, i.e. classical background fields that mimic quantum noise, which are often not thoroughly presented in the scientific literature. We discuss and implement commonly adopted quantum noise models based on pure spectral phase noise, as well as Gaussian noise. Coherence properties of the resulting spectra can be calculated. We demonstrate the functionality of the software by reproducing results for a supercontinuum generation process in a photonic crystal fiber, documented in the scientific literature. The presented Python tools are open-source and released under the MIT license in a publicly available software repository.

Keywords