Skip to content

Hexahedral elements

numgeo provides hexahedral elements with either 8, 20 or 27 nodes:

Figure 1: Hexahedral elements implemented in numgeo.

The elements differ in the number of nodes and the polynomial order of the shape functions used for interpolation.

  • 8 nodes: A linear element with nodes only at the eight corners. It's the simplest 3D solid element.
  • 20 nodes: A quadratic "serendipity" element. It has nodes at the eight corners and at the midpoint of each of the twelve edges. It offers higher accuracy than the linear H8 element.
  • 27 nodes: A quadratic "Lagrange" element. It includes all nodes of the H20 element, plus a node at the center of each of the six faces and one node at the element's geometric center. This is the highest-order hexahedral element in numgeo.

Shape functions

The interpolation within an element is defined by its shape functions, \(N_i\). These functions map the physical element in global \((x, y, z)\) coordinates to a canonical parent element in natural coordinates \((\xi, \eta, \zeta)\), where \(\xi, \eta, \zeta \in [-1, 1]\). The node numbering for the functions below corresponds to the schemes shown in Figure 1.

8-node hexahedron

The standard trilinear shape functions for a hexahedron with 8 nodes (H8) are:

$$
\begin{aligned}
N_1 &= \frac{1}{8} (1 - \xi)(1 - \eta)(1 - \zeta) \\
N_2 &= \frac{1}{8} (1 + \xi)(1 - \eta)(1 - \zeta) \\
N_3 &= \frac{1}{8} (1 + \xi)(1 + \eta)(1 - \zeta) \\
N_4 &= \frac{1}{8} (1 - \xi)(1 + \eta)(1 - \zeta) \\
N_5 &= \frac{1}{8} (1 - \xi)(1 - \eta)(1 + \zeta) \\
N_6 &= \frac{1}{8} (1 + \xi)(1 - \eta)(1 + \zeta) \\
N_7 &= \frac{1}{8} (1 + \xi)(1 + \eta)(1 + \zeta) \\
N_8 &= \frac{1}{8} (1 - \xi)(1 + \eta)(1 + \zeta)
\end{aligned}
$$

20-node hexahedron

The shape functions of 20-node quadratic hexahedron (H20 - Serendipity) are quadratic and are grouped into corner nodes (1-8) and midside nodes (9-20).

  • Corner Nodes (1-8):

    \[ \begin{aligned} N_1 &= -\frac{1}{8}(1-\xi)(1-\eta)(1-\zeta)(2+\xi+\eta+\zeta) \\ N_2 &= -\frac{1}{8}(1+\xi)(1-\eta)(1-\zeta)(2-\xi+\eta+\zeta) \\ N_3 &= -\frac{1}{8}(1+\xi)(1+\eta)(1-\zeta)(2-\xi-\eta+\zeta) \\ N_4 &= -\frac{1}{8}(1-\xi)(1+\eta)(1-\zeta)(2+\xi-\eta+\zeta) \\ N_5 &= -\frac{1}{8}(1-\xi)(1-\eta)(1+\zeta)(2+\xi+\eta-\zeta) \\ N_6 &= -\frac{1}{8}(1+\xi)(1-\eta)(1+\zeta)(2-\xi+\eta-\zeta) \\ N_7 &= -\frac{1}{8}(1+\xi)(1+\eta)(1+\zeta)(2-\xi-\eta-\zeta) \\ N_8 &= -\frac{1}{8}(1-\xi)(1+\eta)(1+\zeta)(2+\xi-\eta-\zeta) \end{aligned} \]
  • Midside Nodes (9-20):

    \[ \begin{aligned} N_9 &= \frac{1}{4}(1-\xi^2)(1-\eta)(1-\zeta) \\ N_{10} &= \frac{1}{4}(1+\xi)(1-\eta^2)(1-\zeta) \\ N_{11} &= \frac{1}{4}(1-\xi^2)(1+\eta)(1-\zeta) \\ N_{12} &= \frac{1}{4}(1-\xi)(1-\eta^2)(1-\zeta) \\ N_{13} &= \frac{1}{4}(1-\xi^2)(1-\eta)(1+\zeta) \\ N_{14} &= \frac{1}{4}(1+\xi)(1-\eta^2)(1+\zeta) \\ N_{15} &= \frac{1}{4}(1-\xi^2)(1+\eta)(1+\zeta) \\ N_{16} &= \frac{1}{4}(1-\xi)(1-\eta^2)(1+\zeta) \\ N_{17} &= \frac{1}{4}(1-\xi)(1-\eta)(1-\zeta^2) \\ N_{18} &= \frac{1}{4}(1+\xi)(1-\eta)(1-\zeta^2) \\ N_{19} &= \frac{1}{4}(1+\xi)(1+\eta)(1-\zeta^2) \\ N_{20} &= \frac{1}{4}(1-\xi)(1+\eta)(1-\zeta^2) \end{aligned} \]

27-node hexahedron

The shape functions of the 27-node bi-quadratic hexahedron (H27 - Lagrange) are formed by the tensor product of 1D quadratic Lagrange polynomials.

  • Corner Nodes (1-8):

    \[ \begin{aligned} N_1 &= \frac{1}{8} \xi\eta\zeta(\xi-1)(\eta-1)(\zeta-1) \\ N_2 &= \frac{1}{8} \xi\eta\zeta(\xi+1)(\eta-1)(\zeta-1) \\ N_3 &= \frac{1}{8} \xi\eta\zeta(\xi+1)(\eta+1)(\zeta-1) \\ N_4 &= \frac{1}{8} \xi\eta\zeta(\xi-1)(\eta+1)(\zeta-1) \\ N_5 &= \frac{1}{8} \xi\eta\zeta(\xi-1)(\eta-1)(\zeta+1) \\ N_6 &= \frac{1}{8} \xi\eta\zeta(\xi+1)(\eta-1)(\zeta+1) \\ N_7 &= \frac{1}{8} \xi\eta\zeta(\xi+1)(\eta+1)(\zeta+1) \\ N_8 &= \frac{1}{8} \xi\eta\zeta(\xi-1)(\eta+1)(\zeta+1) \end{aligned} \]
  • Midside Nodes (9-20):

    \[ \begin{aligned} N_9 &= \frac{1}{4} (1-\xi^2)\eta\zeta(\eta-1)(\zeta-1) \\ N_{10} &= \frac{1}{4} \xi(1-\eta^2)\zeta(\xi+1)(\zeta-1) \\ N_{11} &= \frac{1}{4} (1-\xi^2)\eta\zeta(\eta+1)(\zeta-1) \\ N_{12} &= \frac{1}{4} \xi(1-\eta^2)\zeta(\xi-1)(\zeta-1) \\ N_{13} &= \frac{1}{4} (1-\xi^2)\eta\zeta(\eta-1)(\zeta+1) \\ N_{14} &= \frac{1}{4} \xi(1-\eta^2)\zeta(\xi+1)(\zeta+1) \\ N_{15} &= \frac{1}{4} (1-\xi^2)\eta\zeta(\eta+1)(\zeta+1) \\ N_{16} &= \frac{1}{4} \xi(1-\eta^2)\zeta(\xi-1)(\zeta+1) \\ N_{17} &= \frac{1}{4} \xi\eta(1-\zeta^2)(\xi-1)(\eta-1) \\ N_{18} &= \frac{1}{4} \xi\eta(1-\zeta^2)(\xi+1)(\eta-1) \\ N_{19} &= \frac{1}{4} \xi\eta(1-\zeta^2)(\xi+1)(\eta+1) \\ N_{20} &= \frac{1}{4} \xi\eta(1-\zeta^2)(\xi-1)(\eta+1) \end{aligned} \]
  • Face Center Nodes (21-26):

    \[ \begin{aligned} N_{21} &= \frac{1}{2}\xi(1-\eta^2)(1-\zeta^2)(\xi-1) \\ N_{22} &= \frac{1}{2}\xi(1-\eta^2)(1-\zeta^2)(\xi+1) \\ N_{23} &= \frac{1}{2}(1-\xi^2)\eta(1-\zeta^2)(\eta-1) \\ N_{24} &= \frac{1}{2}(1-\xi^2)\eta(1-\zeta^2)(\eta+1) \\ N_{25} &= \frac{1}{2}(1-\xi^2)(1-\eta^2)\zeta(\zeta-1) \\ N_{26} &= \frac{1}{2}(1-\xi^2)(1-\eta^2)\zeta(\zeta+1) \end{aligned} \]
  • Element Center Node (27):

    \[ N_{27} = (1-\xi^2)(1-\eta^2)(1-\zeta^2) \]

Numerical integration

Integrals over the element volume are computed numerically using Gaussian quadrature. The following schemes are implemented in numgeo.

1-point integration

1-point integration, degree of precision = 1

Integration point \(\xi\) \(\eta\) \(\zeta\) \(w\)
1                 0.0   0.0     0.0     8.0

8-point integration

8-point integration (\(2\times2\times2\) rule), degree of precision = 3

Integration point \(\xi\) \(\eta\) \(\zeta\) \(w\)
1 \(-1/\sqrt{3}\) \(-1/\sqrt{3}\) \(-1/\sqrt{3}\) 1.0
2 \(1/\sqrt{3}\)   \(-1/\sqrt{3}\) \(-1/\sqrt{3}\) 1.0
3 \(1/\sqrt{3}\)   \(1/\sqrt{3}\)   \(-1/\sqrt{3}\) 1.0
4 \(-1/\sqrt{3}\) \(1/\sqrt{3}\)   \(-1/\sqrt{3}\) 1.0
5 \(-1/\sqrt{3}\) \(-1/\sqrt{3}\) \(1/\sqrt{3}\) 1.0
6 \(1/\sqrt{3}\)   \(-1/\sqrt{3}\) \(1/\sqrt{3}\) 1.0
7 \(1/\sqrt{3}\)   \(1/\sqrt{3}\)   \(1/\sqrt{3}\) 1.0
8 \(-1/\sqrt{3}\) \(1/\sqrt{3}\)   \(1/\sqrt{3}\) 1.0

14-point integration

14-point integration, degree of precision = 5

Integration point \(\xi\) \(\eta\) \(\zeta\) \(w\)
1 -0.758786911 -0.758786911 -0.758786911 0.335180055
2 -0.758786911 -0.758786911  0.758786911 0.335180055
3 -0.758786911  0.758786911 -0.758786911 0.335180055
4 -0.758786911  0.758786911  0.758786911 0.335180055
5  0.758786911 -0.758786911 -0.758786911 0.335180055
6  0.758786911 -0.758786911  0.758786911 0.335180055
7  0.758786911  0.758786911 -0.758786911 0.335180055
8  0.758786911  0.758786911  0.758786911 0.335180055
9 -0.795822426  0.0          0.0         0.886426593
10  0.795822426  0.0          0.0         0.886426593
11  0.0         -0.795822426  0.0         0.886426593
12  0.0          0.795822426  0.0         0.886426593
13  0.0          0.0         -0.795822426 0.886426593
14  0.0          0.0          0.795822426 0.886426593

15-point integration

15-point integration (special nodal scheme)

Integration point \(\xi\) \(\eta\) \(\zeta\) \(w\)
1 -1.0 -1.0 -1.0 0.5
2 -1.0 -1.0  1.0 0.5
3 -1.0  1.0 -1.0 0.5
4 -1.0  1.0  1.0 0.5
5  1.0 -1.0 -1.0 0.5
6  1.0 -1.0  1.0 0.5
7  1.0  1.0 -1.0 0.5
8  1.0  1.0  1.0 0.5
9 -1.0  0.0  0.0 1/6
10  1.0  0.0  0.0 1/6
11  0.0 -1.0  0.0 1/6
12  0.0  1.0  0.0 1/6
13  0.0  0.0 -1.0 1/6
14  0.0  0.0  1.0 1/6
15  0.0  0.0  0.0 2.0

27-point integration

27-point integration (\(3\times3\times3\) rule), degree of precision = 5

Let \(a = \sqrt{3/5} \approx 0.774596669\)

Integration point \(\xi\) \(\eta\) \(\zeta\) \(w\)
1 \(-a\) \(-a\) \(-a\) \(125/729\)
2 \(0\)   \(-a\) \(-a\) \(200/729\)
3 \(a\)   \(-a\) \(-a\) \(125/729\)
4 \(-a\) \(0\)   \(-a\) \(200/729\)
5 \(0\)   \(0\)   \(-a\) \(320/729\)
6 \(a\)   \(0\)   \(-a\) \(200/729\)
7 \(-a\) \(a\)   \(-a\) \(125/729\)
8 \(0\)   \(a\)   \(-a\) \(200/729\)
9 \(a\)   \(a\)   \(-a\) \(125/729\)
10 \(-a\) \(-a\) \(0\)   \(200/729\)
11 \(0\)   \(-a\) \(0\)   \(320/729\)
12 \(a\)   \(-a\) \(0\)   \(200/729\)
13 \(-a\) \(0\)   \(0\)   \(320/729\)
14 \(0\)   \(0\)   \(0\)   \(512/729\)
15 \(a\)   \(0\)   \(0\)   \(320/729\)
16 \(-a\) \(a\)   \(0\)   \(200/729\)
17 \(0\)   \(a\)   \(0\)   \(320/729\)
18 \(a\)   \(a\)   \(0\)   \(200/729\)
19 \(-a\) \(-a\) \(a\)   \(125/729\)
20 \(0\)   \(-a\) \(a\)   \(200/729\)
21 \(a\)   \(-a\) \(a\)   \(125/729\)
22 \(-a\) \(0\)   \(a\)   \(200/729\)
23 \(0\)   \(0\)   \(a\)   \(320/729\)
24 \(a\)   \(0\)   \(a\)   \(200/729\)
25 \(-a\) \(a\)   \(a\)   \(125/729\)
26 \(0\)   \(a\)   \(a\)   \(200/729\)
27 \(a\)   \(a\)   \(a\)   \(125/729\)

General remarks

  • 8-node hexahedra elements: 1-point integration is a reduced integration scheme prone to hourglassing and requires the use of stabilisation methods. The standard full integration is the 8-point (\(2\times2\times2\)) rule.
  • 20-node hexahedra elements: The 8-point rule acts as a reduced integration scheme, hourglass modes are not likely to propagate through the mesh, stabilisation is not required in most cases.
  • 27-node hexahedra elements: The 27-point (\(3\times3\times3\)) rule is the standard scheme for full integration, no reduced-integration rule exists.