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

Element traits for 2-node linear line element (Line2) More...

#include <Line2.hpp>

Collaboration diagram for DNDS::Geom::Elem::ElementTraits< Line2 >:
[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 = Line2
 Element type enum value for static dispatch.
 
static constexpr int dim = 1
 Spatial dimension (1 = line element)
 
static constexpr int order = 1
 Polynomial order of shape functions (1 = linear)
 
static constexpr int numVertices = 2
 Number of vertices (2 endpoints)
 
static constexpr int numNodes = 2
 Total number of nodes (same as vertices for linear element)
 
static constexpr int numFaces = 0
 Number of faces (0 for 1D element - endpoints are nodes, not faces)
 
static constexpr ParamSpace paramSpace = LineSpace
 Parametric space type (line space: xi in [-1, 1])
 
static constexpr t_real paramSpaceVol = 2.0
 Volume of parametric space (length = 2.0)
 
static constexpr std::array< t_real, 3 *2 > standardCoords
 Standard coordinates of nodes in parametric space.
 
static constexpr ElemType elevatedType = Line3
 Element type after order elevation (O1 -> O2) Line2 elevates to Line3 (3-node quadratic line)
 
static constexpr int numElevNodes = 1
 Number of additional nodes created during elevation.
 
static constexpr std::array< tElevSpan, 1 > elevSpans
 Elevation spans define which parent nodes each new node connects.
 
static constexpr std::array< ElemType, 1 > elevNodeSpanTypes = {Line2}
 Element type of each elevation span (all Line2 edges)
 
static constexpr int vtkCellType = 3
 VTK cell type identifier (3 = VTK_LINE)
 
static constexpr std::array< int, 2 > vtkNodeOrder = {0, 1}
 VTK node ordering map.
 

Detailed Description

Element traits for 2-node linear line element (Line2)

Line2 is a 1D linear element with nodes at the endpoints. Used as edge/face elements for 2D/3D meshes.

Definition at line 63 of file Line2.hpp.

Member Function Documentation

◆ GetFaceType()

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

Get the element type of a face.

Parameters
iFaceFace index (unused for Line2 as it has no faces)
Returns
UnknownElem (1D elements don't have faces in the traditional sense)

Definition at line 118 of file Line2.hpp.

Member Data Documentation

◆ dim

constexpr int DNDS::Geom::Elem::ElementTraits< Line2 >::dim = 1
staticconstexpr

Spatial dimension (1 = line element)

Definition at line 73 of file Line2.hpp.

◆ elemType

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

Element type enum value for static dispatch.

Definition at line 70 of file Line2.hpp.

◆ elevatedType

constexpr ElemType DNDS::Geom::Elem::ElementTraits< Line2 >::elevatedType = Line3
staticconstexpr

Element type after order elevation (O1 -> O2) Line2 elevates to Line3 (3-node quadratic line)

Definition at line 128 of file Line2.hpp.

◆ elevNodeSpanTypes

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

Element type of each elevation span (all Line2 edges)

Definition at line 144 of file Line2.hpp.

◆ elevSpans

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

Elevation spans define which parent nodes each new node connects.

For Line2 -> Line3:

  • 1 new node at the midpoint
  • Span {0, 1} means this new node connects nodes 0 and 1

Definition at line 140 of file Line2.hpp.

◆ numElevNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Line2 >::numElevNodes = 1
staticconstexpr

Number of additional nodes created during elevation.

Definition at line 131 of file Line2.hpp.

◆ numFaces

constexpr int DNDS::Geom::Elem::ElementTraits< Line2 >::numFaces = 0
staticconstexpr

Number of faces (0 for 1D element - endpoints are nodes, not faces)

Definition at line 85 of file Line2.hpp.

◆ numNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Line2 >::numNodes = 2
staticconstexpr

Total number of nodes (same as vertices for linear element)

Definition at line 82 of file Line2.hpp.

◆ numVertices

constexpr int DNDS::Geom::Elem::ElementTraits< Line2 >::numVertices = 2
staticconstexpr

Number of vertices (2 endpoints)

Definition at line 79 of file Line2.hpp.

◆ order

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

Polynomial order of shape functions (1 = linear)

Definition at line 76 of file Line2.hpp.

◆ paramSpace

constexpr ParamSpace DNDS::Geom::Elem::ElementTraits< Line2 >::paramSpace = LineSpace
staticconstexpr

Parametric space type (line space: xi in [-1, 1])

Definition at line 88 of file Line2.hpp.

◆ paramSpaceVol

constexpr t_real DNDS::Geom::Elem::ElementTraits< Line2 >::paramSpaceVol = 2.0
staticconstexpr

Volume of parametric space (length = 2.0)

Definition at line 91 of file Line2.hpp.

◆ standardCoords

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

Standard coordinates of nodes in parametric space.

Format: {x, y, z} for each node. Even though this is 1D, we store 3D coordinates for consistency with higher-D elements. Node 0: xi = -1 -> (-1, 0, 0) Node 1: xi = +1 -> ( 1, 0, 0)

Definition at line 105 of file Line2.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Line2 >::vtkCellType = 3
staticconstexpr

VTK cell type identifier (3 = VTK_LINE)

Definition at line 151 of file Line2.hpp.

◆ vtkNodeOrder

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

VTK node ordering map.

For Line2, VTK uses the same ordering as DNDS: VTK node 0 = DNDS node 0 VTK node 1 = DNDS node 1

Definition at line 160 of file Line2.hpp.


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