Skip to main content
QUICK REVIEW

[Paper Review] gnlse-python: Open Source Software to Simulate Nonlinear Light Propagation In Optical Fibers

Paweł Redman, Magdalena Zatorska|arXiv (Cornell University)|Oct 1, 2021
Optical Network Technologies4 citations
TL;DR

This paper presents gnlse-python, an open-source Python toolbox for simulating nonlinear pulse propagation in optical fibers using the split-step Fourier method (SSFM) to solve the generalized nonlinear Schrödinger equation (GNLSE). The tool supports higher-order dispersion, self-phase modulation, self-steeping, and Raman response modeling, enabling accurate simulation of supercontinuum generation and soliton dynamics with high computational efficiency and extensibility for research and educational use.

ABSTRACT

The propagation of pulses in optical fibers is described by the generalized nonlinear Schrodinger equation (GNLSE), which takes into account the fiber losses, nonlinear effects, and higher-order chromatic dispersion. The GNLSE is a partial differential equation, whose order depends on the accounted nonlinear and dispersion effects. We present gnlse-python, a nonlinear optics modeling toolbox that contains a rich set of components and modules to solve the GNLSE using the split-step Fourier transform method (SSFM). The numerical solver is freely available, implemented in Python language, and includes a number of optical fiber analysis tools. Code and data are available at https://github.com/WUST-FOG/gnlse-python.

Motivation & Objective

  • To develop an accessible, open-source numerical tool for simulating nonlinear pulse propagation in optical fibers.
  • To implement the generalized nonlinear Schrödinger equation (GNLSE) with higher-order dispersion, self-phase modulation, self-steeping, and Raman response.
  • To enable accurate and efficient simulation of complex nonlinear phenomena such as supercontinuum generation and soliton fission.
  • To provide a modular, extensible, and well-documented software framework for researchers and students in nonlinear optics.
  • To reduce reliance on proprietary software by offering a free, community-supported alternative built in Python.

Proposed method

  • The software solves the generalized nonlinear Schrödinger equation (GNLSE) in the time domain using the split-step Fourier method (SSFM), which alternates between nonlinear and linear (dispersion) steps in the frequency domain.
  • The GNLSE incorporates higher-order dispersion coefficients (βk) derived from a Taylor expansion of the propagation constant β(ω) around the central frequency ω₀.
  • Nonlinear effects are modeled via a convolution integral involving the Raman response function R(T′), with self-steeping included through a time-derivative term in the nonlinear operator.
  • The code supports multiple input pulse shapes, including Gaussian, sech, and hyperbolic secant profiles, with customizable parameters.
  • Dispersion and nonlinear operators are implemented using fast Fourier transforms (FFTs) for computational efficiency, enabling high-speed simulations.
  • The toolbox includes modules for data import/export, visualization of temporal and spectral pulse evolution, and interpolation of dispersion and nonlinear parameters.

Experimental results

Research questions

  • RQ1How can an open-source, extensible, and efficient numerical tool be developed to simulate nonlinear pulse propagation in optical fibers using the GNLSE?
  • RQ2What is the impact of including higher-order dispersion, self-steeping, and Raman response on soliton fission and supercontinuum generation?
  • RQ3How does the split-step Fourier method (SSFM) compare in accuracy and performance to other numerical schemes for solving the GNLSE in practical fiber simulations?
  • RQ4To what extent can the gnlse-python toolbox reproduce known nonlinear optical phenomena such as supercontinuum generation and dispersive wave emission?
  • RQ5How can the software be structured to support modular development and integration of new physical effects in nonlinear fiber optics?

Key findings

  • The gnlse-python toolbox successfully simulates higher-order soliton dynamics, including soliton fission, with and without self-steeping and Raman response, demonstrating the expected temporal and spectral evolution.
  • The inclusion of Raman response and self-steeping leads to observable changes in soliton fission dynamics, such as spectral broadening and temporal compression.
  • Supercontinuum generation is accurately reproduced in the anomalous dispersion regime using 15 cm photonic crystal fibers with input pulses at 835 nm, showing spectral broadening across multiple octaves.
  • Dispersive wave generation is effectively modeled in the anomalous dispersion regime, with distinct spectral features emerging due to chromatic dispersion and low-power background radiation.
  • The software achieves high computational efficiency through FFT-based SSFM, enabling fast simulations with minimal inference time while maintaining high accuracy.
  • The modular design allows for easy extension of physical models, including effective mode area dispersion and various Raman response models, enhancing flexibility for diverse research applications.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.