API reference#

SpinWaveToolkit is an open-source Python package providing analytical tools for spin-wave physics and research.

Below you will find links to detailed documentation for constants, submodules, classes, functions, and .

This module provides analytical tools in spin-wave physics.

Classes#

SingleLayer

Compute spin-wave characteristics in dependance to k-vector for a single layer using an analytical model of Kalinikos and Slavin.

SingleLayerNumeric

Compute spin-wave characteristics in dependance to k-vector for a single layer using a numerical approach by Tacchi et al.

DoubleLayerNumeric

Compute spin-wave characteristics in dependance to k-vector for a double layer using a numerical model of Gallardo et al.

SingleLayerSCcoupled

Compute spin-wave characteristics in dependance to k-vector for a single ferromagnetic layer dipolarly coupled to a superconductor using a semi-analytical model of Zhou et al.

Material

Class for magnetic materials used in spin wave research.

ObjectiveLens

Class for calculation of the focal electric fields of given lens.

Constants#

MU0float

(N/A^2) magnetic permeability of free space.

KBfloat

(J/K) Boltzmann constant.

HBARfloat

(J s) reduced Planck constant.

NiFeMaterial

Predefined material NiFe (permalloy).

CoFeBMaterial

Predefined material CoFeB.

FeNiMaterial

Predefined material FeNi (metastable iron).

YIGMaterial

Predefined material YIG.

Functions#

wavenumber2wavelength

Convert wavenumber to wavelength.

wavelength2wavenumber

Convert wavelength to wavenumber.

wrapAngle

Wrap angle in radians to range [0, 2*np.pi).

rootsearch

Search for a root of a continuous function within an interval [a, b].

bisect

Simple bisection method of root finding.

roots

Find all roots of a continuous function f(x, *args) within a given interval [a, b].

distBE

Bose-Einstein distribution function.

fresnel_coefficients

Compute Fresnel reflection and transmission coefficients.

htp

Compute p-polarized Fresnel coefficients for a given lateral wavevector q. Returned by fresnel_coefficients().

hts

Compute s-polarized Fresnel coefficients for a given lateral wavevector q. Returned by fresnel_coefficients().

sph_green_function

Compute the spherical Green’s functions for p- and s-polarized fields.

getBLSsignal

Compute the Brillouin light scattering signal using Green’s functions formalism.

Example#

Example of calculation of the dispersion relation f(k_xi), and other important quantities, for the lowest-order mode in a 30 nm thick NiFe (Permalloy) layer.

import numpy as np
import SpinWaveToolkit as SWT

kxi = np.linspace(1e-6, 150e6, 150)

PyChar = SWT.SingleLayer(Bext=20e-3, kxi=kxi, theta=np.pi/2,
                         phi=np.pi/2, d=30e-9, weff=2e-6,
                         boundary_cond=2, material=SWT.NiFe)
DispPy = PyChar.GetDispersion()*1e-9/(2*np.pi)  # GHz
vgPy = PyChar.GetGroupVelocity()*1e-3  # km/s
lifetimePy = PyChar.GetLifetime()*1e9  # ns
decLen = PyChar.GetDecLen()*1e6  # um
@authors:

Ondrej Wojewoda, ondrej.wojewoda@ceitec.vutbr.cz Jan Klima, jan.klima4@vutbr.cz Dominik Pavelka, dominik.pavelka@vutbr.cz Michal Urbanek, michal.urbanek@ceitec.vutbr.cz