{ "cells": [ { "cell_type": "markdown", "id": "7669add9", "metadata": {}, "source": [ "# Basic dispersion relation calculations\n", "This example shows basic functionalities of the SpinWaveToolkit (SWT) regarding the spin-wave (SW) dispersion relation and derived quantities: group velocity, lifetime, and decay length. The most general model is also the most commonly used one - the `SingleLayer` class. It implements the formula of Kalinikos and Slavin [[*J. Phys. C: Solid State Phys.*, **19**, 7013 (1986)]](https://doi.org/10.1088/0022-3719/19/35/014).\n", "\n", "Let's start by importing needed modules and defining the problem using material parameters of the ferromagnetic layer and the propagation geometry." ] }, { "cell_type": "code", "execution_count": 1, "id": "e3207aa8", "metadata": {}, "outputs": [], "source": [ "# import modules\n", "import numpy as np # for vectorization\n", "import matplotlib.pyplot as plt # for plotting\n", "import SpinWaveToolkit as SWT" ] }, { "cell_type": "code", "execution_count": 2, "id": "10860c81", "metadata": {}, "outputs": [], "source": [ "# Define material properties using custom parameters\n", "mat = SWT.Material(\n", " Ms=800e3, # (A/m) saturation magnetization\n", " Aex=16e-12, # (J/m) exchange stiffness\n", " alpha=0.007, # () damping\n", " gamma=28.8*1e9*2*np.pi # (rad*Hz/T) gyromagnetic ratio\n", ")\n", "# or use built-in materials (NiFe, YIG, CoFeB, FeNi)\n", "mat = SWT.NiFe\n", "\n", "# Define the propagation geometry\n", "d = 100e-9 # (m) layer thickness\n", "Bext = 50e-3 # (T) external magnetic field\n", "theta = np.pi/2 # (rad) for in-plane magnetization\n", "phi = np.pi/2 # (rad) for Damon-Eshbach geometry\n", "k = np.linspace(0, 25e6, 200) + 1 # (rad/m) SW wavenumber range \n", "# Note the +1 above used to avoid badly conditioned calculations at k=0\n", "bc = 1 # boundary condition (1 - totally unpinned, 2 - totally pinned spins)\n" ] }, { "cell_type": "markdown", "id": "4cde17ce", "metadata": {}, "source": [ "Now we can calculate the dispersion relation for Damon-Eshbach SWs ($\\mathbf{k}\\perp \\mathbf{M}$ or $\\phi=\\pi/2$). It's easy to also switch to backward volume geometry ($\\mathbf{k}\\parallel \\mathbf{M}$ or $\\phi=0$)." ] }, { "cell_type": "code", "execution_count": 3, "id": "d7d27578", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Instantiate the SingleLayer class\n", "sl = SWT.SingleLayer(Bext, mat, d, k, theta, phi, boundary_cond=bc)\n", "\n", "f_de = sl.GetDispersion()/(2e9*np.pi) # (GHz) DE SW dispersion\n", "sl.phi = 0 # switch to backward volume geometry\n", "f_bv = sl.GetDispersion()/(2e9*np.pi) # (GHz) BV SW dispersion\n", "\n", "fig = plt.figure(figsize=(4, 2.5))\n", "plt.plot(k*1e-6, f_de, label=\"DE\")\n", "plt.plot(k*1e-6, f_bv, label=\"BV\")\n", "plt.xlabel(r\"wavenumber $k$ (rad/µm)\")\n", "plt.ylabel(r\"frequency $f$ (GHz)\")\n", "plt.legend(loc=\"center right\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "0fbfa680", "metadata": {}, "source": [ "To calculate higher-order perpendicular standing spin-wave (PSSW) modes, just supply the mode number to the `sl.GetDispesion()` method. *Note that this model uses only diagonal elements of the system matrix, therefore hybridizations between modes are neglected (see further).*" ] }, { "cell_type": "code", "execution_count": 4, "id": "f9f16c3e", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nmodes = 3 # number of PSSW modes to calculate\n", "sl.phi = np.pi/2 # switch back to Damon-Eshbach geometry\n", "fig = plt.figure(figsize=(4, 2.5))\n", "for i in range(nmodes):\n", " f_de_pssw = sl.GetDispersion(i)/(2e9*np.pi) # (GHz) DE SW dispersion\n", " plt.plot(k*1e-6, f_de_pssw, label=f\"$n=${i}\")\n", "plt.xlabel(r\"wavenumber $k$ (rad/µm)\")\n", "plt.ylabel(r\"frequency $f$ (GHz)\")\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "159b6aec", "metadata": {}, "source": [ "## The properties derived from the dispersion relation\n", "Now if we want to explore further the SW properties, we can use numerical approaches to derive e.g. the group velocity $v_{\\mathrm{g}}$, lifetime $\\tau$, and consequently also the decay length $\\lambda=v_{\\mathrm{g}}\\tau$. All the calculations are handled by the respective methods of the `SingleLayer` class. \n", "\n", "*Note: Whenever possible, all the SWT classes of dispersion models use the same syntax for getting the dispersion relation, group velocity, etc.*" ] }, { "cell_type": "code", "execution_count": 5, "id": "6cd94925", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 3, figsize=(6, 2.5), constrained_layout=True)\n", "for i in range(nmodes):\n", " vg_de = sl.GetGroupVelocity(i)*1e-3 # (um/ns)\n", " tau_de = sl.GetLifetime(i)*1e9 # (ns)\n", " lam_de = sl.GetDecLen(i)*1e6 # (um)\n", "\n", " ax[0].plot(k*1e-6, vg_de, label=f\"$n=${i}\")\n", " ax[1].plot(k*1e-6, tau_de)\n", " ax[2].plot(k*1e-6, lam_de)\n", " ax[i].set_xlabel(r\"wavenumber $k$ (rad/µm)\")\n", "ax[0].set_ylabel(r\"group velocity $v_{\\mathrm{g}}$ (µm/ns)\")\n", "ax[1].set_ylabel(r\"lifetime $\\tau$ (ns)\")\n", "ax[2].set_ylabel(r\"decay length $\\lambda$ (µm)\")\n", "ax[0].legend(loc=\"upper right\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "e2302306", "metadata": {}, "source": [ "## Numeric calculation of the dispersion relation\n", "So far, the dispersion relation was calculated using analytically derived formulas. In most cases it is sufficient, but there are systems (thick films, films with surface anisotropy, etc.), where it can be misleading. Therefore the `SWT.SingleLayerNumeric` class implements a model with a 6×6 system matrix, which eigenvalues (eigenfrequencies of the system) can describe 3 lowest-order SW modes. This approach solves the eigenvalue problem numerically, including the off-diagonal elements. This means that the mode hybridizations and splitting can be more easily modelled. It is based on the model of Tacchi et al. [[*Phys. Rev. B* **100**, 104406 (2019)]](https://doi.org/10.1103/PhysRevB.100.104406).\n", "\n", "*Note: The* `SingleLayer` *class can also calculate mode hybridizations using the perturbation theory up to the second-order. as is described in the source article (see above).*" ] }, { "cell_type": "code", "execution_count": 6, "id": "d003f819", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Instantiate the SingleLayerNumeric class with the same parameters as above\n", "sln = SWT.SingleLayerNumeric(Bext, mat, d, k, theta, phi)\n", "\n", "f_de_num = sln.GetDispersion()[0]/(2e9*np.pi) # (GHz) dispersion for 3 lowest modes\n", "\n", "fig = plt.figure(figsize=(4, 2.5))\n", "for i in range(f_de_num.shape[0]):\n", " plt.plot(k*1e-6, f_de_num[i], label=f\"$n=${i}\")\n", "plt.xlabel(r\"wavenumber $k$ (rad/µm)\")\n", "plt.ylabel(r\"frequency $f$ (GHz)\")\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "04b6ae5d", "metadata": {}, "source": [ "As one can see, the mode crossings are now avoided, mainly at higher $k$ (where the dipolar interaction between modes is stronger). Note that this effect arises just due to the dipolar interaction by including the off-diagonal elements of the system matrix.\n", "\n", "Another advantage of the numeric approach is that it also computes the eigenvectors of the system matrix, which represent the mode profiles across the film thickness. How to calculate those is shown in the `NumericCalculationOfModeProfiles.ipynb` example.\n", "`### Update the example and then its name here.`" ] } ], "metadata": { "kernelspec": { "display_name": ".venv (3.13.5)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" } }, "nbformat": 4, "nbformat_minor": 5 }