Syntax:
compute ID group-ID stress/atom
Examples:
compute 1 mobile stress/atom
Description:
Define a computation that computes the per-atom stress tensor for each atom in a group. The 6 components can be output via the dump custom command.
The stress tensor is computed for only pairwise forces where the ab component of stress on atom i is given by
where the first term is a kinetic energy component for atom i, j loops over the N neighbors of atom i, and Fb is one of 3 components of force on atom i due to atom j. Both a and b take on values x,y,z to generate the 6 components of the symmetric tensor.
Note that this formula for stress does not include virial contributions from intra-molecular interactions (e.g. bonds, angles, torsions, etc). Also note that this quantity is the negative of the per-atom pressure tensor. It is also really a stress-volume formulation. It would need to be divided by a per-atom volume to have units of stress, but an individual atom's volume is not easy to compute in a deformed solid. Thus, if you sum the diagonal components of the per-atom stress tensor for all atoms in the system and divide the sum by 3V, where V is the volume of the system, you should get -P, where P is the total pressure of the system.
Computation of per-atom stress tensor components requires a loop thru the neighbor list and inter-processor communication, so it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of a stress/atom style.
Restrictions: none
Related commands: none
Default: none