/Sunny.jl

Spin dynamics and generalization to SU(N) coherent states

Primary LanguageJuliaOtherNOASSERTION

Sunny.jl

Documentation:   Docs-stable   Docs-dev Build status:   CI

Overview

Sunny is a Julia package for modeling atomic-scale magnetism. Through spin dynamics simulations, it enables direct comparison with experimental scattering data, e.g., neutrons or x-rays. Ease of use is a priority, with tools for symmetry-guided modeling and interactive visualization.

At low-temperatures, Sunny supports the usual linear spin wave theory of spin dipoles, and its multi-flavor generalization. At finite temperatures, Sunny can calculate the dynamical structure factor using classical spin dynamics with quantum corrections. Langevin coupling to a thermal bath makes possible the study of non-equilibrium dynamics, e.g., thermal transport, pump-probe experiments, and spin-glass relaxation. Sunny also provides powerful Monte Carlo algorithms for collecting statistics in thermal equilibrium.

A unique feature of Sunny is its treatment of spins as SU(N) coherent states. This theory generalizes Landau-Lifshitz spin dynamics to a nonlinear Schrödinger equation, which retains $N=2s+1$ levels for each quantum spin-s state. The generalization is important for models with strong single-ion anisotropy (see the FeI₂ tutorial) and for localized "units" of strongly entangled spins. Efficient simulation is enabled by several algorithmic advances.

Try it out!

Install Sunny and try the Tutorials. For traditional linear spin wave theory, see also the SpinW ports.

See Version History for new features and breaking changes. To install a specific version of Sunny, say v0.x, use the command add Sunny@0.x.

Other spin wave codes

Sunny is inspired by SpinW, especially regarding symmetry analysis and traditional spin wave theory. Relative to other spin wave codes, this table highlights Sunny's special features (as of 2024):

McPhase SpinW Sunny
Symmetry-guided modeling
Interactive graphics
Incommensurate spiral order
Arbitrary couplings of quantum operators
Interaction renormalization corrections
Multi-flavor spin wave theory
Classical SU(N) spin dynamics
Fast long-range dipole interactions
Programming language C++ Matlab Julia

Codes like Spirit and Vampire focus less on capturing quantum effects, but might be preferred for large-scale classical spin dynamics, e.g., for micromagnetics.

Join our community

We want to interact with you! Please join our Slack community and say hello. If you encounter a problem with Sunny, please ask on the Slack #helpdesk channel or file a Github issue. If you use Sunny in a paper, please let us know and add it to our Literature Wiki.


LANL    UTK    GATech   ORNL    LSU