Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
<tt>tetrahedron</tt>

reference element

Description

The edge reference_element 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 is then transformed, after the Piola geometrical application, as a tetrahedron in a physical space, as a geo_element.

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 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 } };
see the Float page for the full documentation
see the edge page for the full documentation
see the point page for the full documentation
const size_t dimension
Definition edge.icc:64
const point vertex[n_vertex]
Definition edge.icc:67
const size_t n_vertex
Definition edge.icc:66
const Float measure
Definition edge.icc:65
const size_t face[n_face][4]
const size_t n_face
const size_t n_edge