compute temp/tspin command
Syntax
compute ID group-ID temp/tspin
ID, group-ID are documented in compute command
temp/tspin = style name of this compute command
Examples
compute ts all temp/tspin
thermo_style custom step temp c_ts c_ts[1]
Description
Added in version TBD.
Define a computation that calculates the instantaneous kinetic temperature and the kinetic energy of the auxiliary spin degrees of freedom of inertial spin dynamics (TSPIN) for all atoms in the group that have a positive spin mass.
The kinetic energy is
where \(m_s\) is the spin mass of atom i and \(\vec{v}^{s}_i\) its auxiliary spin velocity. The temperature is
where \(N_s\) is the number of these atoms.
Each spin contributes three Cartesian degrees of freedom. No degrees of freedom are subtracted for spin momentum removal by velocity/tspin.
This temperature characterizes the auxiliary TSPIN degrees of freedom. It differs from the torque-based estimator returned by compute spin and from the usual atomic temperature temp. The kinetic energy belongs to the sampling dynamics and is distinct from the magnetic potential energy.
The kinetic energy is not included in the thermodynamic keyword ke, which counts only the translational kinetic energy of the atoms, or in etotal or econserve. Reference it as c_ID[1] in thermo_style custom to output it. For a microcanonical run with fix nve/tspin and a moving lattice, with no thermostat or barostat active and with all relevant potential-energy contributions included in pe, the conserved energy includes the potential energy, the lattice kinetic energy, and this auxiliary spin kinetic energy:
compute ts all temp/tspin
variable H equal etotal+c_ts[1]
thermo_style custom step pe ke c_ts[1] v_H
Include all potential energy contributions in pe. For example, the
energy of fix spring/tspin requires
fix_modify energy yes. With lattice frozen and
zero atomic velocities, the lattice kinetic energy vanishes and the
expression reduces to pe+c_ts[1].
Output info
This compute calculates a global scalar (the temperature) and a global vector of length 1, whose only element, accessed with index 1, is the kinetic energy. These values can be used by any command that uses global scalar or vector values from a compute as input. See the Howto output page for an overview of LAMMPS output options.
The scalar value is “intensive” and in temperature units (K in metal units). The vector value is “extensive” and in energy units.
Restrictions
This compute requires atom_style spin and the SPIN package. A TSPIN integrator must be defined first.
This compute is for spin-temperature output only. It cannot be used with thermo_modify temp or as a temperature compute for atomic thermostats or pressure calculations.
Default
none