Provided by: librheolef-dev_6.7-6_amd64 bug

NAME

       hexahedron - Hexaedron reference element

DESCRIPTION

       The hexahedron reference element is [-1,1]^3.

            ^ z
            |
            4----------7
            |\         |\
            | \        | \
            |  \       |  \
            |   5------+---6
            |   |      |   |
            0---+------3 - | ---> y
             \  |       \  |
              \ |        \ |
               \|         \|
                1----------2
                 \
                  x

       Curved  high  order  Pk  hexaedra (k >= 1) in 3d geometries are supported.  These hexaedra
       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 hexaedron lattice.  See below for edges and faces  numbering
       and orioentation.

            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

NUMBERING

       The  orientation  is  such  that  triedra  (01,  03, 04) 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 = 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 } };

SEE ALSO

       msh2geo(1)