# compute bond/local command

## Syntax

    compute ID group-ID bond/local general_keyword general_values input1 input2 ...

- ID, group-ID are documented in compute command
- bond/local = style name of this compute command
- general_keywords general_values are documented in compute
- one or more keywords may be appended
- keyword = dist or eng

    dist = bond distance
    eng = bond energy
    force = bond force

## Examples

    compute 1 all bond/local eng
    compute 1 all bond/local dist eng force

## Description

Define a computation that calculates properties of individual bond interactions. The number of datums generated, aggregated across all processors, equals the number of bonds in the system, modified by the group parameter as explained below.

The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be included if both atoms in the bond are in the specified compute group. Any bonds that have been broken (see the bond_style command) by setting their bond type to 0 are not included. Bonds that have been turned off (see the `fix shake` or delete_bonds commands) by setting their bond type negative are written into the file, but their energy will be 0.0.

Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. For example, bond output from the compute property/local command can be combined with data from this command and output by the dump local command in a consistent way.

Here is an example of how to do this:

    compute 1 all property/local batom1 batom2 btype
    compute 2 all bond/local dist eng
    dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2]

## Output info

This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of bonds. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. See this section for an overview of LIGGGHTS(R)-PUBLIC output options.

The output for dist will be in distance units. The output for eng will be in energy units. The output for force will be in force units.

## Restrictions

> none

## Related commands

dump local, compute property/local

Default: none