Syntax:
compute ID group-ID temp/asphere bias-ID
Examples:
compute 1 all temp/asphere compute myTemp mobile temp/asphere tempCOM
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 command, which assumes point particles with only translational kinetic energy.
For 3d aspherical particles, each has 3, 5, or 6 degrees of freedom (3 translational, remainder rotational), depending on whether the particle is spherical, uniaxial, or biaxial. This is determined by the shape command. Uniaxial means two of its three shape parameters are equal. Biaxial means all 3 shape parameters are different.
For 2d aspherical particles, each has 3 or 4 degrees of freedom (3 translational, remainder rotational), depending on whether the particle is spherical, or biaxial. Biaxial means the x,y shape parameters are unequal.
IMPORTANT NOTE: These degrees of freedom assume that the interaction potential between degenerate aspherical particles does not impart rotational motion to the extra degrees of freedom. E.g. the GayBerne pair potential does not impart torque to spherical particles, so they do not rotate.
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, particles are treated as ellipsoids, not ellipses, meaning their moments of inertia will be the same as in 3d.
A 6-component kinetic energy tensor 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 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 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 and fix rigid. 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 command.
See this howto section of the manual for a discussion of different ways to compute temperature and perform thermostatting.
Output info:
The scalar value calculated by this compute is "intensive", meaning it is independent of the number of atoms in the simulation. The vector values are "extensive", meaning they scale with the number of atoms in the simulation.
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 command.
Related commands:
Default: none