Strain measurement and analysis
Understanding strain and its effects
When materials experience forces, their internal atomic arrangements deform. This deformation, called strain (\(\varepsilon\)), reveals crucial information about a material’s structure and behavior. Consider bending a metal beam: some parts stretch (\(\varepsilon > 0\)), others compress (\(\varepsilon < 0\)), creating a complex pattern of internal deformation. At the atomic scale, these deformations appear as subtle changes in the spacing (\(d\)) and arrangement of atoms within the crystal lattice.
- What is the main principle behind 4D-STEM strain measurement?
- \[\varepsilon = \frac{d_{\text{strained}} - d_{\text{ref}}}{d_{\text{ref}}} = \frac{g_{\text{ref}} - g_{\text{meas}}}{g_{\text{meas}}} = \frac{\partial u}{\partial x}\]
Mathematical framework
To describe these deformations precisely, we use the strain tensor \(\boldsymbol{\varepsilon}\):
Each element of this tensor represents a distinct type of deformation. Below is a visualization illustrating how each strain component affects a grid of points, simulating the atomic lattice:
- How do you then find the strain tensor from these spot shifts?
We can derive this through several key steps:
First, let’s define the displacement gradient tensor \(\mathbf{D}\). When a crystal deforms, each point moves by a displacement vector \(\mathbf{u}(\mathbf{r})\). The displacement gradient tensor describes how this displacement changes with position:
\[\begin{split}\mathbf{D} = \begin{pmatrix} D_{xx} & D_{xy} \\ D_{yx} & D_{yy} \end{pmatrix} = \begin{pmatrix} \frac{\partial u_x}{\partial x} & \frac{\partial u_x}{\partial y} \\ \frac{\partial u_y}{\partial x} & \frac{\partial u_y}{\partial y} \end{pmatrix}\end{split}\]where \(u_x\) and \(u_y\) are the displacement components in the x and y directions.
The displacement gradient tensor \(\mathbf{D}\) contains both deformation (strain) and rotation:
\[\mathbf{D} = \underbrace{\frac{1}{2}(\mathbf{D} + \mathbf{D}^T)}_{\text{strain }\boldsymbol{\varepsilon}} + \underbrace{\frac{1}{2}(\mathbf{D} - \mathbf{D}^T)}_{\text{rotation }\boldsymbol{\omega}}\]The symmetric part \(\boldsymbol{\varepsilon}\) represents true strain (changes in lengths and angles), while the antisymmetric part \(\boldsymbol{\omega}\) represents rigid-body rotation. In strain analysis, we’re usually interested in the strain part \(\boldsymbol{\varepsilon}\), since rotation doesn’t cause internal deformation.
How can general deformation can be decomposed into pure strain and rotation?
Decomposition of displacement gradient tensor into pure strain (changes in lengths/angles) and pure rotation.
Why do we use \(\frac{1}{2}(\mathbf{D} + \mathbf{D}^T)\) for strain and \(\frac{1}{2}(\mathbf{D} - \mathbf{D}^T)\) for rotation?
Think about what strain and rotation mean physically:
Strain (stretching/compression):
Should be the same whether you measure from left-to-right or right-to-left
Should be the same whether you measure from top-to-bottom or bottom-to-top
This means: swapping any two points should give the same deformation
Mathematically: \(D_{xy} = D_{yx}\) (symmetry)
Rotation:
Moving from left-to-right should be opposite to moving from right-to-left
Moving from top-to-bottom should be opposite to moving from bottom-to-top
This means: swapping two points should reverse the movement
Mathematically: \(D_{xy} = -D_{yx}\) (antisymmetry)
Let’s see why \(\frac{1}{2}(\mathbf{D} + \mathbf{D}^T)\) gives us strain. For any matrix:
The symmetric part \(\boldsymbol{\varepsilon}\) is:
The antisymmetric part \(\boldsymbol{\omega}\) is:
Now, look what happens when we add D and D^T:
In strain (symmetric) parts:
Points moving left-to-right: \(D_{xy}\)
Points moving right-to-left: \(D_{yx}\)
When we add and divide by 2: \(\frac{D_{xy} + D_{yx}}{2}\)
This averages the deformation in both directions → pure strain!
In rotation (antisymmetric) parts:
Points rotating clockwise: \(D_{xy}\)
Points rotating counterclockwise: \(-D_{yx}\)
When we subtract and divide by 2: \(\frac{D_{xy} - D_{yx}}{2}\)
This captures the difference in directions → pure rotation!
The factor of \(\frac{1}{2}\) appears because we’re averaging the effects in both directions.
Simple example: If a point moves: - Right by 2 units (\(D_{xy} = 2\)) - Up by 1 unit (\(D_{yx} = 1\))
Then: - Strain = \(\frac{2 + 1}{2} = 1.5\) (average deformation) - Rotation = \(\frac{2 - 1}{2} = 0.5\) (difference indicating rotation)
The total movement (D) is perfectly split into these two components!
- How do diffraction spot shifts relate to strain?
Real space deformation This displacement gradient tensor \(\mathbf{D}\) relates deformed lattice vectors to reference vectors:
\[\mathbf{a}_i = (\mathbf{I} + \mathbf{D})\mathbf{a}_i^{\text{ref}}\]where \(\mathbf{I}\) is the identity matrix.
Reciprocal lattice relationship The real and reciprocal lattice vectors are connected by:
\[\mathbf{g}_i \cdot \mathbf{a}_j = 2\pi\delta_{ij}\]Apply deformation Substituting the deformed lattice vectors:
\[\mathbf{g}_i \cdot (\mathbf{I} + \mathbf{D})\mathbf{a}_j = 2\pi\delta_{ij}\]In the reference state:
\[\mathbf{g}_i^{\text{ref}} \cdot \mathbf{a}_j^{\text{ref}} = 2\pi\delta_{ij}\]Therefore:
\[\mathbf{g}_i \cdot (\mathbf{I} + \mathbf{D}) = \mathbf{g}_i^{\text{ref}}\]Solve for reciprocal vectors Multiply both sides by \((\mathbf{I} + \mathbf{D})^{-1}\):
\[\mathbf{g}_i = \mathbf{g}_i^{\text{ref}}(\mathbf{I} + \mathbf{D})^{-1}\]Linearize for small strains For the small deformations typical in 4D-STEM:
\[(\mathbf{I} + \mathbf{D})^{-1} \approx (\mathbf{I} - \mathbf{D})\]Thus:
\[\boxed{\mathbf{g}_i = (\mathbf{I} - \mathbf{D}^T)\mathbf{g}_i^{\text{ref}}}\]
Why is inverse approximation \((\mathbf{I} + \mathbf{D})^{-1} \approx (\mathbf{I} - \mathbf{D})\) true for small strains?
Think about a simple scalar example first. For any \(|x| < 1\):
This is because (1+x)(1-x+x²-x³+…) = 1. The same idea works for matrices:
In 4D-STEM, strain is typically tiny (0.1-1%), so if we plug in a number:
- For 1% strain (\(\|\mathbf{D}\| \approx 0.01\)):
First order: \(\|\mathbf{D}\| \approx 10^{-2}\)
Second order: \(\|\mathbf{D}^2\| \approx 10^{-4}\) (100× smaller)
Third order: \(\|\mathbf{D}^3\| \approx 10^{-6}\) (10000× smaller)
Given these rapidly decreasing magnitudes, we can confidently approximate:
The error from this approximation is on the order of \(\|\mathbf{D}^2\| \approx 10^{-4}\), which is negligible for strain analysis.
- What’s the step-by-step process in 4D-STEM strain measurement?
Collect reference pattern
Choose an unstrained region and identify two strong diffraction spots that correspond to reciprocal lattice vectors:
\[\begin{split}\mathbf{g}_1^{\text{ref}} &= \begin{pmatrix} 2.0 \\ 0.0 \end{pmatrix} \text{ nm}^{-1} \\ \mathbf{g}_2^{\text{ref}} &= \begin{pmatrix} 0.0 \\ 2.0 \end{pmatrix} \text{ nm}^{-1}\end{split}\]Measure strained spots
For each scan position, record the diffraction spot positions in the strained state:
\[\begin{split}\mathbf{g}_1^{\text{meas}} &= \begin{pmatrix} 1.98 \\ 0.02 \end{pmatrix} \text{ nm}^{-1} \\ \mathbf{g}_2^{\text{meas}} &= \begin{pmatrix} -0.02 \\ 2.02 \end{pmatrix} \text{ nm}^{-1}\end{split}\]Calculate spot displacements
Find the difference between measured and reference positions (\(\Delta\mathbf{g} = \mathbf{g}^{\text{meas}} - \mathbf{g}^{\text{ref}}\)):
\[\begin{split}\Delta\mathbf{g}_1 &= \begin{pmatrix} -0.02 \\ 0.02 \end{pmatrix} \text{ nm}^{-1} \\ \Delta\mathbf{g}_2 &= \begin{pmatrix} -0.02 \\ 0.02 \end{pmatrix} \text{ nm}^{-1}\end{split}\]Derive the linear system
To solve for \(\mathbf{D}\), let’s derive how the spot shifts relate to the displacement gradient. For any measured spot \(\mathbf{g}^{\text{meas}}\):
\[\mathbf{g}^{\text{meas}} = (\mathbf{I} - \mathbf{D}^T)\mathbf{g}^{\text{ref}}\]Writing this out in components for a single spot:
\[\begin{split}\begin{pmatrix} g_x^{\text{meas}} \\ g_y^{\text{meas}} \end{pmatrix} = \begin{pmatrix} 1-D_{xx} & -D_{yx} \\ -D_{xy} & 1-D_{yy} \end{pmatrix} \begin{pmatrix} g_x^{\text{ref}} \\ g_y^{\text{ref}} \end{pmatrix}\end{split}\]Multiply this out:
\[\begin{split}g_x^{\text{meas}} &= (1-D_{xx})g_x^{\text{ref}} - D_{yx}g_y^{\text{ref}} \\ g_y^{\text{meas}} &= -D_{xy}g_x^{\text{ref}} + (1-D_{yy})g_y^{\text{ref}}\end{split}\]Rearranging to get spot shifts \(\Delta g = g^{\text{meas}} - g^{\text{ref}}\):
\[\begin{split}\Delta g_x &= -D_{xx}g_x^{\text{ref}} - D_{yx}g_y^{\text{ref}} \\ \Delta g_y &= -D_{xy}g_x^{\text{ref}} - D_{yy}g_y^{\text{ref}}\end{split}\]For two spots (\(\mathbf{g}_1\) and \(\mathbf{g}_2\)), this gives us four equations:
\[\begin{split} \begin{pmatrix} \Delta g_{1x} \\ \Delta g_{1y} \\ \Delta g_{2x} \\ \Delta g_{2y} \end{pmatrix} = \begin{pmatrix} -g_{1x}^{\text{ref}} & 0 & -g_{1y}^{\text{ref}} & 0 \\ 0 & -g_{1x}^{\text{ref}} & 0 & -g_{1y}^{\text{ref}} \\ -g_{2x}^{\text{ref}} & 0 & -g_{2y}^{\text{ref}} & 0 \\ 0 & -g_{2x}^{\text{ref}} & 0 & -g_{2y}^{\text{ref}} \end{pmatrix} \begin{pmatrix} D_{xx} \\ D_{xy} \\ D_{yx} \\ D_{yy} \end{pmatrix}\end{split}\]Solve for displacement gradient
Invert the system to find the displacement gradient tensor \(\mathbf{D}\):
\[\begin{split}\mathbf{D} = \begin{pmatrix} D_{xx} & D_{xy} \\ D_{yx} & D_{yy} \end{pmatrix} = \begin{pmatrix} 0.01 & -0.01 \\ -0.01 & -0.01 \end{pmatrix}\end{split}\]Calculate strain tensor
The strain tensor \(\boldsymbol{\varepsilon}\) is the symmetric part of \(\mathbf{D}\):
\[\begin{split}\boldsymbol{\varepsilon} = \frac{1}{2}(\mathbf{D} + \mathbf{D}^T) = \begin{pmatrix} 0.01 & -0.01 \\ -0.01 & -0.01 \end{pmatrix}\end{split}\]This gives us:
Normal strain \(\varepsilon_{xx} = 0.01\) (1% tensile strain in x)
Normal strain \(\varepsilon_{yy} = -0.01\) (1% compressive strain in y)
Shear strain \(\varepsilon_{xy} = \varepsilon_{yx} = -0.01\) (1% shear)