# compute body/local command ## Syntax ``` LAMMPS compute ID group-ID body/local input1 input2 ... ``` - ID, group-ID are documented in [compute](compute) command - body/local = style name of this compute command - one or more keywords may be appended - keyword = *id* or *type* or *integer* *id* = atom ID of the body particle *type* = atom type of the body particle *integer* = 1,2,3,etc = index of fields defined by body style ## Examples ``` LAMMPS compute 1 all body/local type 1 2 3 compute 1 all body/local 3 6 ``` ## Description Define a computation that calculates properties of individual body sub-particles. The number of data generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as explained below. See the [Howto body](Howto_body) page for more details on using body particles. The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If the atom is a body particle, then its $N$ sub-particles will be looped over, and it will contribute $N$ data to the count of data. If it is not a body particle, it will contribute 1 datum. For both body particles and non-body particles, the *id* keyword will store the ID of the particle. For both body particles and non-body particles, the *type* keyword will store the type of the particle. The *integer* keywords mean different things for body and non-body particles. If the atom is not a body particle, only its *x*, *y*, *z* coordinates can be referenced, using the *integer* keywords 1,2,3. Note that this means that if you want to access more fields than this for body particles, then you cannot include non-body particles in the group. For a body particle, the *integer* keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified by the [atom_style body](atom_style), determines how many fields exist and what they are. See the [Howto_body](Howto_body) doc page for details of the different styles. Here is an example of how to output body information using the [dump local](dump) command with this compute. If fields 1, 2, and 3 for the body sub-particles are (*x*, *y*, *z*) coordinates, then the dump file will be formatted similar to the output of a [dump atom or custom](dump) command. ``` LAMMPS compute 1 all body/local type 1 2 3 dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] ``` ## 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 data as described above. 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 the [Howto output](Howto_output) page for an overview of LAMMPS output options. The [units](units) for output values depend on the body style. ## Restrictions > none ## Related commands [dump local](dump) ## Default none