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

Element traits for 6-node linear prism (Prism6) More...

#include <Prism6.hpp>

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

Static Public Member Functions

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

Static Public Attributes

static constexpr ElemType elemType = Prism6
 
static constexpr int dim = 3
 
static constexpr int order = 1
 
static constexpr int numVertices = 6
 
static constexpr int numNodes = 6
 
static constexpr int numFaces = 5
 
static constexpr ParamSpace paramSpace = PrismSpace
 
static constexpr t_real paramSpaceVol = 1.0
 
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 >, 5 > faceNodes
 Node indices for each face.
 
static constexpr ElemType elevatedType = Prism18
 Element type after order elevation (O1 -> O2) Prism6 elevates to Prism18 (18-node quadratic prism)
 
static constexpr int numElevNodes = 12
 Number of additional nodes created during elevation.
 
static constexpr std::array< tElevSpan, 12 > elevSpans
 Elevation spans define new node connections.
 
static constexpr std::array< ElemType, 12 > elevNodeSpanTypes
 Element type of each elevation span.
 
static constexpr int vtkCellType = 13
 VTK cell type identifier (13 = VTK_WEDGE)
 
static constexpr std::array< int, 6 > vtkNodeOrder = {0, 1, 2, 3, 4, 5}
 VTK node ordering map.
 

Detailed Description

Element traits for 6-node linear prism (Prism6)

Prism6 is a 3D prismatic element combining triangular and quadrilateral faces. Commonly used for:

  • Boundary layer meshes
  • Extruded 2D meshes
  • Regions with strong anisotropy

Geometry:

  • Reference prism: triangle base extruded along z-axis from -1 to +1
  • 6 nodes at the vertices (3 on bottom, 3 on top)
  • Parametric space volume = 1.0

Faces:

  • 2 triangular faces (top and bottom)
  • 3 quadrilateral faces (sides)

Definition at line 117 of file Prism6.hpp.

Member Function Documentation

◆ GetFaceType()

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

Get the element type of a face.

Parameters
iFaceFace index (0-2 are quads, 3-4 are triangles)
Returns
Quad4 for side faces, Tri3 for cap faces

Definition at line 160 of file Prism6.hpp.

Member Data Documentation

◆ dim

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

Definition at line 124 of file Prism6.hpp.

◆ elemType

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

Definition at line 123 of file Prism6.hpp.

◆ elevatedType

constexpr ElemType DNDS::Geom::Elem::ElementTraits< Prism6 >::elevatedType = Prism18
staticconstexpr

Element type after order elevation (O1 -> O2) Prism6 elevates to Prism18 (18-node quadratic prism)

Definition at line 189 of file Prism6.hpp.

◆ elevNodeSpanTypes

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

Element type of each elevation span.

Definition at line 210 of file Prism6.hpp.

◆ elevSpans

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

Elevation spans define new node connections.

Elevation creates 12 new nodes: Spans 0-2: bottom triangle edge midpoints Spans 3-5: vertical edge midpoints Spans 6-8: top triangle edge midpoints Spans 9-11: side face centers

Definition at line 203 of file Prism6.hpp.

◆ faceNodes

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

Node indices for each face.

Face 0: nodes 0-1-4-3 (side, quadrilateral) Face 1: nodes 1-2-5-4 (side, quadrilateral) Face 2: nodes 2-0-3-5 (side, quadrilateral) Face 3: nodes 0-2-1 (bottom, triangle) Face 4: nodes 3-4-5 (top, triangle)

Definition at line 174 of file Prism6.hpp.

◆ numElevNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Prism6 >::numElevNodes = 12
staticconstexpr

Number of additional nodes created during elevation.

Definition at line 192 of file Prism6.hpp.

◆ numFaces

constexpr int DNDS::Geom::Elem::ElementTraits< Prism6 >::numFaces = 5
staticconstexpr

Definition at line 128 of file Prism6.hpp.

◆ numNodes

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

Definition at line 127 of file Prism6.hpp.

◆ numVertices

constexpr int DNDS::Geom::Elem::ElementTraits< Prism6 >::numVertices = 6
staticconstexpr

Definition at line 126 of file Prism6.hpp.

◆ order

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

Definition at line 125 of file Prism6.hpp.

◆ paramSpace

constexpr ParamSpace DNDS::Geom::Elem::ElementTraits< Prism6 >::paramSpace = PrismSpace
staticconstexpr

Definition at line 129 of file Prism6.hpp.

◆ paramSpaceVol

constexpr t_real DNDS::Geom::Elem::ElementTraits< Prism6 >::paramSpaceVol = 1.0
staticconstexpr

Definition at line 130 of file Prism6.hpp.

◆ standardCoords

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

Standard coordinates of nodes in parametric space.

Reference prism: triangular base (xi, eta) with zeta in [-1, 1] Nodes 0-2: bottom triangle (zeta = -1) Nodes 3-5: top triangle (zeta = +1)

Definition at line 143 of file Prism6.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Prism6 >::vtkCellType = 13
staticconstexpr

VTK cell type identifier (13 = VTK_WEDGE)

Definition at line 221 of file Prism6.hpp.

◆ vtkNodeOrder

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

VTK node ordering map.

VTK uses the same ordering as DNDS for Prism6: VTK nodes 0-5 = nodes 0-5

Definition at line 229 of file Prism6.hpp.


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