DNDSR
0.1.0.dev1+gcd065ad
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) {if (call) cg_error_exit();}
10
11
// todo: make these mappings easy to maintain (like, inverted with program)
12
inline
constexpr
Elem::ElemType
__getElemTypeFromCGNSType
(ElementType_t cgns_et)
13
{
14
switch
(cgns_et)
15
{
16
case
BAR_2:
17
return
Elem::Line2
;
18
case
BAR_3:
19
return
Elem::Line3
;
20
case
TRI_3:
21
return
Elem::Tri3
;
22
case
TRI_6:
23
case
QUAD_4:
24
return
Elem::Quad4
;
25
case
QUAD_9:
26
return
Elem::Quad9
;
27
case
TETRA_4:
28
return
Elem::Tet4
;
29
case
TETRA_10:
30
return
Elem::Tet10
;
31
case
HEXA_8:
32
return
Elem::Hex8
;
33
case
HEXA_27:
34
return
Elem::Hex27
;
35
case
PENTA_6:
36
return
Elem::Prism6
;
37
case
PENTA_18:
38
return
Elem::Prism18
;
39
case
PYRA_5:
40
return
Elem::Pyramid5
;
41
case
PYRA_14:
42
return
Elem::Pyramid14
;
43
default
:
44
return
Elem::UnknownElem
;
45
}
46
}
47
48
inline
constexpr
ElementType_t
__getCGNSTypeFromElemType
(
Elem::ElemType
et)
49
{
50
switch
(et)
51
{
52
case
Elem::Line2
:
53
return
BAR_2;
54
case
Elem::Line3
:
55
return
BAR_3;
56
case
Elem::Tri3
:
57
return
TRI_3;
58
case
Elem::Tri6
:
59
return
TRI_6;
60
case
Elem::Quad4
:
61
return
QUAD_4;
62
case
Elem::Quad9
:
63
return
QUAD_9;
64
case
Elem::Tet4
:
65
return
TETRA_4;
66
case
Elem::Tet10
:
67
return
TETRA_10;
68
case
Elem::Hex8
:
69
return
HEXA_8;
70
case
Elem::Hex27
:
71
return
HEXA_27;
72
case
Elem::Prism6
:
73
return
PENTA_6;
74
case
Elem::Prism18
:
75
return
PENTA_18;
76
case
Elem::Pyramid5
:
77
return
PYRA_5;
78
case
Elem::Pyramid14
:
79
return
PYRA_14;
80
default
:
81
return
ElementTypeNull;
82
}
83
}
84
85
}
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:12
DNDS::Geom::__getCGNSTypeFromElemType
constexpr ElementType_t __getCGNSTypeFromElemType(Elem::ElemType et)
Definition
CGNS.hpp:48
src
Geom
CGNS.hpp
Generated by
1.9.8