fix langevin/tspin command

Syntax

fix ID group-ID langevin/tspin Tstart Tstop Tdamp seed keyword value ...
  • ID, group-ID are documented in fix command

  • langevin/tspin = style name of this fix command

  • Tstart, Tstop = desired spin temperature at start and end of the run (temperature units, K in metal units)

  • Tdamp = spin temperature damping parameter (time units)

  • seed = random number seed to use for the white noise (positive integer)

  • zero or more keyword/value pairs may be appended

  • keyword = zero

    zero value = no or yes
      no = the net random force on the spin system need not be zero
      yes = subtract the mean random force so that it sums to zero

Examples

fix 2 all langevin/tspin 300.0 300.0 0.05 48279
fix 2 all langevin/tspin 10.0 600.0 0.1 48279 zero yes

Description

Added in version TBD.

Used with fix nve/tspin, this fix generates inertial Langevin dynamics of the full Cartesian spin vectors for equilibrium sampling. These auxiliary dynamics do not represent physical spin precession. Friction and random forces modify the generalized spin force on each atom in the group with positive spin mass,

\[\vec{F}^{m}_i \rightarrow \vec{F}^{m}_i - \frac{m_{s,i}}{T_{\mathrm{damp}}}\vec{v}^{s}_i + \sqrt{\frac{2m_{s,i}k_B T_{\mathrm{target}}(t)} {T_{\mathrm{damp}}\,\Delta t}}\,\boldsymbol{\xi}_i.\]

Here \(m_{s,i}\) is the spin mass, \(\Delta t\) is the timestep, and \(\boldsymbol{\xi}_i\) is a dimensionless random vector. The target temperature \(T_{\mathrm{target}}(t)\) varies linearly from Tstart to Tstop. With zero yes, the mean random force over the active spins is subtracted after sampling.

Only spin velocities are thermostatted. Atomic velocities can be thermostatted separately if needed. Do not thermostat the same spins with fix nvt/tspin or fix npt/tspin, or combine this bath with fix langevin/spin. See fix nve/tspin for the longitudinal-potential requirement.

For example, after defining the atoms, atomic masses, and initial spins, and assigning spin masses:

fix 1 all spring/tspin 1.0 2.2
fix 2 all langevin/tspin 300.0 300.0 0.05 48279
fix 3 all nve/tspin lattice frozen

Report the auxiliary kinetic spin temperature and spin kinetic energy with compute temp/tspin. The bath exchanges energy with the spins, so etotal plus the spin kinetic energy is not conserved. This fix does not tally that exchange.


Restart, fix_modify, output, run start/stop, minimize info

The random-number generator state is not written to binary restart files. Restarts preserve statistical sampling but do not reproduce the same trajectory. Each MPI rank uses a separate random-number stream, so changing the number of ranks changes the trajectory.

No fix_modify options or output quantities are supported.

This fix is not invoked during energy minimization.

Restrictions

The langevin/tspin fix is part of the SPIN package. This style is only enabled if LAMMPS was built with this package. See the Build package page for more info.

This fix requires atom_style spin. The time integration has to be performed by fix nve/tspin.

Default

The default value for the zero keyword is no.