DESCRIPTION
The tetrahedron reference element is
K = { 0 < x < 1 and 0 < y < 1-x and 0 < z < 1-x-y }
z . ,/ / 3 ,/|`\ ,/ | `\ ,/ '. `\ ,/ | `\ ,/ | `\ 0-----------'.--------2 --> y `\. | ,/ `\. | ,/ `\. '. ,/ `\. |/ `1 `\. ` xCurved high order Pk tetrahedra (k >= 1) in 3d geometries are supported. These tetrahedra have additional edge-nodes, face-nodes and internal volume-nodes.
THESE NODES ARE NUMBERED AS
first vertex, then edge-node, following the edge numbering order and orientation, then face-nodes following the face numbering order and orientation, and finally the face internal nodes, following the tetrahedron lattice. See below for edges and faces numbering and orioentation.
3 ,/|`\ ,/ | `\ ,7 '. `9 ,/ | `\ ,/ 8 `\ 0--------6--'.--------2 `\. | ,/ `\. | ,5 `4. '. ,/ `\. |/ `1 P2
NUMBERING
The orientation is such that triedra (01, 02, 03) is direct, and all faces, see from exterior, are in the direct sens. References: P. L. Georges, "Generation automatique de maillages", page 24-, coll RMA, 16, Masson, 1994. Notice that the edge-nodes and face-nodes numbering slighly differ from those used in the gmsh mesh generator when using high-order elements. This difference is handled by the msh2geo mesh file converter (see msh2geo(1)).
IMPLEMENTATION
const size_t dimension = 3; const Float measure = Float(1.)/Float(6.); const size_t n_vertex = 4; const point vertex [n_vertex] = { point( 0, 0, 0 ), point( 1, 0, 0 ), point( 0, 1, 0 ), point( 0, 0, 1 ) }; const size_t n_face = 4; const size_t face [n_face][3] = { { 0, 2, 1 }, { 0, 3, 2 }, { 0, 1, 3 }, { 1, 2, 3 } }; const size_t n_edge = 6; const size_t edge [n_edge][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 }, { 0, 3 }, { 1, 3 }, { 2, 3 } };