Skip to content

Discretization of Internal Virtual Work

The virtual-work equation at time \(t + \Delta t\) presented in Framework of Incremental Analysis takes two forms, the Updated Lagrange and Total Lagrange formulations, depending on the choice of reference configuration. In this chapter, the finite element approximation introduced in Shape Functions and Finite Element Approximation and Spatial Derivatives of Shape Functions is used to spatially discretize the internal virtual work of both formulations and obtain the element internal-force vectors \(\boldsymbol{q}^e\) (UL) and \(\boldsymbol{Q}^e\) (TL).

For element \(e\), let the constituent nodes be \(\alpha = 1, \ldots, n_e\); let the displacements be \(\boldsymbol{u}^e_\alpha\), and arrange the element nodal displacement vector as \(\boldsymbol{u}^e = (\boldsymbol{u}^{eT}_1, \ldots, \boldsymbol{u}^{eT}_{n_e})^T\). The virtual displacement \(\delta \boldsymbol{u}^e\) is defined in the same order. The displacement within the element is interpolated by the shape functions as \(\boldsymbol{u} = \sum_\alpha N_\alpha^e \boldsymbol{u}^e_\alpha\).

Internal Virtual Work in the Updated Lagrange Formulation

In the Updated Lagrange formulation, at time \(t\) the current configuration \({}^{t}\Omega\) is used as the reference configuration, and the internal virtual work is written in terms of the Cauchy stress \(\boldsymbol{\sigma}\) and the linear part of the Almansi strain \(\boldsymbol{A}_{(L)}\) as

\[ \delta W^{\mathrm{int}} = \sum_e \int_{\Omega^e} \boldsymbol{\sigma} : \delta \boldsymbol{A}_{(L)}\, dv \]

Each component of \(\delta \boldsymbol{A}_{(L)}\) can be expressed, using the current-configuration coordinates \(\boldsymbol{x}\), as a linear combination of the shape-function derivatives \(\partial N_\alpha^e/\partial x_i\) and the nodal virtual displacements \(\delta u^e_{i\alpha}\). In Voigt notation, this can be collected as

\[ \delta \boldsymbol{A}_{(L)} = \boldsymbol{B}_L\, \delta \boldsymbol{u}^e, \qquad \boldsymbol{B}_L = [\boldsymbol{B}_{L1}, \ldots, \boldsymbol{B}_{Ln_e}] \]

The nodal block \(\boldsymbol{B}_{L\alpha}\) is formed by arranging \(\partial N_\alpha^e/\partial x_i\) according to the Voigt convention into a \(6 \times 3\) matrix, and \(\boldsymbol{B}_L\) is the strain-displacement matrix for the UL formulation. Substituting this into the internal virtual work and factoring out \(\delta \boldsymbol{u}^e\) gives

\[ \delta W^{\mathrm{int}} = \sum_e \delta \boldsymbol{u}^{eT}\, \boldsymbol{q}^e, \qquad \boldsymbol{q}^e = \int_{\Omega^e} \boldsymbol{B}_L^T \boldsymbol{\sigma}\, dv \]

For \(\boldsymbol{q}^e\), the nodal block \(\boldsymbol{q}^e_\alpha = \int_{\Omega^e} \boldsymbol{B}_{L\alpha}^T \boldsymbol{\sigma}\, dv\) is the internal force of element \(\Omega^e\) acting on constituent node \(\alpha\).

Internal Virtual Work in the Total Lagrange Formulation

In the Total Lagrange formulation, the initial configuration \(\Omega_0\) is used as the reference configuration, and the internal virtual work is written in terms of the second Piola-Kirchhoff stress \(\boldsymbol{S}\) and the Green-Lagrange strain \(\boldsymbol{E}\) as

\[ \delta W^{\mathrm{int}} = \sum_e \int_{\Omega^e_0} \boldsymbol{S} : \delta \boldsymbol{E}\, dV \]

The variation \(\delta \boldsymbol{E}\) is separated into a term linear in the virtual displacement and a nonlinear term containing products with the current displacement gradient \(\partial u_k/\partial X_j\):

\[ \delta E_{(L)ij} = \frac{1}{2}\left( \frac{\partial \delta u_i}{\partial X_j} + \frac{\partial \delta u_j}{\partial X_i} \right), \quad \delta E_{(NL)ij} = \frac{1}{2}\left( \frac{\partial \delta u_k}{\partial X_i}\, \frac{\partial u_k}{\partial X_j} + \frac{\partial u_k}{\partial X_i}\, \frac{\partial \delta u_k}{\partial X_j} \right). \]

The linear term can be written by applying the same arrangement rule as in the UL formulation to \(\partial N_\alpha^e/\partial X_i\), giving the nodal block \(\boldsymbol{B}_{L\alpha}\):

\[ \delta \boldsymbol{E}_{(L)} = \boldsymbol{B}_L\, \delta \boldsymbol{u}^e \]

Only the constituent derivatives change from \(\partial N_\alpha^e/\partial x_i\) to \(\partial N_\alpha^e/\partial X_i\) because of the different reference configuration; the same symbol is used as in the UL formulation. The nonlinear term uses products of the current displacement gradient \(\partial u_k/\partial X_j\) and \(\partial N_\alpha^e/\partial X_i\), arranged according to the Voigt convention to form the nodal block \(\boldsymbol{B}_{NL\alpha}\):

\[ \delta \boldsymbol{E}_{(NL)} = \boldsymbol{B}_{NL}\, \delta \boldsymbol{u}^e, \qquad \boldsymbol{B}_{NL} = [\boldsymbol{B}_{NL1}, \ldots, \boldsymbol{B}_{NLn_e}] \]

Thus, \(\delta \boldsymbol{E} = (\boldsymbol{B}_L + \boldsymbol{B}_{NL})\, \delta \boldsymbol{u}^e\), and \(\boldsymbol{B}_L + \boldsymbol{B}_{NL}\) is the strain-displacement matrix for the TL formulation. Substituting this into the internal virtual work gives

\[ \delta W^{\mathrm{int}} = \sum_e \delta \boldsymbol{u}^{eT}\, \boldsymbol{Q}^e, \qquad \boldsymbol{Q}^e = \int_{\Omega^e_0} (\boldsymbol{B}_L + \boldsymbol{B}_{NL})^T \boldsymbol{S}\, dV \]

The nodal block \(\boldsymbol{Q}^e_\alpha\) is the internal force of element \(\Omega^e_0\) acting on constituent node \(\alpha\).

Correspondence Between UL/TL and Computational Flow

The element internal-force vectors in the Updated Lagrange and Total Lagrange formulations correspond as follows.

Item Updated Lagrange formulation Total Lagrange formulation
Reference configuration Current configuration \({}^{t}\Omega^e\) Initial configuration \(\Omega^e_0\)
Stress tensor Cauchy stress \(\boldsymbol{\sigma}\) Second PK stress \(\boldsymbol{S}\)
Strain variation \(\delta \boldsymbol{A}_{(L)}\) \(\delta \boldsymbol{E} = \delta \boldsymbol{E}_{(L)} + \delta \boldsymbol{E}_{(NL)}\)
B matrix \(\boldsymbol{B}_L\) (\(\partial N/\partial x\)) \(\boldsymbol{B}_L + \boldsymbol{B}_{NL}\) (\(\partial N/\partial X\), \(\partial u/\partial X\))
Element internal force \(\boldsymbol{q}^e = \int_{\Omega^e} \boldsymbol{B}_L^T \boldsymbol{\sigma}\, dv\) \(\boldsymbol{Q}^e = \int_{\Omega^e_0} (\boldsymbol{B}_L + \boldsymbol{B}_{NL})^T \boldsymbol{S}\, dV\)

Both are processed by the same procedure: construct \(\boldsymbol{B}_L\) from the spatial derivatives of the shape functions; in the TL formulation, construct and add \(\boldsymbol{B}_{NL}\) from the current displacement gradient; update the stress (\(\boldsymbol{\sigma}\) or \(\boldsymbol{S}\)) according to the constitutive law; and numerically integrate \(\boldsymbol{B}^T \boldsymbol{\sigma}\) or \((\boldsymbol{B}_L+\boldsymbol{B}_{NL})^T \boldsymbol{S}\) over the element domain at the integration points (Numerical Integration). Except for switching the reference configuration (nodal coordinates and construction of the \(\boldsymbol{B}\) matrix) and replacing the stress tensor, the processing is common, so FrontISTR implements the internal-force calculations for both formulations using common subroutines. Assembly of the element internal-force vectors \(\boldsymbol{q}^e\) and \(\boldsymbol{Q}^e\) into the global internal-force vector is covered in External Virtual Work and Assembly of the Global Equations.