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

Element traits for 3-node linear triangle (Tri3) More...

#include <Tri3.hpp>

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

Static Public Member Functions

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

Static Public Attributes

static constexpr ElemType elemType = Tri3
 
static constexpr int dim = 2
 
static constexpr int order = 1
 
static constexpr int numVertices = 3
 
static constexpr int numNodes = 3
 
static constexpr int numFaces = 3
 
static constexpr ParamSpace paramSpace = TriSpace
 
static constexpr t_real paramSpaceVol = 0.5
 
static constexpr std::array< t_real, 3 *3 > 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 = Tri6
 Element type after order elevation (O1 -> O2) Tri3 elevates to Tri6 (6-node quadratic triangle)
 
static constexpr int numElevNodes = 3
 Number of additional nodes created during elevation (3 edge midpoints)
 
static constexpr std::array< tElevSpan, 3 > elevSpans
 Elevation spans define edge midpoints.
 
static constexpr std::array< ElemType, 3 > elevNodeSpanTypes = {Line2, Line2, Line2}
 Element type of each elevation span (all are Line2 edges)
 
static constexpr int vtkCellType = 5
 VTK cell type identifier (5 = VTK_TRIANGLE)
 
static constexpr std::array< int, 3 > vtkNodeOrder = {0, 1, 2}
 VTK node ordering map.
 

Detailed Description

Element traits for 3-node linear triangle (Tri3)

Tri3 is the simplest 2D element, commonly used for:

  • Unstructured triangular meshes
  • Simplex mesh generation
  • Boundary layer regions requiring high aspect ratio cells

Geometry:

  • Reference triangle with vertices at (0,0), (1,0), (0,1)
  • Parametric space is a right triangle with area = 0.5

Faces:

  • 3 edges, each is a Line2 element

Definition at line 77 of file Tri3.hpp.

Member Function Documentation

◆ GetFaceType()

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

Get the element type of a face (edge)

Returns
Line2 (all edges of triangle are linear lines)

Definition at line 118 of file Tri3.hpp.

Member Data Documentation

◆ dim

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

Definition at line 84 of file Tri3.hpp.

◆ elemType

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

Definition at line 83 of file Tri3.hpp.

◆ elevatedType

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

Element type after order elevation (O1 -> O2) Tri3 elevates to Tri6 (6-node quadratic triangle)

Definition at line 142 of file Tri3.hpp.

◆ elevNodeSpanTypes

constexpr std::array<ElemType, 3> DNDS::Geom::Elem::ElementTraits< Tri3 >::elevNodeSpanTypes = {Line2, Line2, Line2}
staticconstexpr

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

Definition at line 161 of file Tri3.hpp.

◆ elevSpans

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

Elevation spans define edge midpoints.

Each new node is at the midpoint of an edge: Span 0: nodes {0, 1} -> edge 0 midpoint Span 1: nodes {1, 2} -> edge 1 midpoint Span 2: nodes {2, 0} -> edge 2 midpoint

Definition at line 155 of file Tri3.hpp.

◆ faceNodes

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

Node indices for each face (edge)

Edge 0: nodes 0-1 (bottom edge along xi axis) Edge 1: nodes 1-2 (hypotenuse from (1,0) to (0,1)) Edge 2: nodes 2-0 (left edge along eta axis)

Note: Face normal direction follows right-hand rule.

Definition at line 129 of file Tri3.hpp.

◆ numElevNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tri3 >::numElevNodes = 3
staticconstexpr

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

Definition at line 145 of file Tri3.hpp.

◆ numFaces

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

Definition at line 88 of file Tri3.hpp.

◆ numNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Tri3 >::numNodes = 3
staticconstexpr

Definition at line 87 of file Tri3.hpp.

◆ numVertices

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

Definition at line 86 of file Tri3.hpp.

◆ order

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

Definition at line 85 of file Tri3.hpp.

◆ paramSpace

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

Definition at line 89 of file Tri3.hpp.

◆ paramSpaceVol

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

Definition at line 90 of file Tri3.hpp.

◆ standardCoords

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

Standard coordinates of nodes in parametric space.

Node 0: (0, 0) - origin Node 1: (1, 0) - on xi axis Node 2: (0, 1) - on eta axis

Forms a right triangle covering half of the unit square.

Definition at line 105 of file Tri3.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Tri3 >::vtkCellType = 5
staticconstexpr

VTK cell type identifier (5 = VTK_TRIANGLE)

Definition at line 168 of file Tri3.hpp.

◆ vtkNodeOrder

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

VTK node ordering map.

VTK uses the same ordering as DNDS for Tri3: VTK node 0 = DNDS node 0 VTK node 1 = DNDS node 1 VTK node 2 = DNDS node 2

Definition at line 178 of file Tri3.hpp.


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