SpinWaveToolkit: Python package for (semi-)analytical calculations in the field of spin-wave physics
Jan Klíma, Ondřej Wojewoda, Jakub Krčma, Martin Hrtoň, Dominik Pavelka, Jakub Holobrádek, Michal Urbánek
TL;DR
SpinWaveToolkit (SWT) delivers a fast, open-source Python framework for (semi-)analytical spin-wave calculations in thin-film and bilayer magnetics. It fuses Kalinikos–Slavin theory with a semi-analytical dynamic-matrix approach and extends to a comprehensive BLS signal model, enabling rapid dispersion, group velocity, decay-length, and equilibrium-magnetization computations, plus BLS spectra. The package is validated against TetraX across multiple geometries, achieving excellent agreement with two orders of magnitude speedup, making it suitable for exploratory parameter-space mapping and robust fitting of experimental data. By providing a streamlined, parameter-rich toolkit with an accessible Material class and extensive documentation, SWT supports design, interpretation, and optimization in magnonics experiments and devices.
Abstract
We present an open-source Python package, SpinWaveToolkit (SWT), for (semi-)analytical modeling of spin-wave dynamics in thin ferromagnetic films and exchange-coupled magnetic bilayers. SWT combines analytical models based on the Kalinikos-Slavin theory with a semi-analytical dynamic-matrix approach, enabling the calculation of dispersion relations, group velocities, decay lengths, mode profiles, and static equilibrium magnetization states. In addition, SWT implements a quantitative model of micro-focused Brillouin light scattering (BLS) that incorporates vectorial optical focusing, spin-wave Bloch functions, magneto-optical coupling, and Green-function propagation to simulate experimentally measured BLS spectra. The package is validated against finite-element dynamic-matrix simulations performed with TetraX for Damon-Eshbach, backward-volume, forward-volume, and oblique-field geometries, showing excellent agreement while reducing computation times by nearly two orders of magnitude in comparison to the numerical simulations. Thanks to the easiness of the use and fast calculation times, SWT can be used not only for exploratory mapping of the parameter space, but also for the fitting of the measured dispersion relations and related parameters. Thus, it provides a versatile and efficient framework for experiment design, interpretation, and parameter optimization for magnonics research.
