SWtools

A Python package implementing iterative solvers for soliton solutions of nonlinear Schrödinger-type equations

Verfasst von

O. Melchert, A. Demircan

Abstract

Solitons are ubiquitous in nature and play a pivotal role in the structure and dynamics of solutions of nonlinear propagation equations. In many instances where solitons are expected to exist, analytical expressions of these special objects are not available. The presented software fills this gap, allowing users to numerically calculate soliton solutions for a generic nonlinear Schrödinger-type equation by iteratively solving an associated nonlinear eigenvalue problem. The package implements a range of methods, including the spectral renormalization method, and a relaxation method for the problem with additional normalization constraint. We verify the implemented methods in terms of a problem for which an analytical soliton expression is available, and demonstrate the implemented functionality by numerical experiments for example problems in nonlinear optics and matter-wave solitons in quantum mechanics. For common variants of the considered equation, SWtools also implements functions retrieving linear stability eigenvalues and modes for its solitons. The presented Python package is open-source and released under the MIT License in a publicly available software repository. Program summary: Program Title: Solitary wave tools (SWtools) CPC Library link to program files: doi.org/10.17632/y55t9chcz6.1 Developer's repository link: github.com/omelchert/SWtools Licensing provisions: MIT Programming language: Python Supplementary material: Online documentation and usage examples are hosted on GitHub under github.com/omelchert/SWtools. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schrödinger equation is available under doi.org/10.24433/CO.5557616.v1. Nature of problem: Numerical computation of solitary wave solutions for nonlinear Schrödinger-type equations. Two variants of the corresponding nonlinear eigenvalue problem (NEVP) are considered: a “bare” NEVP, where a solution with prescribed eigenvalue is computed, and a “constrained” NEVP with a priori unknown eigenvalue, where a solution with prescribed norm is computed. Solution method: SWtools implements iterative solvers for both problem variants. While the bare NEVP is solved using the spectral renormalization method (SRM) [1], the constrained NEVP is solved using a custom nonlinear successive overrelaxation method (NSOM). Additional comments including restrictions and unusual features: This document serves as a reference for SWtools. For a concise presentation, the discussion in the article considers nonlinear Schrödinger-type equations with one-dimensional transverse coordinate. Extension of the functionality of SWtools is, however, demonstrated by an implementation of a two-dimensional SRM [2]. References: [1] M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140. [2] Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.

Details

Organisationseinheit(en)
PhoenixD: Simulation, Fabrikation und Anwendung optischer Systeme
Institut für Quantenoptik
Typ
Artikel
Journal
Computer physics communications
Band
317
Anzahl der Seiten
15
ISSN
0010-4655
Publikationsdatum
12.2025
Publikationsstatus
Veröffentlicht
Peer-reviewed
Ja
ASJC Scopus Sachgebiete
Hardware und Architektur, Allgemeine Physik und Astronomie
Elektronische Version(en)
https://doi.org/10.1016/j.cpc.2025.109851 (Zugang: Offen )