---
name: "tetrahedron"
section: "6rheolef"
platform: "linux"
package: "librheolef-dev"
version: "7.2-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tetrahedron"
---

# tetrahedron(6rheolef)

reference element (rheolef-7.2)

## 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 }
                      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)**.

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 the `gmsh` mesh generator when using high-order elements. This difference is handled by the **msh2geo\_1** mesh file converter.

## 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\>

## 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.
