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

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, a...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computer physics communications Jg. 317; S. 109851
Hauptverfasser: Melchert, O., Demircan, A.
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier B.V 01.12.2025
Schlagworte:
ISSN:0010-4655
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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 Title: Solitary wave tools (SWtools) CPC Library link to program files:https://doi.org/10.17632/y55t9chcz6.1 Developer's repository link:https://github.com/omelchert/SWtools Licensing provisions: MIT Programming language: Python Supplementary material: Online documentation and usage examples are hosted on GitHub under https://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 https://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]. [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.
ISSN:0010-4655
DOI:10.1016/j.cpc.2025.109851