| Documentation | Build Status | Citation |
|---|---|---|
Sunny is a Julia package for simulating magnetism. It emphasizes symmetry-aware spin Hamiltonians, efficient methods for capturing quantum effects, and comparison with scattering data. Sunny is extensively documented, supports interactive visualization, and facilitates model fitting.
Browse the Tutorials. For traditional spin wave theory, jump to the SpinW ports.
Julia setup is described in the Getting Started guide.
- Symmetry-guided modeling. Load CIF or mCIF files, enumerate symmetry-allowed couplings, and propagate interactions by symmetry equivalence.
- General operator couplings. Specify single-ion anisotropy in Stevens operators or spin polynomials. Arbitrary multipolar coupling on a bond is also supported.
- Spin-wave theory for quantum spin excitations. The usual dipole formalism (CoRh₂O₄ bands) generalizes to multipoles via multi-flavor bosons (FeI₂ bands). Special calculators are available for incommensurate spiral order (Ba₃NbFe₃Si₂O₁₄ spiral) and for linear-scaling on very large systems (KPM solver).
- Finite-temperature dynamics. The usual Landau-Lifshitz dipole dynamics (CoRh₂O₄ dynamics) generalizes to multipoles via SU(N) coherent states (FeI₂ dynamics). Use with parallel tempering to accelerate equilibrium sampling (Advanced MC).
- Self-consistent Gaussian approximation (SCGA) for static observables in the paramagnetic-phase, e.g., susceptibility and diffuse scattering.
- Long-range dipole-dipole interactions with Ewald summation and customizable demagnetization tensor (Pyrochlore Ewald).
- Quenched disorder to model chemical impurities (Disordered intensities).
- Entangled units capture local entanglement between strongly-coupled sites (Ba₃Mn₂O₈ intensities).
- Model fitting tools. Examples include fitting to magnon bands (LuVO₃ fitting), inelastic powder data (β-Na₂PrO₃ fitting), and diffuse scattering data (MgCr₂O₄ fitting).
See Release Notes for new features and breaking changes.
Related packages include SpinW (symmetry-guided spin wave theory), McPhase (accurate treatment of spin multipoles), Spinteract (SCGA solvers and fitting), and Vampire (large-scale spin dynamics).
Say hello on our Slack workspace. Ask questions on the #helpdesk channel.
Please cite the main JOSS paper and any relevant methodology papers to help sustain Sunny development.