<p>Define a computation that calculates the temperature of a group of
atoms. A compute of this style can be used by any command that
computes a temperature, e.g. <aclass="reference internal"href="thermo_modify.html"><spanclass="doc">thermo_modify</span></a>, <aclass="reference internal"href="fix_temp_rescale.html"><spanclass="doc">fix temp/rescale</span></a>, <aclass="reference internal"href="fix_nh.html"><spanclass="doc">fix npt</span></a>, etc.</p>
<p>The temperature is calculated by the formula KE = dim/2 N k T, where
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),
dim = 2 or 3 = dimensionality of the simulation, N = number of atoms
in the group, k = Boltzmann constant, and T = temperature.</p>
<p>A kinetic energy tensor, stored as a 6-element vector, is also
calculated by this compute for use in the computation of a pressure
tensor. The formula for the components of the tensor is the same as
the above formula, except that v^2 is replaced by vx*vy for the xy
component, etc. The 6 components of the vector are ordered xx, yy,
zz, xy, xz, yz.</p>
<p>The number of atoms contributing to the temperature is assumed to be
constant for the duration of the run; use the <em>dynamic</em> option of the
<aclass="reference internal"href="compute_modify.html"><spanclass="doc">compute_modify</span></a> command if this is not the case.</p>
<p>This compute subtracts out degrees-of-freedom due to fixes that
constrain molecular motion, such as <aclass="reference internal"href="fix_shake.html"><spanclass="doc">fix shake</span></a> and
<aclass="reference internal"href="fix_rigid.html"><spanclass="doc">fix rigid</span></a>. This means the temperature of groups of
atoms that include these constraints will be computed correctly. If
needed, the subtracted degrees-of-freedom can be altered using the
<em>extra</em> option of the <aclass="reference internal"href="compute_modify.html"><spanclass="doc">compute_modify</span></a> command.</p>
<p>A compute of this style with the ID of “thermo_temp” is created when
LAMMPS starts up, as if this command were in the input script:</p>
<preclass="literal-block">
compute thermo_temp all temp
</pre>
<p>See the “thermo_style” command for more details.</p>
<p>See <aclass="reference internal"href="Section_howto.html#howto-16"><spanclass="std std-ref">this howto section</span></a> of the manual for
a discussion of different ways to compute temperature and perform
thermostatting.</p>
<hrclass="docutils"/>
<p>Styles with a <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed in <aclass="reference internal"href="Section_accelerate.html"><spanclass="doc">Section_accelerate</span></a>
of the manual. The accelerated styles take the same arguments and
should produce the same results, except for round-off and precision
issues.</p>
<p>These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the <aclass="reference internal"href="Section_start.html#start-3"><spanclass="std std-ref">Making LAMMPS</span></a> section for more info.</p>
<p>You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the <aclass="reference internal"href="Section_start.html#start-7"><spanclass="std std-ref">-suffix command-line switch</span></a> when you invoke LAMMPS, or you can
use the <aclass="reference internal"href="suffix.html"><spanclass="doc">suffix</span></a> command in your input script.</p>
<p>See <aclass="reference internal"href="Section_accelerate.html"><spanclass="doc">Section_accelerate</span></a> of the manual for
more instructions on how to use the accelerated styles effectively.</p>
<hrclass="docutils"/>
<p><strong>Output info:</strong></p>
<p>This compute calculates a global scalar (the temperature) and a global
vector of length 6 (KE tensor), which can be accessed by indices 1-6.
These values can be used by any command that uses global scalar or
vector values from a compute as input. See <aclass="reference internal"href="Section_howto.html#howto-15"><spanclass="std std-ref">this section</span></a> for an overview of LAMMPS output
options.</p>
<p>The scalar value calculated by this compute is “intensive”. The
vector values are “extensive”.</p>
<p>The scalar value will be in temperature <aclass="reference internal"href="units.html"><spanclass="doc">units</span></a>. The
vector values will be in energy <aclass="reference internal"href="units.html"><spanclass="doc">units</span></a>.</p>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.