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

compute rheo/property/atom command

Syntax

compute ID group-ID rheo/property/atom input1 input2 ...
  • ID, group-ID are documented in compute command

  • rheo/property/atom = style name of this compute command

  • input = one or more atom attributes

    possible attributes = phase, surface, surface/r,
                          surface/divr, surface/n/a, coordination,
                          shift/v/a, energy, temperature, heatflow,
                          conductivity, cv, viscosity, pressure, rho,
                          grad/v/ab, stress/v/ab, stress/t/ab, nbond/shell
    
    phase = atom phase state
    surface = atom surface status
    surface/r = atom distance from the surface
    surface/divr = divergence of position at atom position
    surface/n/a = a-component of surface normal vector
    coordination = coordination number
    shift/v/a = a-component of atom shifting velocity
    energy = atom energy
    temperature = atom temperature
    heatflow = atom heat flow
    conductivity = atom conductivity
    cv = atom specific heat
    viscosity = atom viscosity
    pressure = atom pressure
    rho = atom density
    grad/v/ab = ab-component of atom velocity gradient tensor
    stress/v/ab = ab-component of atom viscous stress tensor
    stress/t/ab = ab-component of atom total stress tensor (pressure and viscous)
    nbond/shell = number of oxide bonds

Examples

compute 1 all rheo/property/atom phase surface/r surface/n/* pressure
compute 2 all rheo/property/atom shift/v/x grad/v/xx stress/v/*

Description

Added in version 29Aug2024.

Define a computation that stores atom attributes specific to the RHEO package for each atom in the group. This is useful so that the values can be used by other output commands that take computes as inputs. See for example, the compute reduce, fix ave/atom, fix ave/histo, fix ave/chunk, and atom-style variable commands.

For vector attributes, e.g. shift/v/\(\alpha\), one must specify \(\alpha\) as the x, y, or z component, e.g. shift/v/x. Alternatively, a wild card * will include all components, x and y in 2D or x, y, and z in 3D.

For tensor attributes, e.g. grad/v/\(\alpha \beta\), one must specify both \(\alpha\) and \(\beta\) as x, y, or z, e.g. grad/v/xy. Alternatively, a wild card * will include all components. In 2D, this includes xx, xy, yx, and yy. In 3D, this includes xx, xy, xz, yx, yy, yz, zx, zy, and zz.

Many properties require their respective fixes, listed below in related commands, be defined. For instance, the viscosity attribute is the viscosity of a particle calculated by fix rheo/viscosity. The meaning of less obvious properties is described below.

The phase property indicates whether the particle is in a fluid state, a value of 0, or a solid state, a value of 1.

The surface property indicates the surface designation produced by the interface/reconstruct option of fix rheo. Bulk particles have a value of 0, surface particles have a value of 1, and splash particles have a value of 2. The surface/r property is the distance from the surface, up to the kernel cutoff length. Surface particles have a value of 0. The surface/n/\(\alpha\) properties are the components of the surface normal vector.

The shift/v/\(\alpha\) properties are the components of the shifting velocity produced by the shift option of fix rheo.

The nbond/shell property is the number of shell bonds that have been activated from bond style rheo/shell.

The values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group or for quantities that are not defined for a particular particle in the group

Output info

This compute calculates a per-atom vector or per-atom array depending on the number of input values. Generally, if a single input is specified, a per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. However, if a wild card * is used for a vector or tensor, then the number of inputs is considered to be incremented by the dimension or the dimension squared, respectively. The vector or array can be accessed by any command that uses per-atom values from a compute as input. See the Howto output page for an overview of LAMMPS output options.

The vector or array values will be in whatever units the corresponding attribute is in (e.g., density units for rho).

Restrictions

none

Default

none