2008-03-06 02:17:18 +08:00
|
|
|
"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/com command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
compute ID group-ID temp/com :pre
|
|
|
|
|
|
|
|
ID, group-ID are documented in "compute"_compute.html command
|
|
|
|
temp/com = style name of this compute command :ul
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
|
|
|
compute 1 all temp/com
|
|
|
|
compute myTemp mobile temp/com :pre
|
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
Define a computation that calculates the temperature of a group of
|
|
|
|
atoms, after subtracting out the center-of-mass velocity of the group.
|
|
|
|
This is useful if the group is expected to have a non-zero net
|
|
|
|
velocity for some reason. A compute of this style can be used by any
|
|
|
|
command that computes a temperature,
|
|
|
|
e.g. "thermo_modify"_thermo_modify.html, "fix
|
|
|
|
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
|
|
|
|
|
2009-04-30 00:54:14 +08:00
|
|
|
After the center-of-mass velocity has been subtracted from each atom,
|
|
|
|
the temperature is calculated by the formula KE = dim/2 N k T, where
|
2008-03-06 02:17:18 +08:00
|
|
|
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.
|
|
|
|
|
|
|
|
A 6-component kinetic energy tensor 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 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.
|
|
|
|
|
2008-03-12 00:37:01 +08:00
|
|
|
The removal of the center-of-mass velocity by this fix is essentially
|
|
|
|
computing the temperature after a "bias" has been removed from the
|
|
|
|
velocity of the atoms. If this compute is used with a fix command
|
|
|
|
that performs thermostatting then this bias will be subtracted from
|
|
|
|
each atom, thermostatting of the remaining thermal velocity will be
|
|
|
|
performed, and the bias will be added back in. Thermostatting fixes
|
|
|
|
that work in this way include "fix nvt"_fix_nvt.html, "fix
|
|
|
|
temp/rescale"_fix_temp_rescale.html, "fix
|
|
|
|
temp/berendsen"_fix_temp_berendsen, and "fix
|
|
|
|
langevin"_fix_langevin.html.
|
|
|
|
|
2008-03-06 02:17:18 +08:00
|
|
|
This compute subtracts out 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.
|
|
|
|
|
2008-04-05 05:15:50 +08:00
|
|
|
See "this howto section"_Section_howto.html#4_16 of the manual for a
|
|
|
|
discussion of different ways to compute temperature and perform
|
|
|
|
thermostatting.
|
|
|
|
|
2008-03-06 02:17:18 +08:00
|
|
|
[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:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"compute temp"_compute_temp.html
|
|
|
|
|
|
|
|
[Default:] none
|