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

Element traits for 6-node quadratic triangle (Tri6) More...

#include <Tri6.hpp>

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

Static Public Member Functions

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

Static Public Attributes

static constexpr ElemType elemType = Tri6
 
static constexpr int dim = 2
 
static constexpr int order = 2
 
static constexpr int numVertices = 3
 
static constexpr int numNodes = 6
 
static constexpr int numFaces = 3
 
static constexpr ParamSpace paramSpace = TriSpace
 
static constexpr t_real paramSpaceVol = 0.5
 
static constexpr std::array< t_real, 3 *6 > standardCoords
 Standard coordinates of nodes in parametric space.
 
static constexpr std::array< std::array< t_index, 10 >, 3 > faceNodes
 Node indices for each face (edge)
 
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 = 4
 Number of sub-elements created when bisecting (4 Tri3 elements)
 
static constexpr int numBisectVariants = 1
 Number of bisection variants (only 1 way to uniformly bisect)
 
static constexpr std::array< tBisectSub, 4 > bisectElements
 Node indices for each sub-element created by bisection.
 
static constexpr int vtkCellType = 22
 VTK cell type identifier (22 = VTK_QUADRATIC_TRIANGLE)
 
static constexpr std::array< int, 6 > vtkNodeOrder = {0, 1, 2, 3, 4, 5}
 VTK node ordering map.
 

Detailed Description

Element traits for 6-node quadratic triangle (Tri6)

Tri6 is a high-order 2D triangular element with:

  • 3 corner nodes (vertices)
  • 3 edge mid-nodes

Used for high-order finite element methods and curved boundary representation.

Definition at line 97 of file Tri6.hpp.

Member Function Documentation

◆ GetBisectElemType()

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

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

Returns
Tri3 (all sub-elements are linear triangles)

Definition at line 178 of file Tri6.hpp.

◆ GetFaceType()

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

Get the element type of a face (edge)

Returns
Line3 (all edges are quadratic lines with 3 nodes)

Definition at line 139 of file Tri6.hpp.

Member Data Documentation

◆ bisectElements

constexpr std::array<tBisectSub, 4> DNDS::Geom::Elem::ElementTraits< Tri6 >::bisectElements
staticconstexpr
Initial value:
= {{
{0, 3, 5},
{3, 1, 4},
{5, 3, 4},
{5, 4, 2}}}

Node indices for each sub-element created by bisection.

Bisecting creates 4 sub-triangles by connecting edge midpoints: Sub-element 0: corner at node 0 Sub-element 1: corner at node 1 Sub-element 2: corner at node 2 Sub-element 3: center triangle

Definition at line 189 of file Tri6.hpp.

◆ dim

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::dim = 2
staticconstexpr

Definition at line 104 of file Tri6.hpp.

◆ elemType

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

Definition at line 103 of file Tri6.hpp.

◆ elevatedType

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

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

Definition at line 159 of file Tri6.hpp.

◆ faceNodes

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

Node indices for each face (edge)

Each edge has 3 nodes: 2 vertices + 1 midpoint Edge 0: nodes 0-1-3 Edge 1: nodes 1-2-4 Edge 2: nodes 2-0-5

Definition at line 149 of file Tri6.hpp.

◆ numBisect

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::numBisect = 4
staticconstexpr

Number of sub-elements created when bisecting (4 Tri3 elements)

Definition at line 169 of file Tri6.hpp.

◆ numBisectVariants

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::numBisectVariants = 1
staticconstexpr

Number of bisection variants (only 1 way to uniformly bisect)

Definition at line 172 of file Tri6.hpp.

◆ numElevNodes

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

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

Definition at line 162 of file Tri6.hpp.

◆ numFaces

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::numFaces = 3
staticconstexpr

Definition at line 108 of file Tri6.hpp.

◆ numNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::numNodes = 6
staticconstexpr

Definition at line 107 of file Tri6.hpp.

◆ numVertices

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::numVertices = 3
staticconstexpr

Definition at line 106 of file Tri6.hpp.

◆ order

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

Definition at line 105 of file Tri6.hpp.

◆ paramSpace

constexpr ParamSpace DNDS::Geom::Elem::ElementTraits< Tri6 >::paramSpace = TriSpace
staticconstexpr

Definition at line 109 of file Tri6.hpp.

◆ paramSpaceVol

constexpr t_real DNDS::Geom::Elem::ElementTraits< Tri6 >::paramSpaceVol = 0.5
staticconstexpr

Definition at line 110 of file Tri6.hpp.

◆ standardCoords

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

Standard coordinates of nodes in parametric space.

Reference triangle with nodes: Nodes 0-2: vertices (same as Tri3) Nodes 3-5: edge midpoints

Definition at line 123 of file Tri6.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Tri6 >::vtkCellType = 22
staticconstexpr

VTK cell type identifier (22 = VTK_QUADRATIC_TRIANGLE)

Definition at line 200 of file Tri6.hpp.

◆ vtkNodeOrder

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

VTK node ordering map.

VTK uses the same ordering as DNDS for Tri6: VTK nodes 0-2 = corner nodes 0-2 VTK nodes 3-5 = edge mid-nodes 3-5

Definition at line 209 of file Tri6.hpp.


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