"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c

:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)

:line

compute temp/asphere command :h3

[Syntax:]

compute ID group-ID temp/asphere bias-ID :pre

ID, group-ID are documented in "compute"_compute.html command
temp/asphere = style name of this compute command
bias-ID = ID of a temperature compute that removes a velocity bias (optional) :ul

[Examples:]

compute 1 all temp/asphere
compute myTemp mobile temp/asphere tempCOM :pre

[Description:]

Define a computation that calculates the temperature of a group of
aspherical particles, including a contribution from both their
translational and rotational kinetic energy.  This differs from the
usual "compute temp"_compute_temp.html command, which assumes point
particles with only translational kinetic energy.

Only finite-size particles (aspherical or spherical) can be included
in the group.  For 3d finite-size particles, each has 6 degrees of
freedom (3 translational, 3 rotational).  For 2d finite-size
particles, each has 3 degrees of freedom (2 translational, 1
rotational).

IMPORTANT NOTE: This choice for degrees of freedom (dof) assumes that
all finite-size aspherical or 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
"compute_modify extra"_compute_modify.html command to adjust the dof
accordingly.

For example, an aspherical particle with all three of its
"shape"_shape.html parameters the same is a sphere.  If it does not
rotate, then it should have 3 dof instead of 6 in 3d (or 2 instead of
3 in 2d).  A uniaxial aspherical particle has two of its three shape
parameters the same.  If it does not rotate around the axis
perpendicular to its circular cross section, then it should have 5 dof
instead of 6 in 3d.

The translational kinetic energy is computed the same as is described
by the "compute temp"_compute_temp.html command.  The rotational
kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor
for the aspherical particle and w is its angular velocity, which is
computed from its angular momentum.

IMPORTANT NOTE: For "2d models"_dimension.html, particles are treated
as ellipsoids, not ellipses, meaning their moments of inertia will be
the same as in 3d.

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 formula, except that v^2 and w^2 are
replaced by vx*vy and wx*wy for the xy component, and the appropriate
elements of the inertia tensor are used.  The 6 components of the
vector are ordered xx, yy, zz, xy, xz, yz.

The number of atoms contributing to the temperature is assumed to be
constant for the duration of the run; use the {dynamic} option of the
"compute_modify"_compute_modify.html command if this is not the case.

If a {bias-ID} is specified it must be 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 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.

This compute subtracts out translational degrees-of-freedom due to
fixes that constrain molecular motion, such as "fix
shake"_fix_shake.html and "fix rigid"_fix_rigid.html.  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 {extra} option of the
"compute_modify"_compute_modify.html command.

See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting.

[Output info:]

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 "this
section"_Section_howto.html#4_15 for an overview of LAMMPS output
options.

The scalar value calculated by this compute is "intensive".  The
vector values are "extensive".

The scalar value will be in temperature "units"_units.html.  The
vector values will be in energy "units"_units.html.

[Restrictions:]

This compute requires that particles be represented as extended
ellipsoids and not point particles.  This means they will have an
angular momentum and a shape which is determined by the
"shape"_shape.html command.

[Related commands:]

"compute temp"_compute_temp.html

[Default:] none
