Green-Lagrange Strain¶
The Green-Lagrange strain tensor (\(\mathbf{E}\)) is a finite strain measure suitable for large displacements and rotations. It is defined in the reference (material) configuration.
Unlike Cauchy strain, it accounts for geometric non-linearities (such as the stretching of a rotated element).
Theory¶
It is derived from the Right Cauchy-Green deformation tensor \(\mathbf{C}\):
Where \(\mathbf{F} = \mathbf{I} + \nabla \mathbf{u}\) is the deformation gradient.
Component Formulation¶
When expanded in 2D cartesian coordinates, the components include the quadratic terms of the displacement gradients:
- where
\(u\): displacement in x-direction
\(v\): displacement in y-direction
\(\frac{\partial u}{\partial x}\): the partial derivative of the displacement field along x (\(\mathbf{u}\)) with respect to the spatial coordinate \(x\),
\(\frac{\partial v}{\partial y}\): the partial derivative of the displacement field along y (\(\mathbf{v}\)) with respect to the spatial coordinate \(y\),
\(\frac{\partial u}{\partial y}\): the partial derivative of the displacement field along y (\(\mathbf{u}\)) with respect to the spatial coordinate \(y\),
\(\frac{\partial v}{\partial x}\): the partial derivative of the displacement field along x (\(\mathbf{v}\)) with respect to the spatial coordinate \(x\),
Python Implementation¶
import numpy as np
def compute_strain_green_lagrange(disp_x, disp_y, dx, dy):
"""
Compute Green-Lagrange Strain (Large Strain).
Assumes indexing='ij' (axis 0 is x, axis 1 is y).
"""
# 1. Compute Gradients
grad_u = np.gradient(disp_x, dx, dy)
du_dx, du_dy = grad_u[0], grad_u[1] # u_x, u_y
grad_v = np.gradient(disp_y, dx, dy)
dv_dx, dv_dy = grad_v[0], grad_v[1] # v_x, v_y
# 2. Compute Strain Components (Corrected for cross-terms)
# Exx uses derivatives w.r.t X only (u_x and v_x)
E_xx = du_dx + 0.5 * (du_dx**2 + dv_dx**2)
# Eyy uses derivatives w.r.t Y only (u_y and v_y)
E_yy = dv_dy + 0.5 * (du_dy**2 + dv_dy**2)
# Exy mixes terms
E_xy = 0.5 * (du_dy + dv_dx + (du_dx * du_dy) + (dv_dx * dv_dy))
return E_xx, E_yy, E_xy
References¶
Nonlinear Solid Mechanics: A Continuum Approach for Engineering, G. Holzapfel.