pair_style spin/exchange command


pair_style spin/exchange cutoff
  • cutoff = global cutoff pair (distance in metal units)


pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885
pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965


Style spin/exchange computes the exchange interaction between pairs of magnetic spins:


where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, and J(rij) is a function defining the intensity and the sign of the exchange interaction for different neighboring shells. This function is defined as:


where a, b and d are the three constant coefficients defined in the associated “pair_coeff” command (see below for more explanations).

The coefficients a, b, and d need to be fitted so that the function above matches with the value of the exchange interaction for the N neighbor shells taken into account. Examples and more explanations about this function and its parameterization are reported in (Tranchida).

From this exchange interaction, each spin i will be submitted to a magnetic torque omega, and its associated atom can be submitted to a force F for spin-lattice calculations (see fix_nve_spin), such as:


with h the Planck constant (in metal units), and eij = (ri - rj)/|ri-rj| the unit vector between sites i and j.

More details about the derivation of these torques/forces are reported in (Tranchida).

For the spin/exchange pair style, the following coefficients must be defined for each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the read_data or read_restart commands, and set in the following order:

  • rc (distance units)

  • a (energy units)

  • b (adim parameter)

  • d (distance units)

Note that rc is the radius cutoff of the considered exchange interaction, and a, b and d are the three coefficients performing the parameterization of the function J(rij) defined above.

None of those coefficients is optional. If not specified, the spin/exchange pair style cannot be used.


All the pair/spin styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the atom_style “spin” was declared. See the Build package doc page for more info.