\(\renewcommand{\AA}{\text{Å}}\)

# compute com/chunk command

## Syntax

    compute ID group-ID com/chunk chunkID keyword args ...

- ID, group-ID are documented in compute command

- com/chunk = style name of this compute command

- chunkID = ID of compute chunk/atom command

- zero or more keyword/value pairs may be appended

- keyword = wrap

      wrap logical = wrap center of mass back to cell if argument is yes, true, on or 1, otherwise do not (default)

## Examples

    compute 1 fluid com/chunk molchunk
    compute 1 all com/chunk molchunk wrap on

## Description

Define a computation that calculates the center-of-mass for multiple chunks of atoms.

In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the compute chunk/atom and Howto chunk doc pages for details of how chunks can be defined and examples of how they can be used to measure properties of a system.

This compute calculates the \((x,y,z)\) coordinates of the center of mass for each chunk, which includes all effects due to atoms passing through periodic boundaries.

Added in version 11Feb2026.

If the wrap flag is used with an argument of yes, true, on or 1 the computed center of mass is wrapped back into the simulation cell. With an argument of no, false, off or 0 it is not (the default).

Note that only atoms in the specified group contribute to the calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the “all” group for this command if you simply want to include atoms with non-zero chunk IDs.

Note

The coordinates of an atom contribute to the chunk’s center-of-mass in “unwrapped” form, by using the image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g., to 0) before invoking this compute by using the reset_atoms image or set image commands.

The simplest way to output the results of the compute com/chunk calculation to a file is to use the fix ave/time command, for example:

    compute cc1 all chunk/atom molecule
    compute myChunk all com/chunk cc1
    fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector

## Output info

This compute calculates a global array where the number of rows = the number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns is 3 for the \((x,y,z)\) center-of-mass coordinates of each chunk. These values can be accessed by any command that uses global array values from a compute as input. See the Howto output doc page for an overview of LAMMPS output options.

The array values are “intensive”. The array values will be in distance units.

## Restrictions

none

## Related commands

compute com

## Default

wrap = off