Table of Contents
Fetching ...

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.

SpinWaveToolkit: Python package for (semi-)analytical calculations in the field of spin-wave physics

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.
Paper Structure (11 sections, 10 equations, 5 figures)

This paper contains 11 sections, 10 equations, 5 figures.

Figures (5)

  • Figure 1: Dispersion calculation under oblique angle of external magnetic field. a, Sketch of the investigated geometry. b, c, Magnetization polar angle $\theta_M$ (b) and effective field magnitude $|\mu_0 H_\mathrm{eff}|$ (c) results of minimization in SWT and TetraX and their difference. d, Comparison of the dispersion relations under different polar angle of the external magnetic field $\theta$ for $n = 0, 2, 3, 4$ ($n=1$ omitted for clarity) and $\varphi=\pi/2$.
  • Figure 2: Dispersion relation calculation in three geometries with high symmetry and comparison with TetraX. a, b, c, Dispersion relation of the first 10 spin-wave modes in Damon-Eshbach (a), backward-volume (b) and forward-volume (c) geometry. d, Close-up to the mode hybridization visible at low frequencies and wavevectors in panel (a). e, Comparison of the computation time between SWT (semi-analytical) and TetraX with different number of cells. It is given as the time needed to compute all mode frequencies at wavenumbers up to $n=10$ and $k=300\,$rad/µm, respectively. f, Comparison of the accuracy of TetraX with respect to SingleLayerNumeric for different number of cells for fundamental and $n=9$ modes.
  • Figure 3: Static and dynamic calculations for a synthetic antiferromagnet (SAF) using the DoubleLayerNumeric class of SWT compared to TetraX and experiments for a CoFeB(15)/Ru(0.6)/CoFeB(15) sample. a, Sketch of the investigated geometry. b, Spin-wave dispersion relations at 20 mT for an acoustic ($n=0$) and optical ($n=1$) mode. c, Fits (solid lines) of an experimental hysteresis loop (circles) using SWT with and without the $J_\mathrm{bq}$ term. Inset shows the full loops and their acquisition direction (numbered arrows). Fixed parameters: $M_\mathrm{s}=1.175\,$MA m$^{-1}$, layer thicknesses, $K_\mathrm{u}=2\,$kJ m$^{-3}$, $\varphi-\varphi_\mathrm{uni}=\pi/2$. Fitted parameters: $J_\mathrm{bl}=-0.616(10)\,$mJ m$^{-2}$, $J_\mathrm{bq}=-0.163(3)\,$mJ m$^{-2}$ (blue line), $J_\mathrm{bl} = \left( -0.616 - 2\cdot0.163\right)\,$mJ m$^{-2}$, $J_\mathrm{bq}=0$ (red line). d, e, Synthetic antiferromagnetic resonance experiment of the SAF sample half-overlaid with calculations from SWT for external field along (d) and perpendicular (e) to the uniaxial anisotropy axis. Vertical blue dashed line in d marks the settings used in b. Curves in b, d, e calculated with wojewoda2024safVanatka2021: $M_\mathrm{s}=1\,$MA m$^{-1}$, $A_\mathrm{ex}=15\,$pJ m$^{-1}$, $\gamma(2\pi)^{-1}=30.5\,$GHz T$^{-1}$, $K_\mathrm{u}=2\,$kJ m$^{-3}$, $J_\mathrm{bl}=-0.6\,$mJ m$^{-2}$, and $J_\mathrm{bq}=-0.1\,$mJ m$^{-2}$ (unless stated otherwise).
  • Figure 4: Two-dimensional dispersion relation and two-parameters optimization. a, The dispersion relation of fundamental and first perpendicular standing spin-wave mode for a 30 nm thick NiFe layer (with the same parameters as in Fig. \ref{['fig2']}) in 20 mT in-plane field along the $x$ axis. The planes mark frequencies at which the Bloch function is shown in Fig. \ref{['fig5']}a. b, Two-dimensional dispersion relation with calculated group velocity shown as arrows, which length represents group velocity magnitude $v_\mathrm{g}$ (see scale at left bottom). c, Optimization of $v_\mathrm{g}$ as a function of saturation magnetization $M_\mathrm{s}$ and thickness $d$ of the NiFe layer at $k=15$ rad µm$^{-1}$.
  • Figure 5: Calculation of the micro-focused BLS signal. a, Spin-wave density of states (Bloch function) for four selected frequencies. Material and experiment parameters are same as in Fig. \ref{['fig4']}a. b, Polarization vector magnitude and phase at 6.5 GHz. c, Calculated BLS signal for external magnetic field of 20 mT. d, Calculated BLS spectra in different external magnetic fields. The values shown in panel c are marked by the vertical black dashed line.