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

# hexahedron(6rheolef)

reference element (rheolef-7.2)

## NAME

hexahedron - reference element (rheolef-7.2)

## DESCRIPTION

The edge **reference\_element(6)** is `K = [-1,1]`.

```
     x2
     4----------7
     |\\         |\\
     | \\        | \\
     |  \\       |  \\
     |   5------+---6
     |   |      |   |
     0---+------3 - | ---> x1
      \\  |       \\  |
       \\ |        \\ |
        \\|         \\|
         1----------2
          \\
           x0
```

 The orientation is such that triedra (01, 03, 04) 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 hexahedron in a 3D physical space, as a **geo\_element(6)**.

Curved high order Pk hexahedra (k \>= 1) in 3D geometries are supported. These hexahedra 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 hexahedron lattice.

```
     4----19----7
     |\\         |\\
     |16    23  | 18
    12  \\ 21    15 \\
     |   5----17+---6
     |22 |  26  | 25|
     0---+-11---3   |
      \\ 13    24 \\  14
       8 |  20    10|
        \\|         \\|
         1-----9----2
             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/hexahedron.icc

```
const size_t dimension = 3;
const Float  measure = 8;
const size_t n_vertex = 8;
const point vertex [n_vertex] = {
        point(-1,-1,-1 ),
        point( 1,-1,-1 ),
        point( 1, 1,-1 ),
        point(-1, 1,-1 ),
        point(-1,-1, 1 ),
        point( 1,-1, 1 ),
        point( 1, 1, 1 ),
        point(-1, 1, 1 ) };
const size_t  n_face = 6;
const size_t face [n_face][4] = {
        {0, 3, 2, 1 },
        {0, 4, 7, 3 },
        {0, 1, 5, 4 },
        {4, 5, 6, 7 },
        {1, 2, 6, 5 },
        {2, 3, 7, 6 } };
const size_t  n_edge = 12;
const size_t edge [n_edge][2] = {
        {0, 1 },
        {1, 2 },
        {2, 3 },
        {3, 0 },
        {0, 4 },
        {1, 5 },
        {2, 6 },
        {3, 7 },
        {4, 5 },
        {5, 6 },
        {6, 7 },
        {7, 4 } };
```

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