Skip to content

Virtual Work of External Forces and Assembly of the Global Equations

In Discretization of the Virtual Work of Internal Forces, the left-hand side of the weak form was reduced to the element internal-force vector \(\boldsymbol{q}^e\) (UL method) or \(\boldsymbol{Q}^e\) (TL method). This chapter introduces the element nodal external-force vector \(\boldsymbol{F}^e\) from the virtual work of external forces, then applies the assembly operation that reorders and accumulates element nodal quantities by global node number, ultimately obtaining the nonlinear system of equations in nodal displacements solved by FrontISTR nonlinear structural analysis.

Element Decomposition of the Virtual Work of External Forces

The right-hand side of the Principle of Virtual Work can be decomposed element by element into the virtual work of external forces consisting of body forces and prescribed surface tractions on mechanical boundaries. To write the displacement interpolation introduced in Shape Functions and Finite Element Approximation in matrix form, define the \(\alpha\) block \(N_\alpha^e\) with the shape function \(d \times d\) of node \(\boldsymbol{N}_\alpha\) on the diagonal, and form \(\boldsymbol{N} = [\boldsymbol{N}_1, \ldots, \boldsymbol{N}_{n_e}]\), so that \(\delta\boldsymbol{u} = \boldsymbol{N}\, \delta\boldsymbol{u}^e\). Substituting this into the virtual work of external forces written in the reference configuration gives

\[ \delta W^{\mathrm{ext}} = \sum_e \delta\boldsymbol{u}^{eT} \boldsymbol{F}^e, \qquad \boldsymbol{F}^e_\alpha = \int_{\Omega^e_0} \boldsymbol{N}_\alpha^T \rho_0 \boldsymbol{g}\, dV + \int_{\Gamma^e_{0t}} \boldsymbol{N}_\alpha^T \bar{\boldsymbol{t}}_0\, d\Gamma_0 \]

where the element nodal external-force vector is arranged as \(\boldsymbol{F}^e = (\boldsymbol{F}^{eT}_1, \ldots, \boldsymbol{F}^{eT}_{n_e})^T\). Thus the virtual work of external forces is reduced to the same "element nodal vector × test function" form as the internal-force side (when written in the current configuration, the same form is obtained by the substitutions \(dV \to dv\), \(\rho_0 \to \rho\), and \(\bar{\boldsymbol{t}}_0 \to \bar{\boldsymbol{t}}\)).

Assembly of Element Nodal Quantities

The nodal quantities \(\boldsymbol{Q}^e_\alpha, \boldsymbol{F}^e_\alpha\) obtained for each element are accumulated into global vectors ordered by global node number. Let the global node number corresponding to local node number \(\Omega^e\) of element \(\alpha\) be

\[ \mathrm{gdx}(e, \alpha) = i_g \]

Then an element nodal quantity is identical to the corresponding component of the global nodal quantity (for example, \(\boldsymbol{u}^e_\alpha = \boldsymbol{u}_{i_g}\)). Since a node \(i_g\) is generally shared by multiple elements, define the set of pairs \(i_g\) whose global node number is \((e, \alpha)\) as

\[ \mathcal{E}(i_g) = \{ (e, \alpha) \mid \mathrm{gdx}(e, \alpha) = i_g \} \]

Using this set to rewrite the sum as \(\sum_e \sum_\alpha = \sum_{i_g} \sum_{(e,\alpha) \in \mathcal{E}(i_g)}\) gives the nodal internal force and global internal-force vector over all \(n_g\) nodes:

\[ \boldsymbol{Q}_{i_g} = \sum_{(e,\alpha) \in \mathcal{E}(i_g)} \boldsymbol{Q}^e_\alpha, \qquad \boldsymbol{Q} = (\boldsymbol{Q}^T_1, \ldots, \boldsymbol{Q}^T_{n_g})^T \]

Here \(\boldsymbol{Q}_{i_g}\) is the resultant of the element nodal internal forces acting at node \(i_g\) and is \(\boldsymbol{0}\) when no external force acts and equilibrium is satisfied. The same procedure in the UL method gives \(\boldsymbol{q}_{i_g}, \boldsymbol{q}\); because their numerical values satisfy \(\boldsymbol{q} = \boldsymbol{Q}\), the notation \(\boldsymbol{Q}\) is used below except where a distinction is required. The global external-force vector \(\boldsymbol{F}\) is obtained by the same accumulation.

In the implementation, the set \(\mathcal{E}(i_g)\) is not constructed explicitly; instead, contributions are added to the corresponding components inside the element loop.

Initialize global internal-force vector Q to 0: Q_{i_g} = 0  (i_g = 1, ..., n_g)
for e = 1 to (number of elements)
    for α = 1 to n_e
        i_g = gdx(e, α)
        Q_{i_g} += Q^e_α
    end for
end for

The global external-force vector \(\boldsymbol{F}\) is constructed by the same procedure. This operation of adding and storing element nodal quantities into vectors and matrices numbered by global node number is called assembly. For second-order tensors associated with two node numbers (such as stiffness matrices), the same type of assembly is obtained using the set \(\mathcal{E}^2(i_g, i_h) = \{ (e, \alpha, \beta) \mid \mathrm{gdx}(e, \alpha) = i_g\ \mathrm{and}\ \mathrm{gdx}(e, \beta) = i_h \}\) (see Tangent Stiffness Matrix for the specific construction).

Nonlinear Equations to Be Solved

Substituting the assembled internal and external forces into the Principle of Virtual Work, and using the fact that it holds for any test function \(\delta\boldsymbol{u}^n\) satisfying the geometric boundary conditions, gives

\[ \boldsymbol{Q}(\boldsymbol{u}^n) - \boldsymbol{F}(\boldsymbol{u}^n) = \boldsymbol{0} \]

In the context of incremental analysis (Framework of Incremental Analysis), restore the time subscript \(_{n+1}\) and omit the superscript \(^n\) denoting the global nodal vector. The equation to be solved is then

\[ \boldsymbol{Q}(\boldsymbol{u}_{n+1}) - \boldsymbol{F}(\boldsymbol{u}_{n+1}) = \boldsymbol{0} \]

Thus the discretized boundary-value problem of finding the nodal displacement \(t_{n+1}\) at time \(\boldsymbol{u}_{n+1}\) reduces to solving this nonlinear equation in displacement together with the geometric boundary conditions. Linearization of the equation and construction of the tangent stiffness matrix are described in Tangent Stiffness Matrix, and the iterative solution method in the Newton-Raphson Method.