# Atomic strain

This modifier calculates the atomic-level strain tensors based on two configurations of the system. See [Falk, Langer, Phys. Rev. E 57 (1998), 7192] and [Shimizu, Ogata, Li, Mater. Trans. 48 (2007), 2923] for a description of how the per-particle deformation tensors are calculated by OVITO.

The data set to which the modifier is applied is considered the current (=deformed) configuration of the system. The reference (=initial) configuration of the system is loaded from a separate input file by the modifier.

OVITO calculates the local deformation gradient tensor F for each particle from the relative displacements of the particle's neighbors within the given cutoff radius. Note that this set of neighbors is determined in the initial configuration for each particle. At least three non-coplanar neighbors are required to calculate F for a central particle. Thus, the calculation will fail for isolated or undercoordinated particles. The modifier can select those invalid particles in the output for diagnostic purposes.

After calculating the atomic deformation gradient tensor F, the Green-Lagrangian strain tensor E=1/2(FTF-I) is derived from it. The modifier also calculates the von Mises local shear invariant and the volumetric (hydrostatic) part of the strain tensor and outputs these scalar quantities as particle properties.

The modifier can output the residual of the deformation gradient calculation. This is a measure for the non-affine part of the local deformation and was termed D2 min by Falk & Langer. This measure was used by these authors as a diagnostic for identifying local irreversible shear transformations in amorphous solids.

The atomic deformation gradient F can be decomposed into the matrix product F=RU with R being a rotation matrix and U the right stretch tensor. U is symmetric positive definite. The local rotation R is output by the modifier as a particle property named `Rotation`, which is encoded as a quaternion with four components `X`, `Y`, `Z`, and `W`. From this, the angle of rotation in radians can be obtained with the formula 2*acos(Rotation.W), e.g., using the Compute Property modifier.

Use the "Reference: External file" panel to pick the file containing the initial particle positions. Note that this reference file must contain the same set of particles as the current configuration received by the modifier from the upstream part of the modification pipeline. That means you should not delete particles before applying the Atomic strain modifier and the analysis modifier should be usually placed at the beginning of the processing pipeline.

To calculate the displacement of a given particle in the current configuration, the modifier needs to find the corresponding particle in the reference configuration of the system. If particles possess unique IDs (i.e. the `Particle Identifier` property is present), the modifier will use this information to map particles from the reference configuration to the current configuration and vice versa. If no particle IDs are defined, the modifier assumes that particles have the same ordering in both configurations.

Note that OVITO assumes particle positions to be column vectors. Some programs such as AtomEye use a different convention and assume them to be row vectors.

## Parameters

Cutoff radius

  Controls the range of neighbors that are taken into account to compute the deformation gradient tensor of a particle. This radius must be large enough to include at least three non-coplanar neighbors for every particle in the reference configuration. The larger the cutoff, the larger the volume over which the local deformation gradient tensor is averaged.

Eliminate homogeneous cell deformation

  This option lets the modifier first rescale the current simulation cell including all particle coordinates to match the cell shape in the reference configuration before calculating the deformation tensors. This effectively eliminates any macroscopic, homogeneous deformation of the simulation cell, and the calculated deformation tensors will reflect only the internal, microscopic displacements of particles.

Assume unwrapped coordinates

  This only affects the treatment of simulation cells with periodic boundary conditions. If activated, the particle coordinates in the reference and the current configuration are taken as is. If this option is not active, the minimum image convention is used to deal with particles that have crossed a periodic boundary.

Output deformation gradient tensors

  If activated, the modifier stores the nine components of the calculated per-particle deformation gradient tensors in an output property. Turn this off to save memory if you do not need the complete deformation gradient tensors.

Output strain tensors

  If activated, the modifier stores the six components of the calculated per-particle strain tensors in an output property. Turn this off to save memory if you do not need the complete strain tensor tensors.

Output non-affine squared displacements

  If activated, the modifier computes the non-affine displacements in an output property. This is the residual of the least squares fit of the deformation gradient tensor (i.e. the D2 min property of Falk & Langer). Turn this off to save memory if you do not need non-affine displacements.

Output rotations

  If activated, the modifier outputs a particle property named `Rotation` with the local (micro)rotations obtained from the polar decomposition F=RU of the atomic deformation gradient. The rotation matrix R is converted to a quaternion representation for output.

Output stretch tensors

  If activated, the modifier outputs a particle property named `Stretch Tensor` with the U tensors obtained from the polar decomposition F=RU of the atomic deformation gradient. The symmetric matrix U is converted to a six-component representation for output.

Select invalid particles

  If activated, the modifier selects those particles for which it could not calculate the local deformation gradient and strain tensors (due to too few neighbors within the cutoff radius).

Fixed reference configuration

  If this option is active, the selected animation frame from the reference simulation sequence is used as a fixed reference to calculate the displacement vectors. This is the default mode.

Relative to current frame

  If this option is active, then a changing reference configuration is used to calculate the displacement vectors. This allows computing incremental displacement vectors (similar to discrete velocity vectors). The frame offset controls the distance between reference and current frame and can be negative or positive. If it is negative, then the reference frame precedes the current frame in the simulation sequence. Note that the displacement vectors will not be computed for simulation frames for which the resulting reference frame is negative or out of range.