Section 25.3 of Chapter 25: Hexahedral isoparametric finite element. Linear case
Hexahedral 20-node isoparametric finite element for linear analysis
01
Element and hypotheses
StrainSmall
DisplacementSmall
MaterialLinear elastic
The formulation closely follows Section 25.1. Only the differences associated with the quadratic 20-node interpolation and the 3×3×3 Gauss integration are presented here.
The HEX20 element has 20 nodes, three displacement DOFs per node and 60 element displacement DOFs. The stiffness integration uses 27 Gauss points.
uel∈R60×1,kel∈R60×60.
02
Natural coordinates and interpolation
Figure 1. Natural coordinates and nodal numbering of the HEX20 element (left), and the corresponding geometry in the global reference frame (right). Adapted from Itasca Software [1].
Natural coordinates of the HEX20 nodes.
Node
si
ti
ri
Node
si
ti
ri
1
−1
−1
−1
11
−1
−1
−0
2
−1
−1
−1
12
−1
−0
−1
3
−1
−1
−1
13
−1
−1
−0
4
−1
−1
−1
14
−1
−0
−1
5
−1
−1
−1
15
−1
−1
−0
6
−1
−1
−1
16
−1
−0
−1
7
−1
−1
−1
17
−0
−1
−1
8
−1
−1
−1
18
−0
−1
−1
9
−1
−1
−0
19
−0
−1
−1
10
−1
−0
−1
20
−0
−1
−1
The natural coordinates are ordered s,t,r. With nodal natural coordinates (si,ti,ri), the corner-node interpolation functions are consistent with Itasca [1]:
The matrix b contains the derivatives of the interpolation functions with respect to the Cartesian coordinates, and these derivatives are arranged in the strain-displacement matrix B.
The strain order is ε={εxεyεzγxyγyzγzx}T. The three-dimensional isotropic constitutive matrix D is the same as in Section 25.1.
05
Gauss integration
The 3×3×3 rule uses 27 Gauss points. The one-dimensional coordinates and weights are:
iξiwi1−3/55/9208/93+3/55/9
The element stiffness matrix is evaluated as:
kel≃i=1∑3j=1∑3k=1∑3wiwjwkBTDBdetJ,
with B and J evaluated at (s,t,r)=(ξi,ξj,ξk).
06
MATLAB program
For given natural coordinates s,t,r, the shape20 subprogram evaluates the HEX20 interpolation functions N and their derivatives with respect to the natural coordinates. These derivatives are then used to construct the Jacobian J and the strain-displacement matrix B.
The mesh for the example is generated by gen. Run main.m to generate the mesh, solve the linear problem with brick3d_20, and display the displacement and stress maps.
The same cantilever beam as in Section 25.1 is used, with the same geometry, material, loading and boundary conditions. Its length is 200mm, its cross-section is 50×40mm, E=2×105MPa, ν=0.3 and the vertical end load is 8000N.
The 24×9×6 HEX20 mesh contains 1 296 elements, 6 505 nodes and 19 515 displacement DOFs. This is considerably coarser than the HEX8 discretization in Section 25.1, which uses 11 520 elements and 13 481 nodes.
Figure 2. HEX20 cantilever mesh, constraints and applied loading. Coordinates are in millimetres.
The maximum vertical displacement magnitude and the near-zero opposite extreme are:
∣w∣max=0.41377mm,w≈2.17×10−4mm.
The actual negative displacement extreme is wmin=−0.41377mm.
Figure 3. Vertical displacement w [mm]. Coordinates are in millimetres.
The axial-stress extrema, rounded to two decimal places, are:
σx,max=119.07MPa,σx,min=−119.07MPa.
Figure 4. Axial stress σx [MPa]. Coordinates are in millimetres.
The beam-theory reference values discussed in Section 25.1 are:
∣w∣max=0.4125mm,σmax=120MPa.
The relative differences are approximately 0.31% for the displacement and 0.78% for the axial stress. These results confirm the very good accuracy of the HEX20 element, despite the coarser discretization.