"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 command :h3

[Syntax:]

compute ID group-ID style args :pre

ID = user-assigned name for the computation
group-ID = ID of the group of atoms to perform the computation on
style = one of a list of possible style names (see below)
args = arguments used by a particular style :ul

[Examples:]

compute 1 all temp
compute newtemp flow temp/partial 1 1 0
compute 3 all ke/atom :pre

[Description:]

Create a computation that will be performed on a group of atoms.
Quantities calculated by a compute are instantaneous values, meaning
they are calculated from information about atoms on the current
timestep or iteration.  There are two kinds of computes, "global"
computes that calculate one or more values for the entire group of
atoms, and "per-atom" computes that calculate one or more values for
each atom in the group.  The latter has the word "atom" in its style
name.

In LAMMPS, a "compute" can be used in several ways.  The results of
global computes can be output via the "thermo_style
custom"_thermo_style.html or "fix ave/time"_fix_ave_time.html command.
Or the values can be referenced in a "variable equal"_variable.html or
"variable atom"_variable.html command.  The results of computes that
calculate a global temperature or pressure can be used by fixes that
do thermostatting or barostatting and when atom velocities are
created.

The results of per-atom computes can be output via the "dump
custom"_dump.html command or the "fix
ave/spatial"_fix_ave_spatial.html command.  Or the per-atom values can
be time-averaged via the "fix ave/atom"_fix_ave_atom.html command and
then output via the "dump custom"_dump.html or "fix
ave/spatial"_fix_ave_spatial.html commands.  Or the per-atom values
can be referenced in a "variable atom"_variable.html command.  Note
that the value of per-atom computes will be 0.0 for atoms not in the
specified compute group.

See this "howto section"_Section_howto.html#4_15 for a summary of
various LAMMPS output options, many of which involve computes.

The ID of a compute can only contain alphanumeric characters and
underscores.

The results of computes that calculate global quantities can be either
"intensive" or "extensive" values.  Intensive means the value is
independent of the number of atoms in the simulation,
e.g. temperature.  Extensive means the value scales with the number of
atoms in the simulation, e.g. total rotational kinetic energy.
"Thermodynamic output"_thermo_style.html will normalize extensive
values depending on the "thermo_modify norm" setting.  But if a
compute value is accessed in another way, e.g. by a
"variable"_variable.html, you may need to know whether it is an
intensive or extensive value.  See the doc page for individual
computes for further info.

LAMMPS creates its own global computes for thermodynamic output.
Three computes are always created, named "thermo_temp",
"thermo_press", and "thermo_pe", as if these commands had been invoked
in the input script:

compute thermo_temp all temp
compute thermo_press all pressure thermo_temp
compute thermo_pe all pe :pre

Additional computes for other quantities are created if the thermo
style requires it.  See the documentation for the
"thermo_style"_thermo_style.html command.

Fixes that calculate temperature or pressure, i.e. for thermostatting
or barostatting, may also create computes.  These are discussed in the
documentation for specific "fix"_fix.html commands.

In all these cases, the default computes can be replaced by computes
defined by the user in the input script, as described by the
"thermo_modify"_thermo_modify.html and "fix modify"_fix_modify.html
commands.

Properties of either a default or user-defined compute can be modified
via the "compute_modify"_compute_modify.html command.

Computes can be deleted with the "uncompute"_uncompute.html command.

Code for new computes can be added to LAMMPS (see "this
section"_Section_modify.html of the manual) and the results of their
calculations accessed in the various ways described above.

Each compute style has its own doc page which describes its arguments
and what it does.  Here is an alphabetic list of compute styles
available in LAMMPS:

"centro/atom"_compute_centro_atom.html - centro-symmetry parameter for each atom
"cna/atom"_compute_cna_atom.html - common neighbor analysis (CNA) for each atom
"coord/atom"_compute_coord_atom.html - coordination number for each atom
"damage/atom"_compute_damage_atom.html - Peridynamic damage for each atom
"displace/atom"_compute_displace_atom.html - displacement of each atom
"erotate/asphere"_compute_erotate_asphere.html - rotational energy of aspherical particles
"erotate/sphere"_compute_erotate_sphere.html - rotational energy of spherical particles
"group/group"_compute_group_group.html - energy/force between two groups of atoms
"ke"_compute_ke.html - translational kinetic energy
"ke/atom"_compute_ke_atom.html - kinetic energy for each atom
"pe"_compute_pe.html - potential energy
"pe/atom"_compute_pe_atom.html - potential energy for each atom
"pressure"_compute_pressure.html - total pressure and pressure tensor
"reduce"_compute_reduce.html - combine per-atom quantities into a single global value
"reduce/region"_compute_reduce.html - same as compute reduce, within a region
"stress/atom"_compute_stress_atom.html - stress tensor for each atom
"temp"_compute_temp.html - temperature of group of atoms
"temp/asphere"_compute_temp_asphere.html - temperature of aspherical particles
"temp/com"_compute_temp_com.html - temperature after subtracting center-of-mass velocity
"temp/deform"_compute_temp_deform.html - temperature excluding box deformation velocity
"temp/partial"_compute_temp_partial.html - temperature excluding one or more dimensions of velocity
"temp/profile"_compute_temp_profile.html - temperature excluding a binned velocity profile
"temp/ramp"_compute_temp_ramp.html - temperature excluding ramped velocity component
"temp/region"_compute_temp_region.html - temperature of a region of atoms
"temp/sphere"_compute_temp_sphere.html - temperature of spherical particles :ul

There are also additional compute styles submitted by users which are
included in the LAMMPS distribution.  The list of these with links to
the individual styles are given in the compute section of "this
page"_Section_commands.html#3_5.

[Restrictions:] none

[Related commands:]

"uncompute"_uncompute.html, "compute_modify"_compute_modify.html, "fix
ave/atom"_fix_ave_atom.html, "fix ave/spatial"_fix_ave_spatial.html,
"fix ave/time"_fix_ave_time.html

[Default:] none
