DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::Geom::Elem::ElementTraits< Tet4 > Struct Reference

Element traits for 4-node linear tetrahedron (Tet4) More...

#include <Tet4.hpp>

Collaboration diagram for DNDS::Geom::Elem::ElementTraits< Tet4 >:
[legend]

Static Public Member Functions

static constexpr ElemType GetFaceType (t_index)
 Get the element type of a face.
 

Static Public Attributes

static constexpr ElemType elemType = Tet4
 
static constexpr int dim = 3
 
static constexpr int order = 1
 
static constexpr int numVertices = 4
 
static constexpr int numNodes = 4
 
static constexpr int numFaces = 4
 
static constexpr ParamSpace paramSpace = TetSpace
 
static constexpr t_real paramSpaceVol = 1.0 / 6.0
 
static constexpr std::array< t_real, 3 *4 > standardCoords
 Standard coordinates of nodes in parametric space.
 
static constexpr std::array< std::array< t_index, 10 >, 4 > faceNodes
 Node indices for each face (triangular face)
 
static constexpr ElemType elevatedType = Tet10
 Element type after order elevation (O1 -> O2) Tet4 elevates to Tet10 (10-node quadratic tetrahedron)
 
static constexpr int numElevNodes = 6
 Number of additional nodes created during elevation (6 edge midpoints)
 
static constexpr std::array< tElevSpan, 6 > elevSpans
 Elevation spans define edge midpoints.
 
static constexpr std::array< ElemType, 6 > elevNodeSpanTypes
 Element type of each elevation span (all are Line2 edges)
 
static constexpr int vtkCellType = 10
 VTK cell type identifier (10 = VTK_TETRA)
 
static constexpr std::array< int, 4 > vtkNodeOrder = {0, 1, 2, 3}
 VTK node ordering map.
 

Detailed Description

Element traits for 4-node linear tetrahedron (Tet4)

Tet4 is the simplest 3D element, commonly used for:

  • Unstructured tetrahedral meshes
  • Automatic mesh generation
  • Complex geometry representation

Geometry:

  • Reference tetrahedron with vertices at (0,0,0), (1,0,0), (0,1,0), (0,0,1)
  • Parametric space volume = 1/6

Faces:

  • 4 triangular faces, each is a Tri3 element

Definition at line 84 of file Tet4.hpp.

Member Function Documentation

◆ GetFaceType()

static constexpr ElemType DNDS::Geom::Elem::ElementTraits< Tet4 >::GetFaceType ( t_index  )
inlinestaticconstexpr

Get the element type of a face.

Returns
Tri3 (all faces of tet are triangles)

Definition at line 126 of file Tet4.hpp.

Member Data Documentation

◆ dim

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::dim = 3
staticconstexpr

Definition at line 91 of file Tet4.hpp.

◆ elemType

constexpr ElemType DNDS::Geom::Elem::ElementTraits< Tet4 >::elemType = Tet4
staticconstexpr

Definition at line 90 of file Tet4.hpp.

◆ elevatedType

constexpr ElemType DNDS::Geom::Elem::ElementTraits< Tet4 >::elevatedType = Tet10
staticconstexpr

Element type after order elevation (O1 -> O2) Tet4 elevates to Tet10 (10-node quadratic tetrahedron)

Definition at line 152 of file Tet4.hpp.

◆ elevNodeSpanTypes

constexpr std::array<ElemType, 6> DNDS::Geom::Elem::ElementTraits< Tet4 >::elevNodeSpanTypes
staticconstexpr
Initial value:

Element type of each elevation span (all are Line2 edges)

Definition at line 173 of file Tet4.hpp.

◆ elevSpans

constexpr std::array<tElevSpan, 6> DNDS::Geom::Elem::ElementTraits< Tet4 >::elevSpans
staticconstexpr
Initial value:
= {{
{0, 1},
{1, 2},
{2, 0},
{0, 3},
{1, 3},
{2, 3}}}

Elevation spans define edge midpoints.

Each new node is at the midpoint of an edge: Span 0-2: edges of base triangle Span 3-5: edges connecting apex to base vertices

Definition at line 164 of file Tet4.hpp.

◆ faceNodes

constexpr std::array<std::array<t_index, 10>, 4> DNDS::Geom::Elem::ElementTraits< Tet4 >::faceNodes
staticconstexpr
Initial value:
= {{
{0, 2, 1},
{0, 1, 3},
{1, 2, 3},
{2, 0, 3}}}

Node indices for each face (triangular face)

Face 0: nodes 0-2-1 (bottom face, z=0) Face 1: nodes 0-1-3 (side face, y=0) Face 2: nodes 1-2-3 (side face, x=0 is opposite) Face 3: nodes 2-0-3 (side face, x=0)

Note: Node ordering follows right-hand rule for outward normals.

Definition at line 138 of file Tet4.hpp.

◆ numElevNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::numElevNodes = 6
staticconstexpr

Number of additional nodes created during elevation (6 edge midpoints)

Definition at line 155 of file Tet4.hpp.

◆ numFaces

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::numFaces = 4
staticconstexpr

Definition at line 95 of file Tet4.hpp.

◆ numNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::numNodes = 4
staticconstexpr

Definition at line 94 of file Tet4.hpp.

◆ numVertices

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::numVertices = 4
staticconstexpr

Definition at line 93 of file Tet4.hpp.

◆ order

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::order = 1
staticconstexpr

Definition at line 92 of file Tet4.hpp.

◆ paramSpace

constexpr ParamSpace DNDS::Geom::Elem::ElementTraits< Tet4 >::paramSpace = TetSpace
staticconstexpr

Definition at line 96 of file Tet4.hpp.

◆ paramSpaceVol

constexpr t_real DNDS::Geom::Elem::ElementTraits< Tet4 >::paramSpaceVol = 1.0 / 6.0
staticconstexpr

Definition at line 97 of file Tet4.hpp.

◆ standardCoords

constexpr std::array<t_real, 3 * 4> DNDS::Geom::Elem::ElementTraits< Tet4 >::standardCoords
staticconstexpr
Initial value:
= {
0, 0, 0,
1, 0, 0,
0, 1, 0,
0, 0, 1}

Standard coordinates of nodes in parametric space.

Reference tetrahedron with nodes at: Node 0: (0, 0, 0) - origin Node 1: (1, 0, 0) - on x-axis Node 2: (0, 1, 0) - on y-axis Node 3: (0, 0, 1) - on z-axis

Definition at line 112 of file Tet4.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Tet4 >::vtkCellType = 10
staticconstexpr

VTK cell type identifier (10 = VTK_TETRA)

Definition at line 181 of file Tet4.hpp.

◆ vtkNodeOrder

constexpr std::array<int, 4> DNDS::Geom::Elem::ElementTraits< Tet4 >::vtkNodeOrder = {0, 1, 2, 3}
staticconstexpr

VTK node ordering map.

VTK uses the same ordering as DNDS for Tet4: VTK node 0 = DNDS node 0, VTK node 1 = DNDS node 1, etc.

Definition at line 189 of file Tet4.hpp.


The documentation for this struct was generated from the following file: