SpinW is a MATLAB library that can plot and numerically simulate magnetic structures and excitations of given spin Hamiltonian using classical Monte Carlo simulation and linear spin wave theory.

# The Projects

## Features

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

where $S_i$ are spin vector operators, $J_{ij}$ are 3x3 matrices describing pair coupling between spins, $A_{ij}$ are 3x3 anisotropy matrices, $B$ is 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 (atoms, labels, axes, surrounding polyhedron, anisotropy ellipsoids, DM vector, etc.)

### Magnetic structures

• definition of 1D, 2D and 3D magnetic structures
• representation of incommensurate structures using rotating coordinate system or complex basis vectors
• generation of magnetic structures on a magnetic supercell
• plotting of magnetic structures

### Magnetic interactions

• simple assignment of magnetic interactions to neighbouring magnetic atoms based on distance
• possible interactions: Heisenberg, Dzyaloshinskii-Moriya, anisotropic and general 3x3 exchange tensor
• arbitrary single ion anisotropy tensor (easy-plane, easy-axis, etc.)
• Zeeman energy in homogeneous magnetic field including arbitrary g-tensor
• calculation of symmetry allowed elements of the above tensors based on the crystallographic space group

### Simulation of magnetic structures

• classical energy minimization assuming single-k magnetic structure for fast and simple solution for ground state magnetic structure
• simulated annealing using the Metropolis algorithm on an arbitrary large magnetic supercell
• calculating properties in thermodynamical equilibrium (heat capacity, magnetic susceptibility, etc.)
• magnetic structure factor calculation using FFT
• simulation of magnetic neutron diffraction and diffuse scattering
• Simulation of magnetic excitations in general commensurate and incommensurate magnetic structures using linear spin-wave theory
• calculation of spin wave dispersion, spin-spin correlation functions
• calculation of neutron scattering cross section for unpolarized neutrons including the magnetic form factor
• calculation of polarized neutron scattering cross sections
• possible to include different moment sizes for different magnetic atoms
• calculation of powder averaged spin wave spectrum

### Plotting of spin wave spectrum

• plotting of dispersions and correlation functions
• calculation and plotting of the convoluted spectra for direct comparison with inelastic neutron scattering
• full integration into Horace for plotting and comparison with time of flight neutron data, see http://horace.isis.rl.ac.uk

### Fitting spin wave spectra

• possible to fit any parameter in the Hamiltonian
• robust fitting, even when the number of simulated spin wave modes differs from the measured number of modes