DNDSR
0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
CGNS.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Elements.hpp
"
4
5
#include <cgnslib.h>
6
7
namespace
DNDS::Geom
8
{
9
#define DNDS_CGNS_CALL_EXIT(call) \
10
{ \
11
if (call) \
12
cg_error_exit(); \
13
}
14
15
// todo: make these mappings easy to maintain (like, inverted with program)
16
constexpr
Elem::ElemType
_getElemTypeFromCGNSType
(ElementType_t cgns_et)
17
{
18
switch
(cgns_et)
19
{
20
case
BAR_2:
21
return
Elem::Line2
;
22
case
BAR_3:
23
return
Elem::Line3
;
24
case
TRI_3:
25
return
Elem::Tri3
;
26
case
TRI_6:
27
return
Elem::Tri6
;
28
case
QUAD_4:
29
return
Elem::Quad4
;
30
case
QUAD_9:
31
return
Elem::Quad9
;
32
case
TETRA_4:
33
return
Elem::Tet4
;
34
case
TETRA_10:
35
return
Elem::Tet10
;
36
case
HEXA_8:
37
return
Elem::Hex8
;
38
case
HEXA_27:
39
return
Elem::Hex27
;
40
case
PENTA_6:
41
return
Elem::Prism6
;
42
case
PENTA_18:
43
return
Elem::Prism18
;
44
case
PYRA_5:
45
return
Elem::Pyramid5
;
46
case
PYRA_14:
47
return
Elem::Pyramid14
;
48
default
:
49
return
Elem::UnknownElem
;
50
}
51
}
52
53
constexpr
ElementType_t
_getCGNSTypeFromElemType
(
Elem::ElemType
et)
54
{
55
switch
(et)
56
{
57
case
Elem::Line2
:
58
return
BAR_2;
59
case
Elem::Line3
:
60
return
BAR_3;
61
case
Elem::Tri3
:
62
return
TRI_3;
63
case
Elem::Tri6
:
64
return
TRI_6;
65
case
Elem::Quad4
:
66
return
QUAD_4;
67
case
Elem::Quad9
:
68
return
QUAD_9;
69
case
Elem::Tet4
:
70
return
TETRA_4;
71
case
Elem::Tet10
:
72
return
TETRA_10;
73
case
Elem::Hex8
:
74
return
HEXA_8;
75
case
Elem::Hex27
:
76
return
HEXA_27;
77
case
Elem::Prism6
:
78
return
PENTA_6;
79
case
Elem::Prism18
:
80
return
PENTA_18;
81
case
Elem::Pyramid5
:
82
return
PYRA_5;
83
case
Elem::Pyramid14
:
84
return
PYRA_14;
85
default
:
86
return
ElementTypeNull;
87
}
88
}
89
90
}
Elements.hpp
DNDS::Geom::Elem::ElemType
ElemType
Definition
ElemEnum.hpp:19
DNDS::Geom::Elem::Line2
@ Line2
Definition
ElemEnum.hpp:21
DNDS::Geom::Elem::Hex27
@ Hex27
Definition
ElemEnum.hpp:32
DNDS::Geom::Elem::Tri6
@ Tri6
Definition
ElemEnum.hpp:25
DNDS::Geom::Elem::Prism18
@ Prism18
Definition
ElemEnum.hpp:34
DNDS::Geom::Elem::Hex8
@ Hex8
Definition
ElemEnum.hpp:31
DNDS::Geom::Elem::Tet10
@ Tet10
Definition
ElemEnum.hpp:30
DNDS::Geom::Elem::Line3
@ Line3
Definition
ElemEnum.hpp:22
DNDS::Geom::Elem::Pyramid14
@ Pyramid14
Definition
ElemEnum.hpp:36
DNDS::Geom::Elem::Quad9
@ Quad9
Definition
ElemEnum.hpp:27
DNDS::Geom::Elem::Prism6
@ Prism6
Definition
ElemEnum.hpp:33
DNDS::Geom::Elem::Quad4
@ Quad4
Definition
ElemEnum.hpp:26
DNDS::Geom::Elem::Tri3
@ Tri3
Definition
ElemEnum.hpp:24
DNDS::Geom::Elem::UnknownElem
@ UnknownElem
Definition
ElemEnum.hpp:20
DNDS::Geom::Elem::Tet4
@ Tet4
Definition
ElemEnum.hpp:29
DNDS::Geom::Elem::Pyramid5
@ Pyramid5
Definition
ElemEnum.hpp:35
DNDS::Geom
Definition
BaseFunction.hpp:10
DNDS::Geom::_getElemTypeFromCGNSType
constexpr Elem::ElemType _getElemTypeFromCGNSType(ElementType_t cgns_et)
Definition
CGNS.hpp:16
DNDS::Geom::_getCGNSTypeFromElemType
constexpr ElementType_t _getCGNSTypeFromElemType(Elem::ElemType et)
Definition
CGNS.hpp:53
src
Geom
CGNS.hpp
Generated by
1.9.8