VOLT

Atomic Strain

Compute each atom's local deformation gradient and strain relative to a reference frame, with the von Mises shear strain, the volumetric strain and D²min.

Atomic Strain compares each atom's neighborhood in the current frame with the same neighborhood in a reference frame and fits the local deformation that maps one onto the other. It gives a strain tensor per atom, its von Mises shear and volumetric invariants, and D²min, the part of the motion the fit can't explain. Use it to see shear bands in metallic glasses, plastic zones under an indenter or a crack tip, and the onset of plasticity. It works for crystals and amorphous solids alike.

KeyVersionBuilds
atomic-strain2.1.1Linux, macOS, Windows, browser

How it works

For each atom, the plugin takes the neighbors within the cutoff in the reference frame and their bond vectors there and in the current frame. It finds the deformation gradient F that best maps the reference bonds to the current ones by least squares. From F it computes:

  • The Green-Lagrangian strain tensor E = ½(FᵀF − I).
  • The von Mises shear strain, the second invariant of E: √(E_xy² + E_xz² + E_yz² + [(E_xx − E_yy)² + (E_yy − E_zz)² + (E_xx − E_zz)²] / 6).
  • The volumetric strain, (E_xx + E_yy + E_zz) / 3.
  • D²min, the sum over the neighbors of the squared residual of the fit, |r − F r₀|²: the non-affine part of the neighbors' displacements.
  • The polar decomposition F = RU into a rotation R and a stretch U.

An atom with fewer than three neighbors, a degenerate neighborhood, or no counterpart in the reference frame is marked invalid and gets zero strain.

Inputs

  • A reference frame of the same trajectory, with the same atoms. Atoms are matched by their identifier.
  • Atom positions and the simulation cell of both frames.

Arguments

ArgumentTypeDefaultAllowed valuesDescription
Reference Frame referenceframe(none)A timestep of the trajectoryThe undeformed configuration. If you leave it empty, each frame is its own reference and every strain is zero.
Cutoff cutoffnumber3≥ 0, step 0.1Neighbor cutoff in the reference frame. Include at least the first neighbor shell.
Eliminate Cell Deformation eliminate_cell_deformationbooleanfalseRemove the homogeneous deformation of the simulation cell, so only local strain remains.
Assume Unwrapped assume_unwrappedbooleanfalseTreat coordinates as unwrapped and don't apply the minimum image convention to displacements.
Calc Deformation Gradient calc_deformation_gradientbooleantrueWrite the deformation gradient.
Calc Strain Tensors calc_strain_tensorsbooleantrueWrite the strain tensor.
Calc D2min calc_d2minbooleantrueCompute D²min.
Calc Polar Decomposition (R and U tensors) calc_polar_decompbooleantrueWrite the rotation and stretch tensors.

Turning off the four Calc options has no effect in version 2.1.1. VOLT passes a boolean argument to this plugin only when it is on, and the program computes these quantities unless told otherwise.

Outputs

ExposureWhat you get
Atomic StrainA listing with the cutoff, the number of invalid atoms, and the mean shear, mean volumetric and maximum shear strain.
Atomic Strain ModelA listing, and a 3D model of the atoms grouped into VALID and INVALID.

The workflow declares these per-atom properties:

PropertyLabelType
shear_strainShear Straindouble
volumetric_strainVolumetric Straindouble
D2minD²min (Nonaffine Displacement)double
strain_tensorStrain Tensor (6 components)list of doubles
deformation_gradientDeformation Gradient (3×3)list of doubles
rotation_tensorRotation Tensor (3×3)list of doubles
stretch_tensorStretch Tensor (3×3)list of doubles
invalidInvalid Particlebool

Color the canvas by shear_strain or D2min to see where the sample deforms plastically.

Reference

F. Shimizu, S. Ogata, J. Li, "Theory of shear banding in metallic glasses and molecular dynamics calculations", Mater. Trans. 48, 2923 (2007). D²min: M. L. Falk, J. S. Langer, "Dynamics of viscoplastic deformation in amorphous solids", Phys. Rev. E 57, 7192 (1998).

On this page