Table of Contents
Fetching ...

soliton_solver: A GPU-based finite-difference PDE solver for topological solitons in two-dimensional non-linear field theories

Paul Leask

Abstract

This paper introduces soliton_solver, an open-source GPU-accelerated software package for the simulation and real-time visualization of topological solitons in two-dimensional non-linear field theories. The software is structured around a theory-agnostic numerical core implemented using Numba CUDA kernels, while individual physical models are introduced through modular theory components. This separation enables a single computational framework to be applied across a broad class of systems, from nanoscale magnetic spin textures in condensed matter physics to cosmic strings spanning galaxies in high energy physics. The numerical backend provides finite-difference discretization, energy minimization, and GPU-resident evaluation of observables. A CUDA--PyOpenGL rendering pipeline allows direct visualization of evolving field configurations without staging full arrays through host memory. The package is distributed in Python via PyPI and supports both reproducible batch simulations and interactive exploration of metastable configurations, soliton interactions, and model-dependent initial states. We describe the software architecture, numerical workflow, and extensibility model, and we present representative example applications. We also outline how additional theories can be incorporated with minimal modification of the shared numerical infrastructure.

soliton_solver: A GPU-based finite-difference PDE solver for topological solitons in two-dimensional non-linear field theories

Abstract

This paper introduces soliton_solver, an open-source GPU-accelerated software package for the simulation and real-time visualization of topological solitons in two-dimensional non-linear field theories. The software is structured around a theory-agnostic numerical core implemented using Numba CUDA kernels, while individual physical models are introduced through modular theory components. This separation enables a single computational framework to be applied across a broad class of systems, from nanoscale magnetic spin textures in condensed matter physics to cosmic strings spanning galaxies in high energy physics. The numerical backend provides finite-difference discretization, energy minimization, and GPU-resident evaluation of observables. A CUDA--PyOpenGL rendering pipeline allows direct visualization of evolving field configurations without staging full arrays through host memory. The package is distributed in Python via PyPI and supports both reproducible batch simulations and interactive exploration of metastable configurations, soliton interactions, and model-dependent initial states. We describe the software architecture, numerical workflow, and extensibility model, and we present representative example applications. We also outline how additional theories can be incorporated with minimal modification of the shared numerical infrastructure.

Paper Structure

This paper contains 16 sections, 9 equations, 3 figures, 2 tables.

Figures (3)

  • Figure 1: Typical usage of soliton_solver for a micromagnetic simulation of anti-skyrmions in Heusler compounds, modelled by a chiral ferromagnet with the Dzyaloshinskii--Moriya interaction (DMI), and including the effects of demagnetization.
  • Figure 2: A single anti-skyrmion in the bulk of a Heusler compound, with the associated Dzyaloshinskii--Moriya interaction and backreaction of the demagnetization field. All panels are in dimensionless units. The left panel shows the energy density $\mathcal{E}(\vec{x})$, the middle shows the magnetic charge density $\rho(\vec{x})$, and the right shows the unit magnetization $\vec{n}(\vec{x})$. The parameters used to generate this anti-skyrmion are the ones specified in the typical usage in Fig. \ref{['fig: Usage']}. These are $J=40\,\textup{pJm}^{-1}$, $\mathcal{D}=4\,\textup{mJm}^{-2}$, $M_s=580\,\textup{kAm}^{-1}$, $K_m=0.8\,\textup{MJm}^{-3}$, and $B_{\textup{ext}}=0\,\textup{T}$.
  • Figure 3: A vortex lattice in a rotating trapped Bose--Einstein condensate. All plots are adimensional. The left panel shows the energy density $\mathcal{E}(\vec{x})$ and the right panel shows the number density $n(\vec{x})$, normalised such that $\int_{\mathbb{R}^2}\textup{d}^2x \, n(\vec{x})=1$. The vortex lattice is obtained in a rotating BEC consisting of $N=1000$ atoms, with atomic mass $m=1.45\times 10^{-25}\,\textup{kg}$. The trap frequency is set to $\omega=200\,\textup{Hz}$ and the superfluid itself is rotating at $\Omega=0.99\omega=198\,\textup{Hz}$. The $s$-wave scattering length is chosen to be $a_s=109a_0$, where $a_0=0.529\times10^{-10}\,\textup{m}$ is the Bohr radius.