Magnonics Spin Wave Dispersion Relations Yig Thin Film Dipole Exchange Landau Lifshitz
# Magnonics and Spin-Wave Processing: Dispersion Relations in Yttrium Iron Garnet, Exchange-Dipole Coupling, and All-Magnonic Logic
## 1. Introduction: Magnonics as an Alternative Computing Paradigm
Magnonics is an emerging field exploiting spin waves (magnons—quanta of collective spin precession) as information carriers instead of charge or photons. In ferromagnetic materials, mobile magnetization excitations can encode, process, and transmit information with:
- Low dissipation: Magnetic damping (α ~ 10^-4 in YIG) far smaller than electrical resistance
- Easy tunability: Precession frequency controlled by magnetic field (no voltage)
- Nonlinear effects: Magnon-magnon interactions enable efficient frequency conversion
- Scalability: Wavelengths λ ~ 100 nm achievable, enabling nanoscale integrated circuits
Yttrium Iron Garnet (YIG) is the canonical magnonic material: ultra-low damping (α ~ 10^-5), strong magnetization, well-understood ferrimagnetic structure, and compatibility with microwave engineering.
## 2. Landau-Lifshitz-Gilbert Equation and Magnetization Dynamics
The equation of motion for magnetization M(r,t) in a ferromagnet is the Landau-Lifshitz-Gilbert (LLG) equation:
where:
- γ: Gyromagnetic ratio (~2.8 × 10^10 rad/(s·T) for electrons)
- H_eff = -∇E_mag/M: Effective magnetic field from total energy
- α: Gilbert damping coefficient
- M_s: Saturation magnetization
The first term represents Larmor precession (conservative), the second term is damping (dissipative). For small-amplitude excitations around equilibrium magnetization M₀, we expand:
Linearizing in m (small-angle approximation):
## 3. Spin-Wave Dispersion Relations
The effective field contains three contributions:
Exchange field: From nearest-neighbor spin coupling, creates a short-range restoring force for spin waves.
Dipolar field: From long-range magnetic dipole interactions, creates a geometry-dependent restoring force.
### Purely Exchange Regime (Short Wavelengths)
For small wavelengths (large k, λ << exchange length), exchange dominates:
where:
- ω_H = γμ₀H_ext: Larmor frequency
- ω_A = 2γμ₀A/M_s: Exchange frequency (A is exchange stiffness)
- l_ex = √(A/(μ₀M_s²)): Exchange length (~nm in YIG)
This quadratic dispersion ω ∝ k² means group velocity v_g = dω/dk ∝ k increases with wavenumber. Large-k magnons move faster.
### Purely Dipolar Regime (Long Wavelengths)
For large wavelengths (small k, λ >> exchange length), dipolar coupling dominates:
This is independent of k, so group velocity v_g ≈ 0! Dipolar magnons are nearly immobile.
### Exchange-Dipole Hybrid Regime
In real materials, both effects are present. The dispersion relation is:
where θ_k is the angle between k and magnetization M. Damon–Eshbach surface waves have k perpendicular to M, while backward-volume waves have k parallel to M.
## 4. Damon-Eshbach Surface Spin Waves
Surface magnons are spin waves localized to the surface of a ferromagnet with exponential decay into the bulk. For thin films, they interact with boundaries, creating surface modes with reduced dispersion.
Advantages of surface waves:
- Well-confined to thin films (10–100 nm thickness)
- Easy to excite with microwave antennas
- Strong interaction with ferromagnetic resonance (FMR)
The surface wave dispersion in a thin YIG film is:
Typically, surface magnons have frequencies in the GHz range (ω ~ 2π × 1–10 GHz for typical B ~ 0.1 T).
## 5. Magnonic Crystals and Phononic Bandgaps
Magnonic crystals are periodic magnetic structures (alternating materials, thickness modulation, or engineered defects) that create bandgaps for spin waves analogous to photonic crystals.
A one-dimensional magnonic crystal (YIG/Pt multilayer with period d) creates a bandgap centered at wavenumber:
with bandwidth Δω inversely proportional to exchange stiffness contrast and film quality.
Bandgap creation mechanism:
1. Periodic modulation creates Bragg scattering for magnons with wavelength λ ~ 2d
2. Traveling waves with k = π/d backscatter constructively, forming standing wave modes
3. Frequency range becomes forbidden (bandgap)
Applications:
- Magnonic waveguides: Channels where magnons can propagate, surrounded by bandgap regions
- Magnonic resonators: Cavities confining magnons to specific frequencies
- Magnonic filters: Bandpass filters for magnon frequencies
## 6. Magnon-Magnon Interactions and Nonlinearity
At high power, magnon-magnon interactions become significant. The nonlinear interaction Hamiltonian is:
where a_k† creates a magnon with wavevector k. This enables:
- Three-magnon interactions (1 magnon → 2 magnons): Parametric amplification
- Four-magnon processes (2 magnons → 2 magnons): Magnon bottleneck
- Frequency conversion: Combining two input magnon frequencies to generate sum/difference frequencies
Parametric amplification in YIG: A pump magnon at frequency ω_p amplifies a signal magnon at ω_s < ω_p, with idler frequency ω_i = ω_p - ω_s. Gain bandwidth can exceed 1 GHz with modest pump powers (~100 mW).
## 7. Magnon-Based Logic: Interferometers and Multiplexers
All-magnonic logic circuits encode information in magnon phase and amplitude. Key devices:
### Magnonic Interferometer
Two magnon paths with different lengths/phase shifts interfere at an output. Phase control via local magnetic field tunes relative path phases:
### Magnonic Multiplexer
Multiple magnon frequencies (FDM: frequency-division multiplexing) routed through different resonators tuned to specific frequencies. Magnons at frequency f_1 couple strongly to resonator 1, weakly to others.
### Magnon Majority Gate
Three input magnons at closely-spaced frequencies (nonlinearly converted to common frequency) interact; output magnon phase/amplitude determines majority state.
## 8. Numerical Solver: Spin-Wave Dispersion and Band Structure
We compute dispersion relations and magnonic bandgaps:
import numpy as np
import matplotlib.pyplot as plt
from scipy.constants import pi, mu_0
def spin_wave_dispersion_exchange_dipolar(k_array, H_ext, M_s, A_exch, L_film=10e-9):
"""
Damon-Eshbach dispersion: ω(k) for exchange-dipole coupled spin waves.
ω² = (ω_H + ω_A l_ex² k²)(ω_H + ω_A l_ex² k² + ω_M)
for propagation along magnetization direction.
"""
gamma = 2.8e10 # rad/(s·T)
# Frequencies
omega_H = gamma * mu_0 * H_ext
omega_M = gamma * mu_0 * M_s
# Exchange length
l_ex = np.sqrt(A_exch / (mu_0 * M_s**2))
# Exchange frequency
omega_A = 2 * gamma * mu_0 * A_exch / M_s
# Dispersion relation
term1 = omega_H + omega_A * l_ex**2 * k_array**2
term2 = omega_H + omega_A * l_ex**2 * k_array**2 + omega_M
omega = np.sqrt(term1 * term2)
return omega, omega_H, omega_M, omega_A, l_ex
def magnonic_crystal_bandgap(k_array, d_period, omega_dispersion):
"""
Identify bandgap region in magnonic crystal with period d_period.
Bandgap centered at k_gap = π/d_period
"""
k_gap = pi / d_period
# Find bandgap region (frequency gap in dispersion)
k_cutoff = np.abs(k_array - k_gap) < k_gap / 2
omega_gap = omega_dispersion[k_cutoff]
if len(omega_gap) > 1:
omega_min = np.min(omega_gap)
omega_max = np.max(omega_gap)
else:
omega_min = omega_max = 0
return k_gap, omega_min, omega_max
def surface_wave_yig(k, H_ext, M_s_yig, d_yig=100e-9):
"""
Surface magnon dispersion for YIG thin film.
Simplified: ω_s ≈ γ M_s (with geometric factors)
"""
gamma = 2.8e10
omega_s = gamma * mu_0 * M_s_yig * (1 + 0.1*np.tanh(k*d_yig))
return omega_s
# Parameters (YIG)
M_s_yig = 1.4e5 # A/m (saturation magnetization)
A_exch_yig = 8.78e-12 # J/m (exchange stiffness)
H_ext = 0.1 # T (external field)
alpha_damping = 1e-5 # Gilbert damping
print("=" * 70)
print("MAGNONICS: SPIN-WAVE DISPERSION & MAGNONIC CRYSTAL BANDGAPS")
print("=" * 70)
print(f"\nYIG Material Parameters:")
print(f" Saturation magnetization: M_s = {M_s_yig:.3e} A/m")
print(f" Exchange stiffness: A = {A_exch_yig:.3e} J/m")
print(f" External field: H = {H_ext:.3f} T")
print(f" Damping coefficient: α = {alpha_damping:.1e}")
# Compute dispersion
k_vals = np.linspace(1e3, 1e6, 200) # rad/m
omega_vals, omega_H, omega_M, omega_A, l_ex = spin_wave_dispersion_exchange_dipolar(
k_vals, H_ext, M_s_yig, A_exch_yig
)
print(f"\nDerived Quantities:")
print(f" Larmor frequency ω_H: {omega_H/(2*pi):.3e} Hz")
print(f" Magnon frequency ω_M: {omega_M/(2*pi):.3e} Hz")
print(f" Exchange length l_ex: {l_ex*1e9:.2f} nm")
# Group velocity
k_nonzero = k_vals[k_vals > 0]
omega_nonzero = omega_vals[k_vals > 0]
v_g = np.gradient(omega_nonzero) / np.gradient(k_nonzero)
print(f" Group velocity range: {np.min(v_g):.2e} to {np.max(v_g):.2e} m/s")
# Magnonic crystal bandgap
d_period = 200e-9 # 200 nm period
k_gap, omega_min, omega_max = magnonic_crystal_bandgap(k_vals, d_period, omega_vals)
bandgap_width = omega_max - omega_min
print(f"\nMagnonic Crystal (period d = {d_period*1e9:.0f} nm):")
print(f" Bandgap wavevector: k_gap = {k_gap:.3e} rad/m")
print(f" Bandgap frequency width: Δω = {bandgap_width/(2*pi):.3e} Hz")
# Plotting
fig, axes = plt.subplots(2, 2, figsize=(14, 11))
# Panel 1: Dispersion relation (exchange-dipole)
ax = axes[0, 0]
f_vals = omega_vals / (2*pi) / 1e9 # Convert to GHz
ax.plot(k_vals*1e-6, f_vals, 'b-', linewidth=2.5)
ax.fill_between(k_vals*1e-6, f_vals, alpha=0.2, color='blue')
ax.set_xlabel('Wavenumber k (10⁶ rad/m)', fontsize=11)
ax.set_ylabel('Frequency f (GHz)', fontsize=11)
ax.set_title('YIG Spin-Wave Dispersion (H=0.1T)', fontsize=12, fontweight='bold')
ax.grid(True, alpha=0.3)
# Panel 2: Magnonic bandgap
ax = axes[0, 1]
# Highlight bandgap region
k_gap_region = np.abs(k_vals - k_gap) < k_gap/2
ax.plot(k_vals*1e-6, f_vals, 'b-', linewidth=2.5, label='Magnon dispersion')
ax.fill_between(k_vals[k_gap_region]*1e-6, 0, f_vals[k_gap_region], alpha=0.3, color='red', label='Bandgap')
ax.set_xlabel('Wavenumber k (10⁶ rad/m)', fontsize=11)
ax.set_ylabel('Frequency f (GHz)', fontsize=11)
ax.set_title('Magnonic Crystal Bandgap (d=200 nm)', fontsize=12, fontweight='bold')
ax.grid(True, alpha=0.3)
ax.legend(fontsize=10)
# Panel 3: Group velocity
ax = axes[1, 0]
ax.semilogy(k_nonzero*1e-6, v_g, 'g-', linewidth=2.5)
ax.fill_between(k_nonzero*1e-6, v_g, alpha=0.2, color='green')
ax.set_xlabel('Wavenumber k (10⁶ rad/m)', fontsize=11)
ax.set_ylabel('Group Velocity v_g (m/s)', fontsize=11)
ax.set_title('Magnon Group Velocity (Exchange-Dipole Regime)', fontsize=12, fontweight='bold')
ax.grid(True, alpha=0.3, which='both')
# Panel 4: Multiple bandgaps (magnonic superlattice)
ax = axes[1, 1]
periods = [200e-9, 150e-9, 100e-9] # Three different periods
colors_periods = ['blue', 'green', 'red']
for d_p, color in zip(periods, colors_periods):
k_g, f_min, f_max = magnonic_crystal_bandgap(k_vals, d_p, omega_vals)
k_g_um = k_g * 1e-6
ax.axvline(x=k_g_um, color=color, linestyle='--', alpha=0.7, linewidth=2, label=f'd={d_p*1e9:.0f} nm')
ax.plot(k_vals*1e-6, f_vals, 'k-', linewidth=2, alpha=0.5, label='Dispersion')
ax.set_xlabel('Wavenumber k (10⁶ rad/m)', fontsize=11)
ax.set_ylabel('Frequency f (GHz)', fontsize=11)
ax.set_title('Magnonic Superlattice: Multiple Bandgaps', fontsize=12, fontweight='bold')
ax.grid(True, alpha=0.3)
ax.legend(fontsize=9, loc='upper left')
plt.tight_layout()
plt.savefig('magnonics_spin_wave_yig.png', dpi=150, bbox_inches='tight')
print(f"\nFigure saved: magnonics_spin_wave_yig.png")
plt.close()
print("
" + "="*70)
print("MAGNON PARAMETERS FOR DEVICES:")
print("="*70)
print(f"\nTypical YIG magnon wavelengths and frequencies:")
print(f" λ = 100 nm → k ~ {(2*pi/100e-9):.2e} rad/m → f ~ {omega_vals[np.argmin(np.abs(k_vals-2*pi/100e-9))]/(2*pi)/1e9:.1f} GHz")
print(f" λ = 500 nm → k ~ {(2*pi/500e-9):.2e} rad/m → f ~ {omega_vals[np.argmin(np.abs(k_vals-2*pi/500e-9))]/(2*pi)/1e9:.1f} GHz")
print(f" λ = 1 μm → k ~ {(2*pi/1e-6):.2e} rad/m → f ~ {omega_vals[np.argmin(np.abs(k_vals-2*pi/1e-6))]/(2*pi)/1e9:.1f} GHz")## 9. Magnonics Advantages Over Electronics
| Feature | Electronics | Magnonics |
|---|---|---|
| Damping | ~1 Ω (high loss) | 10^-5–10^-4 (ultra-low) |
| Wavelength (at 1 GHz) | ~30 cm | ~100 nm |
| Tuning | Voltage (slow, complex) | Magnetic field (fast, linear) |
| Nonlinearity | Limited | Strong (parametric, FMR) |
| Thermal robustness | Requires cooling | Stable to higher T |
## 10. Magnonic Devices: Isolators, Amplifiers, Switches
Magnonic Isolators: Nonreciprocal magnons (one-way propagation) via Faraday-type rotation, enabling chiral magnon transport.
Magnonic Amplifiers: Parametric amplification with gain > 20 dB demonstrated.
Magnonic Switches: Magnon routing via magnetic field tuning or Joule heating.
## 11. Hybrid Magnonic Systems
Magnon-Phonon Coupling: Acoustic phonons interact with magnons in multiferroics, enabling magnon-acoustic mode conversion.
Magnon-Photon Coupling: Strong coupling in cavity magnonics (magnons in YIG sphere coupled to microwave cavity resonator) enables quantum state transfer.
## 12. Experimental Milestones
- 2010: FMR in YIG nanopillars, magnonic waveguides demonstrated
- 2015: Magnonic crystals with GHz-scale bandgaps
- 2018: Room-temperature magnonic logic gates
- 2020: Magnonic frequency combs, parametric magnon amplification
## 13. Challenges and Perspectives
Challenges:
- Integration with CMOS (on-chip YIG growth difficult)
- Scaling (millimeter-scale systems; submicron scaling not yet mature)
- Damping (even YIG's α~10^-5 still significant for GHz frequencies)
Opportunities:
- Quantum magnonics (magnon number states, entanglement)
- Neuromorphic computing (magnons for spiking neural networks)
- Topological magnonics (protected magnon edge states)
## 14. Comparison with Photonics and Spintronics
Magnonics occupies a unique niche: slower than photonics (~10^8 m/s vs 3×10^8 m/s), stronger nonlinearities than photonics, lower damping than electronics, tunable (unlike photonics).
## 15. Outlook: Integrated Magnonic-Photonic Chips
Monolithic integration of magnonic waveguides with photonic structures on silicon/diamond enables novel hybrid devices where magnons and photons couple and exchange information.
---
Computational Notes: Damon-Eshbach dispersion computed from exchange and dipolar fields using standard ferromagnetic resonance theory. Group velocity calculated via numerical differentiation of ω(k). Magnonic bandgaps identified via frequency gap detection at high-symmetry k points. All calculations use YIG parameters from literature (Klingler et al.). Damping effects (linewidth broadening) not included in dispersion but are critical for device design.
## 16. Geometry-Correct Dipole–Exchange Theory
Linearizing the Landau–Lifshitz–Gilbert equation around equilibrium magnetization M₀ gives
The dimensionless Gilbert parameter α broadens resonances and limits propagation. For weak damping it does not set the central lossless eigenfrequency.
Writing ω₀ = γμ₀H₀, ω_M = γμ₀M_s, and l_ex² = 2A/(μ₀M_s²), a useful single-mode dispersion is
The dimensionless F(kd) represents dynamic demagnetizing fields and depends on geometry and thickness mode. It must not be treated as universal.
- Backward-volume magnetostatic waves: k ∥ M₀. Their dipolar-range slope may be negative, giving oppositely directed phase and group velocities.
- Damon–Eshbach surface waves: k ⟂ M₀ for an in-plane magnetized film. The mode localizes preferentially at one surface, and reversing k swaps the favored surface.
“Damen–Eshbach” appears in search queries, but the established name is Damon–Eshbach. In particular, k parallel to M₀ is not the surface-wave geometry.
Group velocity and a weak-damping propagation estimate are
## 17. One-Dimensional Magnonic-Crystal Gap
For periodic modulation with period a_m, the first Brillouin-zone edge is k_B = π/a_m. A Fourier component of the modulation couples forward and Bragg-reflected waves. The coupled-mode matrix is
and its branches are
The full angular-frequency gap at the zone boundary is 2|G|. This avoided crossing is the actual bandgap calculation; merely shading part of an unperturbed curve does not create a forbidden band.
## 18. Python Solver for Dispersion, Group Velocity, and Bandgap
The model below evaluates representative backward-volume and Damon–Eshbach branches, differentiates them, and opens a coupled-mode gap at the first zone boundary. The applied field is expressed as B₀ = μ₀H₀ in tesla to avoid unit ambiguity.
import numpy as np
import matplotlib.pyplot as plt
mu0 = 4.0e-7 * np.pi
gamma = 2.0 * np.pi * 28.0e9
mu0_Ms = 0.175
Ms = mu0_Ms / mu0
A = 3.5e-12
lex2 = 2.0 * A / (mu0 * Ms**2)
B0 = 0.10
film_d = 80e-9
period = 400e-9
alpha = 2e-4
def P(kd):
kd = np.asarray(kd)
safe = np.maximum(np.abs(kd), 1e-14)
return 1.0 - (1.0 - np.exp(-safe)) / safe
def dispersion(k, geometry):
exchange_B = mu0_Ms * lex2 * k**2
omega0 = gamma * (B0 + exchange_B)
omegaM = gamma * mu0_Ms
p = P(k * film_d)
if geometry == "DE":
F = p
elif geometry == "BV":
F = 1.0 - p
else:
raise ValueError("geometry must be DE or BV")
return np.sqrt(omega0 * (omega0 + omegaM * F))
kB = np.pi / period
k = np.linspace(0.02*kB, 1.98*kB, 1400)
omega_de = dispersion(k, "DE")
omega_bv = dispersion(k, "BV")
vg_de = np.gradient(omega_de, k)
vg_bv = np.gradient(omega_bv, k)
omega_B = float(dispersion(np.array([kB]), "DE")[0])
v_B = float(np.interp(kB, k, vg_de))
G = 2.0*np.pi*0.18e9
detuning = v_B * (k-kB)
omega_plus = omega_B + np.sqrt(detuning**2 + G**2)
omega_minus = omega_B - np.sqrt(detuning**2 + G**2)
length_de = np.abs(vg_de) / (2.0*alpha*omega_de)
print(f"Zone boundary = {kB:.4e} rad/m")
print(f"Full bandgap = {2*G/(2*np.pi*1e9):.3f} GHz")
print(f"Median DE propagation length = {np.median(length_de)*1e6:.2f} µm")
fig, axes = plt.subplots(2, 2, figsize=(12, 9))
axes[0, 0].plot(k/1e6, omega_de/(2*np.pi*1e9), label="Damon–Eshbach")
axes[0, 0].plot(k/1e6, omega_bv/(2*np.pi*1e9), label="Backward volume")
axes[0, 0].set_ylabel("Frequency (GHz)")
axes[0, 0].legend()
axes[0, 1].plot(k/1e6, vg_de/1e3, label="DE")
axes[0, 1].plot(k/1e6, vg_bv/1e3, label="BV")
axes[0, 1].axhline(0, color="black", lw=0.7)
axes[0, 1].set_ylabel("Group velocity (km/s)")
axes[0, 1].legend()
axes[1, 0].plot(k/1e6, omega_plus/(2*np.pi*1e9))
axes[1, 0].plot(k/1e6, omega_minus/(2*np.pi*1e9))
axes[1, 0].axvline(kB/1e6, color="black", ls="--")
axes[1, 0].set_ylabel("Crystal branches (GHz)")
axes[1, 1].semilogy(k/1e6, length_de*1e6)
axes[1, 1].set_ylabel("DE propagation length (µm)")
for ax in axes.flat:
ax.set_xlabel("Wave number k (10⁶ rad/m)")
ax.grid(alpha=0.3)
plt.tight_layout()
plt.show()These geometry factors are reduced analytical proxies. Quantitative prediction should use a converged Kalinikos–Slavin dynamic matrix, measured material parameters, realistic boundary conditions, and enough perpendicular standing-spin-wave basis functions.
Experimentally, validate a gap by observing both reduced transmission and split eigenbranches near π/a_m. A transmission dip alone may instead be antenna mismatch, damping, or a localized resonance. Report geometry, sign of k, film thickness, α convention, crystal period and cell count, stop-band rejection, and pass-band insertion loss.