SpinW#

SpinW and pySpinW are libraries that can plot and numerically simulate magnetic structures and excitations of a given spin Hamiltonian using classical Monte Carlo simulation and linear spin-wave theory. SpinW and pySpinW are written for MATLAB and Python respectively.

The Projects#

SpinW

Original SpinW written in MATLAB.

pySpinW

Python implementation of SpinW.

SpinWcore

SpinW core functions written in C++ for speed.

Features#

SpinW can solve the following spin Hamiltonian using classical and quasi-classical numerical methods:

\[H = \sum_{i,j} S_i J_{ij} S_j + \sum_i S_i A_i S_i + B \sum_i g_i S_i\]

where \(S_i\) are spin vector operators, \(J_{ij}\) are 3x3 matrices describing pair coupling between spins, \(A_{i}\) are 3x3 anisotropy matrices, \(B\) is the external magnetic field, and \(g_i\) is the g-tensor.

Crystal structures#

  • Definition of crystal lattice with arbitrary unit cell, using space group or symmetry operators.

  • Definition of non-magnetic atoms and magnetic atoms with arbitrary moment size.

  • Publication-quality plotting of crystal structures, including atoms, labels, axes, polyhedra, anisotropy ellipsoids, and DM vectors.

Magnetic structures#

  • Definition of 1D, 2D, and 3D magnetic structures.

  • Representation of incommensurate structures using a rotating coordinate system or complex basis vectors.

  • Generation of magnetic structures on a magnetic supercell.

  • Plotting of magnetic structures.

Magnetic interactions#

  • Assignment of magnetic interactions to neighbouring magnetic atoms based on distance.

  • Heisenberg, Dzyaloshinskii-Moriya, anisotropic, and general 3x3 exchange tensors.

  • Arbitrary single-ion anisotropy tensor, including easy-plane and easy-axis anisotropy.

  • Zeeman energy in homogeneous magnetic field, including arbitrary g-tensor.

  • Symmetry-allowed tensor elements calculated from the crystallographic space group.

Simulation of magnetic structures#

  • Classical energy minimization assuming a single-k magnetic structure for a fast and simple ground-state solution.

  • Simulated annealing using the Metropolis algorithm on an arbitrarily large magnetic supercell.

  • Thermodynamic equilibrium properties, including heat capacity and magnetic susceptibility.

  • Magnetic structure factor calculation using FFT.

  • Simulation of magnetic neutron diffraction and diffuse scattering.

  • Magnetic excitations in commensurate and incommensurate structures using linear spin-wave theory.

  • Spin-wave dispersion, spin-spin correlation functions, neutron scattering cross sections, and powder-averaged spectra.

  • Polarized neutron scattering cross sections.

  • Different moment sizes for different magnetic atoms.

Plotting spin-wave spectra#

  • Plotting of dispersions, correlation functions, and convoluted spectra.

  • Calculation and plotting of convoluted spectra for direct comparison with inelastic neutron scattering.

  • Full integration into Horace for plotting and comparison with time-of-flight neutron data.

Fitting spin-wave spectra#

  • Any parameter in the Hamiltonian can be fitted.

  • Fitting Hamiltonian parameters robustly against measured spectra.

Our Partners#