fix nve/spin command


fix ID group-ID nve/spin keyword values
  • ID, group-ID are documented in fix command

  • nve/spin = style name of this fix command

  • keyword = lattice

    lattice value = moving or frozen
      moving = integrate both spin and atomic degress of freedom
      frozen = integrate spins on a fixed lattice


fix 3 all nve/spin lattice moving
fix 1 all nve/spin lattice frozen


Perform a symplectic integration for the spin or spin-lattice system.

The lattice keyword defines if the spins are integrated on a lattice of fixed atoms (lattice = frozen), or if atoms are moving (lattice = moving). The first case corresponds to a spin dynamics calculation, and the second to a spin-lattice calculation. By default a spin-lattice integration is performed (lattice = moving).

The nve/spin fix applies a Suzuki-Trotter decomposition to the equations of motion of the spin lattice system, following the scheme:


according to the implementation reported in (Omelyan).

A sectoring method enables this scheme for parallel calculations. The implementation of this sectoring algorithm is reported in (Tranchida).


This fix style can only be used if LAMMPS was built with the SPIN package. See the Build package page for more info.

To use the spin algorithm, it is necessary to define a map with the atom_modify command. Typically, by adding the command:

atom_modify map array

before you create the simulation box. Note that the keyword “hash” instead of “array” is also valid.


The option default is lattice = moving.

(Omelyan) Omelyan, Mryglod, and Folk. Phys. Rev. Lett. 86(5), 898. (2001).

(Tranchida) Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018).