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

Element traits for 4-node bilinear quadrilateral (Quad4) More...

#include <Quad4.hpp>

Collaboration diagram for DNDS::Geom::Elem::ElementTraits< Quad4 >:
[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 = Quad4
 
static constexpr int dim = 2
 
static constexpr int order = 1
 
static constexpr int numVertices = 4
 
static constexpr int numNodes = 4
 
static constexpr int numFaces = 4
 
static constexpr ParamSpace paramSpace = QuadSpace
 
static constexpr t_real paramSpaceVol = 4.0
 
static constexpr std::array< t_real, 3 *4 > standardCoords
 Standard coordinates of nodes in parametric space.
 
static constexpr std::array< std::array< t_index, 10 >, 4 > faceNodes
 Node indices for each face (edge)
 
static constexpr ElemType elevatedType = Quad9
 Element type after order elevation (O1 -> O2) Quad4 elevates to Quad9 (9-node biquadratic quad)
 
static constexpr int numElevNodes = 5
 Number of additional nodes created during elevation.
 
static constexpr std::array< tElevSpan, 5 > elevSpans
 Elevation spans define new node connections.
 
static constexpr std::array< ElemType, 5 > elevNodeSpanTypes
 Element type of each elevation span.
 
static constexpr int vtkCellType = 9
 VTK cell type identifier (9 = VTK_QUAD)
 
static constexpr std::array< int, 4 > vtkNodeOrder = {0, 1, 2, 3}
 VTK node ordering map.
 

Detailed Description

Element traits for 4-node bilinear quadrilateral (Quad4)

Quad4 is the simplest 2D quadrilateral element, commonly used for:

  • Structured and unstructured quadrilateral meshes
  • Boundary-fitted grids
  • Isoparametric mapping

Geometry:

  • Reference quad: xi in [-1, 1], eta in [-1, 1]
  • Nodes at the 4 corners of the reference square
  • Parametric space area = 4.0

Faces:

  • 4 edges, each is a Line2 element

Definition at line 96 of file Quad4.hpp.

Member Function Documentation

◆ GetFaceType()

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

Get the element type of a face (edge)

Returns
Line2 (all edges of quad are linear lines)

Definition at line 138 of file Quad4.hpp.

Member Data Documentation

◆ dim

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

Definition at line 103 of file Quad4.hpp.

◆ elemType

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

Definition at line 102 of file Quad4.hpp.

◆ elevatedType

constexpr ElemType DNDS::Geom::Elem::ElementTraits< Quad4 >::elevatedType = Quad9
staticconstexpr

Element type after order elevation (O1 -> O2) Quad4 elevates to Quad9 (9-node biquadratic quad)

Definition at line 162 of file Quad4.hpp.

◆ elevNodeSpanTypes

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

Element type of each elevation span.

Definition at line 182 of file Quad4.hpp.

◆ elevSpans

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

Elevation spans define new node connections.

Elevation creates 5 new nodes: Spans 0-3: edge midpoints (4 nodes on edges) Span 4: body center (1 node connecting all 4 vertices)

Definition at line 174 of file Quad4.hpp.

◆ faceNodes

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

Node indices for each face (edge)

Edge 0: nodes 0-1 (bottom edge) Edge 1: nodes 1-2 (right edge) Edge 2: nodes 2-3 (top edge) Edge 3: nodes 3-0 (left edge)

Definition at line 148 of file Quad4.hpp.

◆ numElevNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Quad4 >::numElevNodes = 5
staticconstexpr

Number of additional nodes created during elevation.

Definition at line 165 of file Quad4.hpp.

◆ numFaces

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

Definition at line 107 of file Quad4.hpp.

◆ numNodes

constexpr int DNDS::Geom::Elem::ElementTraits< Quad4 >::numNodes = 4
staticconstexpr

Definition at line 106 of file Quad4.hpp.

◆ numVertices

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

Definition at line 105 of file Quad4.hpp.

◆ order

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

Definition at line 104 of file Quad4.hpp.

◆ paramSpace

constexpr ParamSpace DNDS::Geom::Elem::ElementTraits< Quad4 >::paramSpace = QuadSpace
staticconstexpr

Definition at line 108 of file Quad4.hpp.

◆ paramSpaceVol

constexpr t_real DNDS::Geom::Elem::ElementTraits< Quad4 >::paramSpaceVol = 4.0
staticconstexpr

Definition at line 109 of file Quad4.hpp.

◆ standardCoords

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

Standard coordinates of nodes in parametric space.

Reference square [-1,1] x [-1,1] with nodes at corners: Node 0: (-1, -1) - bottom-left Node 1: ( 1, -1) - bottom-right Node 2: ( 1, 1) - top-right Node 3: (-1, 1) - top-left

Definition at line 124 of file Quad4.hpp.

◆ vtkCellType

constexpr int DNDS::Geom::Elem::ElementTraits< Quad4 >::vtkCellType = 9
staticconstexpr

VTK cell type identifier (9 = VTK_QUAD)

Definition at line 191 of file Quad4.hpp.

◆ vtkNodeOrder

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

VTK node ordering map.

VTK uses the same ordering as DNDS for Quad4: VTK node 0 = DNDS node 0, VTK node 1 = DNDS node 1, etc.

Definition at line 199 of file Quad4.hpp.


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