OGS
PrismRule15.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
17
namespace
MeshLib
18
{
19
44
class
PrismRule15
:
public
PrismRule
45
{
46
public
:
48
static
const
unsigned
n_all_nodes
= 15u;
49
51
static
const
CellType
cell_type
=
CellType::PRISM15
;
52
54
constexpr
static
const
unsigned
face_nodes
[5][8] = {
55
{0, 2, 1, 8, 7, 6, 99, 99},
// Face 0
56
{0, 1, 4, 3, 6, 13, 9, 12},
// Face 1
57
{1, 2, 5, 4, 7, 14, 10, 13},
// Face 2
58
{2, 0, 3, 5, 8, 12, 11, 14},
// Face 3
59
{3, 4, 5, 9, 10, 11, 99, 99}
// Face 4
60
};
61
63
constexpr
static
const
unsigned
edge_nodes
[9][3] = {
64
{0, 1, 6},
// Edge 0
65
{1, 2, 7},
// Edge 1
66
{0, 2, 8},
// Edge 2
67
{0, 3, 12},
// Edge 3
68
{1, 4, 13},
// Edge 4
69
{2, 5, 14},
// Edge 5
70
{3, 4, 9},
// Edge 6
71
{4, 5, 10},
// Edge 7
72
{3, 5, 11}
// Edge 8
73
};
74
76
static
const
unsigned
n_face_nodes
[5];
77
79
using
EdgeReturn
=
MeshLib::QuadraticEdgeReturn
;
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<PrismRule15>
(element_nodes, nodes);
89
}
90
};
/* class */
91
92
}
// namespace MeshLib
EdgeReturn.h
Element.h
Definition of the Element class.
PrismRule.h
MeshLib::CellRule::identifyFace
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
MeshLib::Element
Definition
Element.h:36
MeshLib::Node
Definition
Node.h:41
MeshLib::PrismRule15
Definition
PrismRule15.h:45
MeshLib::PrismRule15::n_all_nodes
static const unsigned n_all_nodes
Constant: The number of all nodes for this element.
Definition
PrismRule15.h:48
MeshLib::PrismRule15::identifyFace
static unsigned identifyFace(Node const *const *element_nodes, Node const *nodes[3])
Returns the ID of a face given an array of nodes.
Definition
PrismRule15.h:85
MeshLib::PrismRule15::cell_type
static const CellType cell_type
Constant: The FEM type of the element.
Definition
PrismRule15.h:51
MeshLib::PrismRule15::face_nodes
static constexpr const unsigned face_nodes[5][8]
Constant: Local node index table for faces.
Definition
PrismRule15.h:54
MeshLib::PrismRule15::edge_nodes
static constexpr const unsigned edge_nodes[9][3]
Constant: Local node index table for edge.
Definition
PrismRule15.h:63
MeshLib::PrismRule15::getFace
static const Element * getFace(const Element *e, unsigned i)
Returns the i-th face of the element.
Definition
PrismRule15.cpp:22
MeshLib::PrismRule15::n_face_nodes
static const unsigned n_face_nodes[5]
Constant: Table for the number of nodes for each face.
Definition
PrismRule15.h:76
MeshLib::PrismRule
Definition
PrismRule.h:20
MeshLib::QuadraticEdgeReturn
Returns quadratic order edge.
Definition
EdgeReturn.h:39
MeshLib
Definition
ProjectData.h:41
MeshLib::CellType
CellType
Types of mesh elements supported by OpenGeoSys.
Definition
MeshEnums.h:64
MeshLib::CellType::PRISM15
@ PRISM15
MeshLib
Elements
PrismRule15.h
Generated by
1.12.0