Skip to content

Shape Functions for 3D Solid Elements

This chapter summarizes the natural coordinate systems and explicit forms of the shape functions \(N_\alpha^e(\boldsymbol{r})\) introduced in Shape Functions and Finite Element Approximation for the three-dimensional solid elements used by FrontISTR in continuum analysis. The six element types are first-/second-order tetrahedra (341/342), first-/second-order triangular prisms (351/352), and first-/second-order hexahedra (361/362). See the Element Library in the function reference for node ordering and face numbers in the HEC-MW mesh format.

The procedure for constructing element integration from these shape functions and the Jacobian determinant follows Numerical Integration. The B-bar, F-bar, and incompatible formulations for 361, as well as shape functions for beam and shell elements, are covered in Advanced Element Formulations.

Natural Coordinate Systems and Internal Node Ordering

Shape functions are defined on the natural coordinates \(\boldsymbol{r}\) of each element. Three-dimensional solid elements use the following three natural-coordinate systems according to element shape.

  • Hexahedra (361/362): \(\boldsymbol{r} = (\xi, \eta, \zeta)\), \(-1 \le \xi, \eta, \zeta \le 1\).
  • Tetrahedra (341/342): volume coordinates \((L_1, L_2, L_3, L_4)\), with \(L_1 + L_2 + L_3 + L_4 = 1\) and \(L_i \ge 0\). Taking \(\boldsymbol{r} = (L_2, L_3, L_4)\) as independent variables, \(L_1 = 1 - L_2 - L_3 - L_4\).
  • Triangular prisms (351/352): combine the volume coordinates \((\xi, \eta)\) of the base triangle (\(0 \le \xi, \eta\), \(\xi + \eta \le 1\)) with the axial coordinate \(\zeta \in [-1, 1]\) to form \(\boldsymbol{r} = (\xi, \eta, \zeta)\). The auxiliary quantity \(a = 1 - \xi - \eta\) is used as the third volume coordinate on the base.

For first-order elements, the element-node numbering is the same in the HEC-MW input format and the internal format. For second-order elements, the conventions for ordering midside nodes differ. FrontISTR accepts the HEC-MW format as input (corner nodes are listed around the element, followed by midside nodes in edge order 1-2, 2-3, …), while the shape functions in the element library are implemented assuming a different node ordering.

The difference between the two formats is resolved by hecmw2fstr_mesh_conv, called immediately after mesh input, which reorders the nodes for each element. Among three-dimensional solid elements, the following two types are converted.

Element type Conversion table Description
342 (second-order tetrahedron) Table342 Reorders the 10 nodes to \(\{1,2,3,4,7,5,6,8,9,10\}\)
352 (second-order triangular prism) Table352 Reorders the 15 nodes to \(\{1,2,3,4,5,6,9,7,8,12,10,11,13,14,15\}\)

Because reordering is performed directly on the array storing element connectivity, all subsequent calls to the element library use FrontISTR internal node ordering. For second-order hexahedral element 362, no conversion table exists because the midside-node order in HEC-MW input and FrontISTR internal format is the same. On result output, the inverse conversion fstr2hecmw_mesh_conv restores HEC-MW node ordering before writing, so users need only be aware of the HEC-MW format for both input and output. The node numbers in the shape functions below use the converted FrontISTR internal format.

Shape Functions for First-Order Elements

For the first-order tetrahedral element (341), the shape functions are the volume coordinates themselves:

\[ N_1 = L_1, \qquad N_2 = L_2, \qquad N_3 = L_3, \qquad N_4 = L_4. \]

For the first-order triangular-prism element (351), the shape functions are products of the linear shape functions of the base triangle (\(a, \xi, \eta\)) and the linear axial shape functions (\((1-\zeta)/2, (1+\zeta)/2\)):

\[ \begin{aligned} N_1 &= \tfrac{1}{2}\, a\,(1-\zeta), & N_2 &= \tfrac{1}{2}\, \xi\,(1-\zeta), & N_3 &= \tfrac{1}{2}\, \eta\,(1-\zeta), \\ N_4 &= \tfrac{1}{2}\, a\,(1+\zeta), & N_5 &= \tfrac{1}{2}\, \xi\,(1+\zeta), & N_6 &= \tfrac{1}{2}\, \eta\,(1+\zeta). \end{aligned} \]

For the first-order hexahedral element (361), the shape functions are tensor products of linear shape functions in the three coordinate directions:

\[ N_\alpha = \tfrac{1}{8}\,(1+\xi_\alpha \xi)(1+\eta_\alpha \eta)(1+\zeta_\alpha \zeta), \qquad \alpha = 1, \ldots, 8. \]

Here \((\xi_\alpha, \eta_\alpha, \zeta_\alpha)\) are the natural-coordinate values of node \(\alpha\) (each component is \(\pm 1\)).

Shape Functions for Second-Order Elements

For the second-order tetrahedral element (342), the shape functions are divided into four corner nodes and six midside nodes:

\[ \begin{aligned} N_1 &= L_1(2L_1 - 1), & N_2 &= L_2(2L_2 - 1), \\ N_3 &= L_3(2L_3 - 1), & N_4 &= L_4(2L_4 - 1), \\ N_5 &= 4\,L_1 L_2, & N_6 &= 4\,L_2 L_3, \\ N_7 &= 4\,L_1 L_3, & N_8 &= 4\,L_1 L_4, \\ N_9 &= 4\,L_2 L_4, & N_{10} &= 4\,L_3 L_4. \end{aligned} \]

Midside nodes 5–10 correspond respectively to the midpoints of edges 1-2, 2-3, 1-3, 1-4, 2-4, and 3-4.

The second-order triangular-prism element (352) consists of six corner nodes, six midside nodes on the triangular faces, and three midside nodes on the axial edges:

\[ \begin{aligned} N_1 &= \tfrac{1}{2}\, a\,(1-\zeta)(2a - 2 - \zeta), & N_2 &= \tfrac{1}{2}\, \xi\,(1-\zeta)(2\xi - 2 - \zeta), \\ N_3 &= \tfrac{1}{2}\, \eta\,(1-\zeta)(2\eta - 2 - \zeta), & N_4 &= \tfrac{1}{2}\, a\,(1+\zeta)(2a - 2 + \zeta), \\ N_5 &= \tfrac{1}{2}\, \xi\,(1+\zeta)(2\xi - 2 + \zeta), & N_6 &= \tfrac{1}{2}\, \eta\,(1+\zeta)(2\eta - 2 + \zeta), \\ N_7 &= 2\,\xi\, a\,(1-\zeta), & N_8 &= 2\,\xi\, \eta\,(1-\zeta), \\ N_9 &= 2\,\eta\, a\,(1-\zeta), & N_{10} &= 2\,\xi\, a\,(1+\zeta), \\ N_{11} &= 2\,\xi\, \eta\,(1+\zeta), & N_{12} &= 2\,\eta\, a\,(1+\zeta), \\ N_{13} &= a\,(1 - \zeta^2), & N_{14} &= \xi\,(1 - \zeta^2), \\ N_{15} &= \eta\,(1 - \zeta^2). \end{aligned} \]

Midside nodes 7–9 correspond to the edge midpoints of the bottom triangle (\(\zeta = -1\)), nodes 10–12 to the edge midpoints of the top triangle (\(\zeta = +1\)), and nodes 13–15 to the midpoints of the axial edges.

The second-order hexahedral element (362) is a 20-node element of the Serendipity family. Let the natural-coordinate values of node \(\alpha\) be \((\xi_\alpha, \eta_\alpha, \zeta_\alpha)\). For corner nodes (\(\alpha = 1, \ldots, 8\), with each component \(\pm 1\)),

\[ N_\alpha = -\tfrac{1}{8}\,(1+\xi_\alpha \xi)(1+\eta_\alpha \eta)(1+\zeta_\alpha \zeta)\bigl(2 - \xi_\alpha \xi - \eta_\alpha \eta - \zeta_\alpha \zeta\bigr). \]

For midside nodes (\(\alpha = 9, \ldots, 20\), with one of the three natural coordinates equal to \(0\) and the other two equal to \(\pm 1\)), nodes with \(\xi_\alpha = 0\) (edges oriented in the \(\xi\) direction) have

\[ N_\alpha = \tfrac{1}{4}\,(1 - \xi^2)(1 + \eta_\alpha \eta)(1 + \zeta_\alpha \zeta). \]

Midside nodes whose edge direction is the \(\eta\) or \(\zeta\) axis are given analogously, with the corresponding natural coordinate eliminated by the squared term.