tetrahedron(7rheolef) | rheolef-7.0 | tetrahedron(7rheolef) |
tetrahedron - Tetraedron reference element
The tetrahedron reference element is
K = { 0 < x < 1 and 0 < y < 1-x and 0 < z < 1-x-y }
Curved high order Pk tetrahedra (k >= 1) in 3d geometries are supported. These tetrahedra have additional edge-nodes, face-nodes and internal volume-nodes.
z
.
,/
/
3
,/|`\
,/ | `\
,/ '. `\
,/ | `\
,/ | `\
0-----------'.--------2 --> y
`\. | ,/
`\. | ,/
`\. '. ,/
`\. |/
`1
`\.
` x
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
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)).
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 } };
Copyright (C) 2000-2018 Pierre Saramito <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
rheolef-7.0 | rheolef-7.0 |