Skip to content

Geometric Nonlinearities

When deformations in a material are significant, the influence of the changing geometry on the equilibrium equations can no longer be neglected. These effects are termed geometric nonlinearities. While often associated with strains exceeding a few percent, geometric nonlinearities also arise from large rigid-body rotations even if the strains remain small (e.g., in slender structures).

Analyses capturing these effects are referred to as large strain or finite strain analyses. In numgeo, this is activated by flagging large deformations (adding nlgeom to the step definition). In such cases, the system stiffness becomes a function of the displacements, changing as the body changes shape or rotates.

Deformation gradient

The theory of large strain computations is established by defining basic physical quantities (motion and deformation) and their corresponding mathematical relationships. The applied loads acting on a body cause it to move from one position to another. This motion is defined by tracking position vectors in the “deformed” (current) and “undeformed” (reference) configurations.

Let the position vectors in the “deformed” and “undeformed” states be represented by \(\boldsymbol{x}\) and \(\boldsymbol{X}\) respectively. The motion (displacement) vector \(\boldsymbol{u}\) is defined as:

\[ \boldsymbol{u} = \boldsymbol{x} - \boldsymbol{X} \]

The deformation gradient \(\boldsymbol{F}\) maps infinitesimal vectors from the reference configuration (time \(t=0\)) to the current configuration:

\[ \boldsymbol{F} = \dfrac{\partial \boldsymbol{x}}{\partial \boldsymbol{X}} \]

The information contained in the deformation gradient \(\boldsymbol{F}\) includes the volume change, the rotation, and the shape change of the deforming body. The local volume change is calculated from the determinant of \(\boldsymbol{F}\):

\[ J = \dfrac{d V}{d V_0}=\det(\boldsymbol{F}) \]

The rotation and shape change contributions of \(\boldsymbol{F}\) are decoupled using the right polar decomposition theorem:

\[ \boldsymbol{F} = \boldsymbol{R}\boldsymbol{U} \]

where \(\boldsymbol{R}\) is the orthogonal rotation matrix and \(\boldsymbol{U}\) is the symmetric right stretch (shape change) matrix.

Incremental Update

In large deformation analysis, the total deformation gradient is typically computed incrementally. The incremental deformation gradient \(\boldsymbol{f}\) (relating the configuration at time \(t\) to time \(t+\Delta t\)) is defined as:

\[ \boldsymbol{f} = \boldsymbol{I} + \dfrac{\partial \Delta \boldsymbol{u}}{\partial \boldsymbol{x}^t} \]

where \(\boldsymbol{I}\) is the identity matrix and \(\partial \Delta \boldsymbol{u} / \partial \boldsymbol{x}^t\) is the gradient of the displacement increment with respect to the geometry at the start of the increment.

The total deformation gradient is then updated multiplicatively:

\[ \boldsymbol{F}^{t+\Delta t} = \boldsymbol{f} \cdot \boldsymbol{F}^t \]

This ensures that \(\boldsymbol{F}\) always correctly relates the current deformed geometry to the original undeformed reference state.

Stress update

The nlgeom procedure in numgeo differs depending on the constitutive formulation. Specifically, distinct approaches are used for general materials (rate/incremental form) versus hyperelastic materials (total form):

Geometric Stiffness

The geometric stiffness accounts for the effect of existing stresses on the equilibrium equations during deformation. It is defined as:

\[ \boldsymbol{K}^{geo} = \int_V \boldsymbol{G}^T \boldsymbol{\tau} \boldsymbol{G}~\text{d} v \]

where:

  • \(\boldsymbol{G}\) is the matrix of shape function derivatives with respect to current coordinates (\(\partial \boldsymbol{N}/\partial \boldsymbol{x}\)).
  • \(\boldsymbol{\tau}\) is the matrix form of the current Cauchy stresses \(\boldsymbol{\sigma}^{t+\Delta t}\).

For a standard continuum element, \(\boldsymbol{\tau}\) is constructed such that \(\boldsymbol{G}^T \boldsymbol{\tau} \boldsymbol{G}\) represents the term \(\nabla \boldsymbol{N} \cdot \boldsymbol{\sigma} \cdot (\nabla \boldsymbol{N})^T\) in the weak form.