OGS
PyramidRule13.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "EdgeReturn.h"
14#include "Element.h"
15#include "PyramidRule.h"
16
17namespace MeshLib
18{
19
44{
45public:
47 static const unsigned n_all_nodes = 13u;
48
51
53 constexpr static const unsigned face_nodes[5][8] = {
54 {0, 1, 4, 5, 10, 9, 99, 99}, // Face 0
55 {1, 2, 4, 6, 11, 10, 99, 99}, // Face 1
56 {2, 3, 4, 7, 12, 11, 99, 99}, // Face 2
57 {3, 0, 4, 8, 9, 12, 99, 99}, // Face 3
58 {0, 3, 2, 1, 8, 7, 6, 5} // Face 4
59 };
60
62 constexpr static const unsigned edge_nodes[8][3] = {
63 {0, 1, 5}, // Edge 0
64 {1, 2, 6}, // Edge 1
65 {2, 3, 7}, // Edge 2
66 {3, 0, 8}, // Edge 3
67 {0, 4, 9}, // Edge 4
68 {1, 4, 10}, // Edge 5
69 {2, 4, 11}, // Edge 6
70 {3, 4, 12} // Edge 7
71 };
72
74 static const unsigned n_face_nodes[5];
75
78
80 static const Element* getFace(const Element* e, unsigned i);
81
83 static unsigned identifyFace(Node const* const* element_nodes,
84 Node const* nodes[3])
85 {
86 return CellRule::identifyFace<PyramidRule13>(element_nodes, nodes);
87 }
88}; /* class */
89
90} // namespace MeshLib
Definition of the Element class.
static unsigned identifyFace(Node const *const *element_nodes, Node const *nodes[ElementRule::dimension])
Returns the ID of a face given an array of nodes.
Definition CellRule.h:39
static constexpr const unsigned face_nodes[5][8]
Constant: Local node index table for faces.
static unsigned identifyFace(Node const *const *element_nodes, Node const *nodes[3])
Returns the ID of a face given an array of nodes.
static constexpr const unsigned edge_nodes[8][3]
Constant: Local node index table for edge.
static const unsigned n_face_nodes[5]
Constant: Table for the number of nodes for each face.
static const Element * getFace(const Element *e, unsigned i)
Returns the i-th face of the element.
static const unsigned n_all_nodes
Constant: The number of all nodes for this element.
static const CellType cell_type
Constant: The FEM type of the element.
Returns quadratic order edge.
Definition EdgeReturn.h:39
CellType
Types of mesh elements supported by OpenGeoSys.
Definition MeshEnums.h:64