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.
| Key | Version | Builds |
|---|---|---|
atomic-strain | 2.1.1 | Linux, 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
| Argument | Type | Default | Allowed values | Description |
|---|---|---|---|---|
Reference Frame reference | frame | (none) | A timestep of the trajectory | The undeformed configuration. If you leave it empty, each frame is its own reference and every strain is zero. |
Cutoff cutoff | number | 3 | ≥ 0, step 0.1 | Neighbor cutoff in the reference frame. Include at least the first neighbor shell. |
Eliminate Cell Deformation eliminate_cell_deformation | boolean | false | Remove the homogeneous deformation of the simulation cell, so only local strain remains. | |
Assume Unwrapped assume_unwrapped | boolean | false | Treat coordinates as unwrapped and don't apply the minimum image convention to displacements. | |
Calc Deformation Gradient calc_deformation_gradient | boolean | true | Write the deformation gradient. | |
Calc Strain Tensors calc_strain_tensors | boolean | true | Write the strain tensor. | |
Calc D2min calc_d2min | boolean | true | Compute D²min. | |
Calc Polar Decomposition (R and U tensors) calc_polar_decomp | boolean | true | Write 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
| Exposure | What you get |
|---|---|
| Atomic Strain | A listing with the cutoff, the number of invalid atoms, and the mean shear, mean volumetric and maximum shear strain. |
| Atomic Strain Model | A listing, and a 3D model of the atoms grouped into VALID and INVALID. |
The workflow declares these per-atom properties:
| Property | Label | Type |
|---|---|---|
shear_strain | Shear Strain | double |
volumetric_strain | Volumetric Strain | double |
D2min | D²min (Nonaffine Displacement) | double |
strain_tensor | Strain Tensor (6 components) | list of doubles |
deformation_gradient | Deformation Gradient (3×3) | list of doubles |
rotation_tensor | Rotation Tensor (3×3) | list of doubles |
stretch_tensor | Stretch Tensor (3×3) | list of doubles |
invalid | Invalid Particle | bool |
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).