# compute pair/gran/local command

# compute wall/gran/local command

## Syntax

    compute ID group-ID pair/gran/local general_keywords general_values keywords ...
    compute ID group-ID wall/gran/local general_keywords general_values keywords ...

- ID, group-ID are documented in compute command
- pair/gran/local or wall/gran/local = style name of this compute command
- general_keywords general_values are documented in compute
- zero or more keywords may be appended

    keyword = pos or vel or id or force or torque or history or contactArea or delta:l
      pos = positions of particles in contact (6 values)
      vel = velocities of particles in contact (6 values)
      id = IDs of particles in contact and a periodicity flag (3 values) or IDs of the mesh, the triangle and the particle (3 values)
      force = contact force (3 values)
      force_normal = normal component of contact force (3 values)
      force_tangential = tangential component of contact force (3 values)
      torque = torque divided by particle diameter (3 values)
      history = contact history (# depends on pair style, e.g. 3 shear history values)
      contactArea = area of the contact (1 value)
      contactPoint = contact point (3 value)
      delta = overlap of the contact (1 value)
      heatFlux = conductive heat flux of the contact (1 value)
      ms_id = multisphere IDs of clumps where of particles in contact belong to (in case of wall, second value will be -1) (2 values)

## Examples

    compute 1 all pair/gran/local
    compute 1 all pair/gran/local pos force
    compute 1 all wall/gran/local

## Description

Define a computation that calculates properties of individual pairwise or particle-wall interactions of a granular pair style. The number of datums generated, aggregated across all processors, equals the number of pairwise interactions or particle-wall interactions in the system.

The local data stored by this command is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair are in the specified compute group, and if the current pairwise distance is less than the force cutoff distance for that interaction, as defined by the pair_style and pair_coeff commands.

Warning

For accessing particle-wall contact data, only mesh walls (see `fix mesh`) can be used. For computing particle-wall (compute wall/gran/local), the code will automatically look for a fix wall/gran command that uses mesh walls. The order of the meshes in the fix wall/gran command is called the mesh id (starting with 0), and the triangle id reflects the order of the triangles in the STL/VTK file read via the dedicated fix mesh command. For how to output the trangle id, see “dump mesh/gran/VTK command”dump.html.

The output pos is the particle positions (6 values) in distance units. Keyword vel will do the same for velocities. For computing pairwise data, the output id will be the two particle IDs (using this option requires to use an atom map) and a flag that is 1 for interaction over a periodic boundary and 0 otherwise. For computing particle-wall data, the output id will be the mesh id, the triangle id and the particle id. The output force, force_normal, force_tangential and torque are the total contact force, the normal and tangential components of the contact force, and the torque divided by the particle radius, both in force units. Note that the normal and tangential components are not necessarily exactly equal to the forces added by the normal and tangential model used , but are geometrically composed, using the connection line between the particle centers as normal direction. Note also that the torque does NOT contain any rolling friction torque. The output history will depend on what this history represents, according to the granular pair style used. The output contactArea will output the contact area, in distance^2 units. Note that contactArea is based on an analytic geometric calculation of sphere-sphere or sphere-plane intersection rather than a calculation based on mechanics. This is to ensure that contactArea works with all types of contact models. The contactPoint output will store the point at which contact forces are computed.

The output delta will output the overlap (sum of radii - distance between particle centers) in distance units .The output heatFlux (available only if a `fix heat/gran` is used to compute heat fluxes) will output the per-contact conductive heat flux area, in energy/time units.

Warning

The data associated to the different keywords is output in the following order: pos, vel, id, force, force_normal, force_tangential, torque, history, contactArea, heatFlux, contactPoint. This is independant of the order in which the keywords are specified.

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, pair 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.

Warning

This compute, will, when invoked, issue a call to the pair or wall contact models to calculate what would be the contact forces given the current positions, velocities etc

Since this compute is typically done when output is created (at the end of the time-step), this is not necessarily exactly equal to (with machine precision) the p-p or p-w forces which were calculated within one time-step.

## 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 pairs. 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.

For information on the units of the output, see above.

## Restrictions

Can only be used together with a granular pair style. For accessing particle-wall contact data, only mesh walls can be used.

## Related commands

dump local, compute property/local

## Default

By default, all of the outputs keywords (except force_normal, force_tangential,
  heat flux and delta) are activated,

i.e. when no keyword is used, positions velocities, ids, forces, torques, history and contact area are output.