<p>Define a computation that calculates the temperature of a group of
spherical particles, including a contribution from both their
translational and rotational kinetic energy. This differs from the
usual <a class="reference internal" href="compute_temp.html"><span class="doc">compute temp</span></a> command, which assumes point
particles with only translational kinetic energy.</p>
<p>Both point and finite-size particles can be included in the group.
Point particles do not rotate, so they have only 3 translational
degrees of freedom. For 3d spherical particles, each has 6 degrees of
freedom (3 translational, 3 rotational). For 2d spherical particles,
each has 3 degrees of freedom (2 translational, 1 rotational).</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">This choice for degrees of freedom (dof) assumes that all
finite-size spherical particles in your model will freely rotate,
sampling all their rotational dof. It is possible to use a
combination of interaction potentials and fixes that induce no torque
or otherwise constrain some of all of your particles so that this is
not the case. Then there are less dof and you should use the
<a class="reference internal" href="compute_modify.html"><span class="doc">compute_modify extra</span></a> command to adjust the dof
accordingly.</p>
</div>
<p>The translational kinetic energy is computed the same as is described
by the <a class="reference internal" href="compute_temp.html"><span class="doc">compute temp</span></a> command. The rotational
kinetic energy is computed as 1/2 I w^2, where I is the moment of
inertia for a sphere and w is the particle’s angular velocity.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">For <a class="reference internal" href="dimension.html"><span class="doc">2d models</span></a>, particles are treated as
spheres, not disks, meaning their moment of inertia will be the same
as in 3d.</p>
</div>
<p>A kinetic energy tensor, stored as a 6-element vector, is also
calculated by this compute. The formula for the components of the
tensor is the same as the above formulas, except that v^2 and w^2 are
replaced by vx*vy and wx*wy for the xy component. 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
<a class="reference internal" href="compute_modify.html"><span class="doc">compute_modify</span></a> command if this is not the case.</p>
<p>This compute subtracts out translational degrees-of-freedom due to
fixes that constrain molecular motion, such as <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> and <a class="reference internal" href="fix_rigid.html"><span class="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
<p>See <a class="reference internal" href="Section_howto.html#howto-16"><span class="std std-ref">this howto section</span></a> of the manual for
a discussion of different ways to compute temperature and perform
thermostatting.</p>
<hr class="docutils" />
<p>The keyword/value option pairs are used in the following ways.</p>
<p>For the <em>bias</em> keyword, <em>bias-ID</em> refers to the ID of a temperature
compute that removes a “bias” velocity from each atom. This allows
compute temp/sphere to compute its thermal temperature after the
translational kinetic energy components have been altered in a
prescribed way, e.g. to remove a flow velocity profile. Thermostats
that use this compute will work with this bias term. See the doc
pages for individual computes that calculate a temperature and the doc
pages for fixes that perform thermostatting for more details.</p>
<p>For the <em>dof</em> keyword, a setting of <em>all</em> calculates a temperature
that includes both translational and rotational degrees of freedom. A
setting of <em>rotate</em> calculates a temperature that includes only
rotational degrees of freedom.</p>
<hr class="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 <a class="reference internal" href="Section_howto.html#howto-15"><span class="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 <a class="reference internal" href="units.html"><span class="doc">units</span></a>. The
vector values will be in energy <a class="reference internal" href="units.html"><span class="doc">units</span></a>.</p>
</div>
<div class="section" id="restrictions">
<h2>Restrictions</h2>
<p>This fix requires that atoms store torque and angular velocity (omega)
and a radius as defined by the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style sphere</span></a>
command.</p>
<p>All particles in the group must be finite-size spheres, or point
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.