The isoparametric 4-node quadrilateral element is described in Section 9.4.
In an Updated Lagrangian formulation, the displacements and stresses at load step i+1 are evaluated with respect to the known deformed configuration at the preceding load step i. That known configuration becomes the new reference configuration. Consequently, the derivatives and integrals used for load step i+1 are evaluated with respect to the configuration at load step i; see also Chapter 15.
Cauchy stresses are used together with either the Hencky or the Biot strain tensor. Both strain measures are implemented in the MATLAB program and compared in the numerical example. For small strains, the Biot strain tensor represents the first-order approximation of the Hencky strain tensor.
02
Strain energy and notation
Strain energy at load step i+1, written with respect to the configuration at load step i (see also Sections 15.1 and 15.2):
Here, h is the initial element thickness. The current thickness is approximated by accounting for transverse contraction as in Section 15.1:
hi≈[1−1−νν(εx,i+εy,i)]h
This thickness relation is a small-strain approximation; it is not a general exact relation for finite elastic strains.
The strains and stresses at load step i+1 are:
εi+1=εi+Δε,σi+1=Dεi+1
This additive strain update is an approximation consistent with the present small-strain incremental formulation; Hencky and Biot strain tensors are not generally additive under finite successive deformations.
ε=⎩⎨⎧εxεyγxy⎭⎬⎫
σ=⎩⎨⎧σxσyτxy⎭⎬⎫
For a linear elastic material in plane stress:
D=1−ν2E1ν0ν100021−ν
The finite-element area and Jacobian are evaluated in the known configuration at load step i. The Jacobian is:
The coordinates x1,…,x4 and y1,…,y4 are the nodal coordinates of the current finite element at load step i. After load step i+1 is completed, the nodal displacements, strains, and corresponding Cauchy stresses at that load step are known and define the reference state for the next increment.
03
Virtual work and strain increment
The virtual-work equation is evaluated using a 2×2 Gauss quadrature:
δΠ=Ael=1nel(g=1∑4hiδεTσi+1det(Ji))−δuTF=0
Here, nG=2 is the number of Gauss points in each natural-coordinate direction. Thus the Q4 element uses 2×2=4 Gauss points in total.
For any geometrically admissible virtual displacement, the strain variation is written as:
δε=Bδuel
The element nodal-displacement vector is:
uel=(u1v1u2v2u3v3u4v4)T
The Hencky strain tensor for the increment is:
EH=lnU=21lnC=21ln(FTF)
For small strains, C remains close to the identity tensor. Hence, to first order:
δ(lnC)≈C−1δC
This approximation is used in the following derivation. Since C=FTF and C−1=U−2:
δEH≈21U−2(δFTF+FTδF)
The deformation gradient of the increment, evaluated with respect to the configuration at load step i, is:
F=I2+∇u=I2+[u,xv,xu,yv,y]
04
Construction of the strain-displacement matrix
The displacement derivatives follow from the same Q4 interpolation used in Section 9.4:
u,x=Buxuel=(b110b120b130b140)uel
u,y=Buyuel=(b210b220b230b240)uel
v,x=Bvxuel=(0b110b120b130b14)uel
v,y=Bvyuel=(0b210b220b230b24)uel
Here:
b=Ji−1H=[b11b21b12b22b13b23b14b24]
The increment of the deformation gradient is produced by the eight element nodal-displacement increments:
The matrix B is evaluated for every finite element and at every Gauss point in B_matrix.m, which is called by stiff.m.
05
Internal force and approximate tangent
The element internal nodal force vector is:
fel=g=1∑4hiBTσi+1det(Ji)
To keep the program simple, the tangent stiffness used in this section is approximated by:
kel=∂uel∂fel≈g=1∑4hiBTDBdet(Ji)
This expression neglects the dependence of B on the nodal displacements. It is therefore an approximate tangent stiffness matrix. The equilibrium state is still governed by the element internal force vector, but the approximate tangent gives poorer iterative convergence.
For this reason, the underrelaxation factor used in main.m is retained:
Underrelaxation in main
%*** main ***
dS=K\F*sr;
S=S-dS;
A value of sr=0.6 provides satisfactory convergence for this example.
An improved approximation of the tangent stiffness matrix is presented in Section 17.3.
06
Hencky and Biot implementation
Both Hencky and Biot strain tensors are implemented in the same MATLAB program.
At the beginning of the stiff subroutine, the variable istrain selects the strain measure used in the analysis: istrain=1 for Hencky strain and istrain=2 for Biot strain.
For small strains, the Biot strain tensor may be regarded as the first-order approximation of the Hencky strain tensor:
lnU=(U−I2)−21(U−I2)2+31(U−I2)3−⋯≈U−I2
07
Numerical example
Example 1. Consider a cantilever beam of length L=400mm and rectangular cross-section 5mm×20mm. The material properties are E=1000MPa and ν=0.3. A force F=100N is applied at the free end. The mesh contains 60×8=480 Q4 elements and 549 nodes. The load is applied in 20 steps.
Figure 1. Deformed cantilever configurations: magenta — UL with Euler–Almansi strains; blue — UL with Hencky strains.
The displacement and normal-stress results are compared below. The Hencky and Biot values are reported in that order.
Result
UL + Hencky / Biot strain tensor
ANSYS
UL + Euler–Almansi strain tensor (Section 15.2, stiff2)
vmax(mm)
−287.12 / −287.11
−286.32
−289.27
umax(mm)
2.25 / 2.25
2.35
2.45
umin(mm)
−157.99 / −157.99
−155.68
−159.30
σx,max(MPa)
74.42 / 74.47
76.96
78.26
σx,min(MPa)
−80.98 / −80.93
−79.78
−88.80
The Hencky- and Biot-based results are extremely close for this example, as expected from their first-order relation at small strain. The comparison also shows the corresponding Euler–Almansi and ANSYS results without changing the stress measure: all reported stresses are Cauchy stresses.
08
Programs and downloads
The MATLAB package used for the example and the accompanying ANSYS macro can be downloaded below.