tetrahedron(6rheolef)
π tetrahedron β the reference element, bestie
okay so real quick, this page lives in section 6 of the rheolef manual (yes, tetrahedron(6rheolef), that's the whole vibe), and it's about the reference element β the little baby tetrahedron that every actual tetrahedron in your mesh is born from. let's get into it π
β¨ NAME β¨
tetrahedron β reference element (rheolef-7.2) π
π¦ DESCRIPTION π¦
The edge reference_element(6) is
K = { 0 < x0 < 1 and 0 < x1 < 1-x0 and 0 < x2 < 1-x0-x1 }
and like. here's the picture, no cap:
x2
.
,/
/
3
,/|`\
,/ | `\
,/ '. `\
,/ | `\
,/ | `\
0-----------'.--------2 --> x1
`\. | ,/
`\. | ,/
`\. '. ,/
`\. |/
`1
`\.
` x0
The orientation is such that the trihedral (01, 02, 03) is direct, and all faces, see from exterior, are in the direct sens. See
P. L. Georges,
Generation automatique de maillages,
page 24-, coll RMA, 16, Masson, 1994.
This three-dimensional reference_element(6) is then transformed, after the Piola geometrical application, as a tetrahedron in a physical space, as a geo_element(6). it's giving glow-up β¨
Curved 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 orientation. π
3
,/|`\
,/ | `\
,7 '. `9
,/ | `\
,/ 8 `\
0--------6--'.--------2
`\. | ,/
`\. | ,5
`4. '. ,/
`\. |/
`1
P2
β οΈ Notice that the edge-nodes and face-nodes numbering slightly differ from those used in thegmshmesh generator when using high-order elements. This difference is handled by themsh2geo_1mesh file converter. so like, don't panic, the converter handles it π«Ά
π IMPLEMENTATION π
This documentation has been generated from file fem/geo_element/tetrahedron.icc π§
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 } };
π AUTHOR π
Pierre Saramito <Pierre.Saramito@imag.fr> β icon behavior honestly π
π COPYRIGHT π
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.
and that's the whole page bestie π this was rheolef Version 7.2 dropping tetrahedron(6rheolef) β slay, study it, love it, periodt π¦πΈ
π¦ where this page comes from
- debian trixie: librheolef-dev 7.2-4 Β· GPL-3.0-or-later
- ubuntu noble: librheolef-dev 7.2-3build5 Β· GPL-3.0-or-later
- ubuntu questing: librheolef-dev 7.2-4build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms