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

Element traits for 10-node quadratic tetrahedron (Tet10) More...

#include <Tet10.hpp>

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

Static Public Member Functions

static constexpr ElemType GetFaceType (t_index)
 Get the element type of a face.
 
static constexpr ElemType GetBisectElemType (t_index)
 Get the element type of a sub-element after bisection.
 

Static Public Attributes

static constexpr ElemType elemType = Tet10
 
static constexpr int dim = 3
 
static constexpr int order = 2
 
static constexpr int numVertices = 4
 
static constexpr int numNodes = 10
 
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 *10 > standardCoords
 Standard coordinates of nodes in parametric space.
 
static constexpr std::array< std::array< t_index, 10 >, 4 > faceNodes
 Node indices for each face (quadratic triangle)
 
static constexpr ElemType elevatedType = UnknownElem
 Element type after order elevation (O2 has no higher elevation defined)
 
static constexpr int numElevNodes = 0
 Number of additional nodes created during elevation (none for O2)
 
static constexpr int numBisect = 8
 Number of sub-elements created when bisecting (8 Tet4 elements)
 
static constexpr int numBisectVariants = 3
 Number of bisection variants (3 different diagonal choices)
 
static constexpr std::array< tBisectSub, 24 > bisectElements
 Node indices for each sub-element created by bisection.
 
static constexpr int vtkCellType = 24
 VTK cell type identifier (24 = VTK_QUADRATIC_TETRA)
 
static constexpr std::array< int, 10 > vtkNodeOrder = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 VTK node ordering map.
 

Detailed Description

Element traits for 10-node quadratic tetrahedron (Tet10)

Tet10 is a high-order 3D element with:

  • 4 corner nodes (vertices)
  • 6 edge mid-nodes

Used for high-order finite element methods requiring curved geometry representation.

Definition at line 135 of file Tet10.hpp.

Member Function Documentation

◆ GetBisectElemType()

static constexpr ElemType DNDS::Geom::Elem::ElementTraits< Tet10 >::GetBisectElemType ( t_index  )
inlinestaticconstexpr

Get the element type of a sub-element after bisection.

Returns
Tet4 (all sub-elements are linear tets)

Definition at line 222 of file Tet10.hpp.

◆ GetFaceType()

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

Get the element type of a face.

Returns
Tri6 (all faces are 6-node quadratic triangles)

Definition at line 180 of file Tet10.hpp.

Member Data Documentation

◆ bisectElements

constexpr std::array<tBisectSub, 24> DNDS::Geom::Elem::ElementTraits< Tet10 >::bisectElements
staticconstexpr
Initial value:
= {{
{0, 4, 6, 7},
{4, 1, 5, 8},
{6, 5, 2, 9},
{9, 7, 8, 3},
{4, 9, 6, 7},
{4, 8, 9, 7},
{4, 9, 8, 5},
{4, 6, 9, 5},
{0, 4, 6, 7},
{4, 1, 5, 8},
{6, 5, 2, 9},
{9, 7, 8, 3},
{5, 6, 7, 9},
{5, 7, 8, 9},
{5, 8, 7, 4},
{5, 7, 6, 4},
{0, 4, 6, 7},
{4, 1, 5, 8},
{6, 5, 2, 9},
{9, 7, 8, 3},
{6, 7, 8, 9},
{6, 8, 5, 9},
{6, 8, 7, 4},
{6, 5, 8, 4}}}

Node indices for each sub-element created by bisection.

3 variants x 8 sub-tets = 24 entries total. Each variant uses a different internal diagonal for subdivision.

Definition at line 230 of file Tet10.hpp.

◆ dim

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

Definition at line 142 of file Tet10.hpp.

◆ elemType

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

Definition at line 141 of file Tet10.hpp.

◆ elevatedType

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

Element type after order elevation (O2 has no higher elevation defined)

Definition at line 198 of file Tet10.hpp.

◆ faceNodes

constexpr std::array<std::array<t_index, 10>, 4> DNDS::Geom::Elem::ElementTraits< Tet10 >::faceNodes
staticconstexpr
Initial value:
= {{
{0, 2, 1, 6, 5, 4},
{0, 1, 3, 4, 8, 7},
{1, 2, 3, 5, 9, 8},
{2, 0, 3, 6, 7, 9}}}

Node indices for each face (quadratic triangle)

Each face has 6 nodes: 3 vertices + 3 edge midpoints

Definition at line 187 of file Tet10.hpp.

◆ numBisect

constexpr int DNDS::Geom::Elem::ElementTraits< Tet10 >::numBisect = 8
staticconstexpr

Number of sub-elements created when bisecting (8 Tet4 elements)

Definition at line 208 of file Tet10.hpp.

◆ numBisectVariants

constexpr int DNDS::Geom::Elem::ElementTraits< Tet10 >::numBisectVariants = 3
staticconstexpr

Number of bisection variants (3 different diagonal choices)

A tetrahedron can be bisected in multiple ways depending on which internal diagonal is chosen for subdivision.

Definition at line 216 of file Tet10.hpp.

◆ numElevNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tet10 >::numElevNodes = 0
staticconstexpr

Number of additional nodes created during elevation (none for O2)

Definition at line 201 of file Tet10.hpp.

◆ numFaces

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

Definition at line 146 of file Tet10.hpp.

◆ numNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tet10 >::numNodes = 10
staticconstexpr

Definition at line 145 of file Tet10.hpp.

◆ numVertices

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

Definition at line 144 of file Tet10.hpp.

◆ order

constexpr int DNDS::Geom::Elem::ElementTraits< Tet10 >::order = 2
staticconstexpr

Definition at line 143 of file Tet10.hpp.

◆ paramSpace

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

Definition at line 147 of file Tet10.hpp.

◆ paramSpaceVol

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

Definition at line 148 of file Tet10.hpp.

◆ standardCoords

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

Standard coordinates of nodes in parametric space.

Nodes 0-3: vertices (same as Tet4) Nodes 4-9: edge midpoints

Definition at line 160 of file Tet10.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Tet10 >::vtkCellType = 24
staticconstexpr

VTK cell type identifier (24 = VTK_QUADRATIC_TETRA)

Definition at line 264 of file Tet10.hpp.

◆ vtkNodeOrder

constexpr std::array<int, 10> DNDS::Geom::Elem::ElementTraits< Tet10 >::vtkNodeOrder = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
staticconstexpr

VTK node ordering map.

VTK uses the same ordering as DNDS for Tet10: VTK nodes 0-3 = corner nodes 0-3 VTK nodes 4-9 = edge mid-nodes 4-9

Definition at line 273 of file Tet10.hpp.


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