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