NEMoSys
0.63.0
A modular, extensible resource with robust automated mesh generation, mesh quality analysis, adaptive mesh refinement, and data transfer between arbitrary meshes.
gmshTypes.H
Go to the documentation of this file.
1
/*******************************************************************************
2
* Promesh *
3
* Copyright (C) 2022, IllinoisRocstar LLC. All rights reserved. *
4
* *
5
* Promesh is the property of IllinoisRocstar LLC. *
6
* *
7
* IllinoisRocstar LLC *
8
* Champaign, IL *
9
* www.illinoisrocstar.com *
10
* promesh@illinoisrocstar.com *
11
*******************************************************************************/
12
/*******************************************************************************
13
* This file is part of Promesh *
14
* *
15
* This version of Promesh is free software: you can redistribute it and/or *
16
* modify it under the terms of the GNU Lesser General Public License as *
17
* published by the Free Software Foundation, either version 3 of the License, *
18
* or (at your option) any later version. *
19
* *
20
* Promesh is distributed in the hope that it will be useful, but WITHOUT ANY *
21
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *
22
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more *
23
* details. *
24
* *
25
* You should have received a copy of the GNU Lesser General Public License *
26
* along with this program. If not, see <https://www.gnu.org/licenses/>. *
27
* *
28
*******************************************************************************/
29
#ifndef NEMOSYS_GMSHTYPES_H_
30
#define NEMOSYS_GMSHTYPES_H_
31
32
/**
33
* The Gmsh types are taken from gmsh/GmshDefines.h header from Gmsh 4.4.1
34
*
35
* Useful regex when adding in bulk: (?<=MSH_\w*)\W*(?=[0-9]*$)
36
*
37
* Note: enums are UNSCOPED. This is to enable compatibility when using gmsh
38
* functions as they take the int as the argument.
39
*/
40
enum
GMSH_ALGO_TYPES
{
41
// Surface and Volume meshing algorithms
42
ALGO_2D_MESHADAPT
= 1,
43
ALGO_2D_AUTO
= 2,
44
ALGO_2D_DELAUNAY
= 5,
45
ALGO_2D_FRONTAL
= 6,
// gmsh default
46
ALGO_2D_BAMG
= 7,
47
ALGO_2D_FRONTAL_QUAD
= 8,
48
ALGO_2D_PACK_PRLGRMS
= 9,
49
ALGO_2D_PACK_PRLGRMS_CSTR
= 10,
// not in documentation
50
};
51
enum
GMSH_ALGO_3D
{
52
ALGO_3D_DELAUNAY
= 1,
// gmsh default
53
ALGO_3D_FRONTAL
= 4,
54
ALGO_3D_MMG3D
= 7,
55
ALGO_3D_RTREE
= 9,
56
ALGO_3D_HXT
= 10,
57
};
58
// Not in GmshDefines.h
59
enum
GMSH_ALGO_RECOMBINATION
{
60
ALGO_RECOMBINE_SIMPLE
= 0,
61
ALGO_RECOMBINE_BLOSSOM
= 1,
// gmsh default
62
ALGO_RECOMBINE_SIMPLE_FULLQUAD
= 2,
63
ALGO_RECOMBINE_BLOSSOM_FULLQUAD
= 3,
64
};
65
enum
GMSH_MSH_TYPES
{
66
// Element types in .msh file format (numbers should not be changed)
67
MSH_LIN_2
= 1,
68
MSH_TRI_3
= 2,
69
MSH_QUA_4
= 3,
70
MSH_TET_4
= 4,
71
MSH_HEX_8
= 5,
72
MSH_PRI_6
= 6,
73
MSH_PYR_5
= 7,
74
MSH_LIN_3
= 8,
75
MSH_TRI_6
= 9,
76
MSH_QUA_9
= 10,
77
MSH_TET_10
= 11,
78
MSH_HEX_27
= 12,
79
MSH_PRI_18
= 13,
80
MSH_PYR_14
= 14,
81
MSH_PNT
= 15,
82
MSH_QUA_8
= 16,
83
MSH_HEX_20
= 17,
84
MSH_PRI_15
= 18,
85
MSH_PYR_13
= 19,
86
MSH_TRI_9
= 20,
87
MSH_TRI_10
= 21,
88
MSH_TRI_12
= 22,
89
MSH_TRI_15
= 23,
90
MSH_TRI_15I
= 24,
91
MSH_TRI_21
= 25,
92
MSH_LIN_4
= 26,
93
MSH_LIN_5
= 27,
94
MSH_LIN_6
= 28,
95
MSH_TET_20
= 29,
96
MSH_TET_35
= 30,
97
MSH_TET_56
= 31,
98
MSH_TET_22
= 32,
99
MSH_TET_28
= 33,
100
MSH_POLYG_
= 34,
101
MSH_POLYH_
= 35,
102
MSH_QUA_16
= 36,
103
MSH_QUA_25
= 37,
104
MSH_QUA_36
= 38,
105
MSH_QUA_12
= 39,
106
MSH_QUA_16I
= 40,
107
MSH_QUA_20
= 41,
108
MSH_TRI_28
= 42,
109
MSH_TRI_36
= 43,
110
MSH_TRI_45
= 44,
111
MSH_TRI_55
= 45,
112
MSH_TRI_66
= 46,
113
MSH_QUA_49
= 47,
114
MSH_QUA_64
= 48,
115
MSH_QUA_81
= 49,
116
MSH_QUA_100
= 50,
117
MSH_QUA_121
= 51,
118
MSH_TRI_18
= 52,
119
MSH_TRI_21I
= 53,
120
MSH_TRI_24
= 54,
121
MSH_TRI_27
= 55,
122
MSH_TRI_30
= 56,
123
MSH_QUA_24
= 57,
124
MSH_QUA_28
= 58,
125
MSH_QUA_32
= 59,
126
MSH_QUA_36I
= 60,
127
MSH_QUA_40
= 61,
128
MSH_LIN_7
= 62,
129
MSH_LIN_8
= 63,
130
MSH_LIN_9
= 64,
131
MSH_LIN_10
= 65,
132
MSH_LIN_11
= 66,
133
MSH_LIN_B
= 67,
134
MSH_TRI_B
= 68,
135
MSH_POLYG_B
= 69,
136
MSH_LIN_C
= 70,
137
// TETS COMPLETE (6->10)
138
MSH_TET_84
= 71,
139
MSH_TET_120
= 72,
140
MSH_TET_165
= 73,
141
MSH_TET_220
= 74,
142
MSH_TET_286
= 75,
143
// TETS INCOMPLETE (6->10)
144
MSH_TET_34
= 79,
145
MSH_TET_40
= 80,
146
MSH_TET_46
= 81,
147
MSH_TET_52
= 82,
148
MSH_TET_58
= 83,
149
//
150
MSH_LIN_1
= 84,
151
MSH_TRI_1
= 85,
152
MSH_QUA_1
= 86,
153
MSH_TET_1
= 87,
154
MSH_HEX_1
= 88,
155
MSH_PRI_1
= 89,
156
MSH_PRI_40
= 90,
157
MSH_PRI_75
= 91,
158
// HEXES COMPLETE (3->9)
159
MSH_HEX_64
= 92,
160
MSH_HEX_125
= 93,
161
MSH_HEX_216
= 94,
162
MSH_HEX_343
= 95,
163
MSH_HEX_512
= 96,
164
MSH_HEX_729
= 97,
165
MSH_HEX_1000
= 98,
166
// HEXES INCOMPLETE (3->9)
167
MSH_HEX_32
= 99,
168
MSH_HEX_44
= 100,
169
MSH_HEX_56
= 101,
170
MSH_HEX_68
= 102,
171
MSH_HEX_80
= 103,
172
MSH_HEX_92
= 104,
173
MSH_HEX_104
= 105,
174
// PRISMS COMPLETE (5->9)
175
MSH_PRI_126
= 106,
176
MSH_PRI_196
= 107,
177
MSH_PRI_288
= 108,
178
MSH_PRI_405
= 109,
179
MSH_PRI_550
= 110,
180
// PRISMS INCOMPLETE (3->9)
181
MSH_PRI_24
= 111,
182
MSH_PRI_33
= 112,
183
MSH_PRI_42
= 113,
184
MSH_PRI_51
= 114,
185
MSH_PRI_60
= 115,
186
MSH_PRI_69
= 116,
187
MSH_PRI_78
= 117,
188
// PYRAMIDS COMPLETE (3->9)
189
MSH_PYR_30
= 118,
190
MSH_PYR_55
= 119,
191
MSH_PYR_91
= 120,
192
MSH_PYR_140
= 121,
193
MSH_PYR_204
= 122,
194
MSH_PYR_285
= 123,
195
MSH_PYR_385
= 124,
196
// PYRAMIDS INCOMPLETE (3->9)
197
MSH_PYR_21
= 125,
198
MSH_PYR_29
= 126,
199
MSH_PYR_37
= 127,
200
MSH_PYR_45
= 128,
201
MSH_PYR_53
= 129,
202
MSH_PYR_61
= 130,
203
MSH_PYR_69
= 131,
204
// Additional types
205
MSH_PYR_1
= 132,
206
MSH_PNT_SUB
= 133,
207
MSH_LIN_SUB
= 134,
208
MSH_TRI_SUB
= 135,
209
MSH_TET_SUB
= 136,
210
MSH_TET_16
= 137,
211
MSH_TRI_MINI
= 138,
212
MSH_TET_MINI
= 139,
213
MSH_TRIH_4
= 140
214
};
215
216
#endif // NEMOSYS_GMSHTYPES_H_
MSH_TET_28
Definition:
gmshTypes.H:99
ALGO_2D_DELAUNAY
Definition:
gmshTypes.H:44
ALGO_RECOMBINE_BLOSSOM
Definition:
gmshTypes.H:61
MSH_HEX_80
Definition:
gmshTypes.H:171
MSH_TET_4
Definition:
gmshTypes.H:70
MSH_TET_34
Definition:
gmshTypes.H:144
MSH_PRI_60
Definition:
gmshTypes.H:185
MSH_POLYG_
Definition:
gmshTypes.H:100
MSH_PRI_15
Definition:
gmshTypes.H:84
MSH_TET_52
Definition:
gmshTypes.H:147
MSH_TET_84
Definition:
gmshTypes.H:138
MSH_TET_22
Definition:
gmshTypes.H:98
ALGO_2D_BAMG
Definition:
gmshTypes.H:46
MSH_TRI_30
Definition:
gmshTypes.H:122
MSH_TET_58
Definition:
gmshTypes.H:148
MSH_QUA_16
Definition:
gmshTypes.H:102
MSH_HEX_68
Definition:
gmshTypes.H:170
MSH_LIN_1
Definition:
gmshTypes.H:150
MSH_PRI_1
Definition:
gmshTypes.H:155
MSH_TET_MINI
Definition:
gmshTypes.H:212
MSH_HEX_343
Definition:
gmshTypes.H:162
GMSH_ALGO_TYPES
GMSH_ALGO_TYPES
The Gmsh types are taken from gmsh/GmshDefines.h header from Gmsh 4.4.1.
Definition:
gmshTypes.H:40
ALGO_3D_MMG3D
Definition:
gmshTypes.H:54
MSH_HEX_44
Definition:
gmshTypes.H:168
MSH_LIN_9
Definition:
gmshTypes.H:130
MSH_QUA_20
Definition:
gmshTypes.H:107
MSH_HEX_8
Definition:
gmshTypes.H:71
MSH_TRI_12
Definition:
gmshTypes.H:88
MSH_PYR_55
Definition:
gmshTypes.H:190
MSH_QUA_100
Definition:
gmshTypes.H:116
MSH_TET_1
Definition:
gmshTypes.H:153
MSH_PRI_33
Definition:
gmshTypes.H:182
MSH_PYR_91
Definition:
gmshTypes.H:191
MSH_PRI_69
Definition:
gmshTypes.H:186
MSH_PYR_140
Definition:
gmshTypes.H:192
GMSH_MSH_TYPES
GMSH_MSH_TYPES
Definition:
gmshTypes.H:65
MSH_LIN_11
Definition:
gmshTypes.H:132
MSH_QUA_32
Definition:
gmshTypes.H:125
MSH_QUA_40
Definition:
gmshTypes.H:127
MSH_PRI_78
Definition:
gmshTypes.H:187
MSH_LIN_5
Definition:
gmshTypes.H:93
MSH_PRI_51
Definition:
gmshTypes.H:184
MSH_TET_56
Definition:
gmshTypes.H:97
ALGO_2D_FRONTAL_QUAD
Definition:
gmshTypes.H:47
MSH_QUA_9
Definition:
gmshTypes.H:76
MSH_TRI_10
Definition:
gmshTypes.H:87
MSH_QUA_36
Definition:
gmshTypes.H:104
MSH_QUA_12
Definition:
gmshTypes.H:105
MSH_PYR_45
Definition:
gmshTypes.H:200
MSH_LIN_C
Definition:
gmshTypes.H:136
MSH_PYR_61
Definition:
gmshTypes.H:202
MSH_HEX_92
Definition:
gmshTypes.H:172
MSH_PYR_53
Definition:
gmshTypes.H:201
MSH_PRI_24
Definition:
gmshTypes.H:181
MSH_PRI_550
Definition:
gmshTypes.H:179
ALGO_RECOMBINE_SIMPLE
Definition:
gmshTypes.H:60
ALGO_RECOMBINE_SIMPLE_FULLQUAD
Definition:
gmshTypes.H:62
MSH_PNT
Definition:
gmshTypes.H:81
MSH_LIN_3
Definition:
gmshTypes.H:74
MSH_TRI_21I
Definition:
gmshTypes.H:119
MSH_TET_35
Definition:
gmshTypes.H:96
MSH_TRI_3
Definition:
gmshTypes.H:68
MSH_PYR_5
Definition:
gmshTypes.H:73
MSH_PRI_126
Definition:
gmshTypes.H:175
ALGO_3D_DELAUNAY
Definition:
gmshTypes.H:52
MSH_PYR_204
Definition:
gmshTypes.H:193
MSH_PYR_37
Definition:
gmshTypes.H:199
ALGO_2D_FRONTAL
Definition:
gmshTypes.H:45
MSH_QUA_49
Definition:
gmshTypes.H:113
MSH_PRI_42
Definition:
gmshTypes.H:183
MSH_LIN_B
Definition:
gmshTypes.H:133
MSH_PYR_29
Definition:
gmshTypes.H:198
MSH_LIN_10
Definition:
gmshTypes.H:131
MSH_QUA_121
Definition:
gmshTypes.H:117
MSH_PRI_75
Definition:
gmshTypes.H:157
MSH_PYR_285
Definition:
gmshTypes.H:194
MSH_TET_165
Definition:
gmshTypes.H:140
MSH_TRI_24
Definition:
gmshTypes.H:120
MSH_PYR_13
Definition:
gmshTypes.H:85
MSH_TRI_15
Definition:
gmshTypes.H:89
ALGO_2D_AUTO
Definition:
gmshTypes.H:43
MSH_POLYG_B
Definition:
gmshTypes.H:135
MSH_TET_286
Definition:
gmshTypes.H:142
MSH_HEX_512
Definition:
gmshTypes.H:163
MSH_PYR_385
Definition:
gmshTypes.H:195
MSH_TET_40
Definition:
gmshTypes.H:145
MSH_POLYH_
Definition:
gmshTypes.H:101
MSH_PYR_30
Definition:
gmshTypes.H:189
MSH_TRI_21
Definition:
gmshTypes.H:91
MSH_LIN_6
Definition:
gmshTypes.H:94
ALGO_3D_FRONTAL
Definition:
gmshTypes.H:53
MSH_TRI_27
Definition:
gmshTypes.H:121
MSH_TRI_9
Definition:
gmshTypes.H:86
MSH_QUA_28
Definition:
gmshTypes.H:124
MSH_QUA_8
Definition:
gmshTypes.H:82
MSH_QUA_16I
Definition:
gmshTypes.H:106
ALGO_RECOMBINE_BLOSSOM_FULLQUAD
Definition:
gmshTypes.H:63
MSH_PYR_1
Definition:
gmshTypes.H:205
MSH_TRIH_4
Definition:
gmshTypes.H:213
MSH_LIN_SUB
Definition:
gmshTypes.H:207
MSH_TET_220
Definition:
gmshTypes.H:141
MSH_TRI_B
Definition:
gmshTypes.H:134
MSH_LIN_4
Definition:
gmshTypes.H:92
MSH_LIN_7
Definition:
gmshTypes.H:128
ALGO_3D_HXT
Definition:
gmshTypes.H:56
MSH_TET_20
Definition:
gmshTypes.H:95
MSH_TRI_18
Definition:
gmshTypes.H:118
MSH_QUA_25
Definition:
gmshTypes.H:103
MSH_LIN_8
Definition:
gmshTypes.H:129
MSH_TRI_6
Definition:
gmshTypes.H:75
MSH_TET_16
Definition:
gmshTypes.H:210
ALGO_2D_MESHADAPT
Definition:
gmshTypes.H:42
MSH_PYR_14
Definition:
gmshTypes.H:80
MSH_QUA_1
Definition:
gmshTypes.H:152
MSH_LIN_2
Definition:
gmshTypes.H:67
MSH_TET_46
Definition:
gmshTypes.H:146
MSH_PRI_6
Definition:
gmshTypes.H:72
MSH_QUA_24
Definition:
gmshTypes.H:123
MSH_HEX_729
Definition:
gmshTypes.H:164
MSH_QUA_36I
Definition:
gmshTypes.H:126
MSH_PNT_SUB
Definition:
gmshTypes.H:206
MSH_TRI_66
Definition:
gmshTypes.H:112
MSH_TRI_15I
Definition:
gmshTypes.H:90
MSH_PYR_21
Definition:
gmshTypes.H:197
MSH_TRI_1
Definition:
gmshTypes.H:151
MSH_HEX_56
Definition:
gmshTypes.H:169
MSH_PRI_18
Definition:
gmshTypes.H:79
MSH_HEX_64
Definition:
gmshTypes.H:159
MSH_TRI_MINI
Definition:
gmshTypes.H:211
MSH_QUA_64
Definition:
gmshTypes.H:114
MSH_TET_10
Definition:
gmshTypes.H:77
MSH_TRI_45
Definition:
gmshTypes.H:110
MSH_PRI_405
Definition:
gmshTypes.H:178
MSH_HEX_32
Definition:
gmshTypes.H:167
MSH_QUA_81
Definition:
gmshTypes.H:115
MSH_TRI_28
Definition:
gmshTypes.H:108
MSH_HEX_1000
Definition:
gmshTypes.H:165
GMSH_ALGO_3D
GMSH_ALGO_3D
Definition:
gmshTypes.H:51
MSH_HEX_125
Definition:
gmshTypes.H:160
MSH_TET_SUB
Definition:
gmshTypes.H:209
MSH_PYR_69
Definition:
gmshTypes.H:203
ALGO_2D_PACK_PRLGRMS_CSTR
Definition:
gmshTypes.H:49
MSH_HEX_27
Definition:
gmshTypes.H:78
MSH_HEX_20
Definition:
gmshTypes.H:83
MSH_QUA_4
Definition:
gmshTypes.H:69
MSH_PRI_288
Definition:
gmshTypes.H:177
ALGO_3D_RTREE
Definition:
gmshTypes.H:55
MSH_PRI_40
Definition:
gmshTypes.H:156
MSH_TRI_SUB
Definition:
gmshTypes.H:208
GMSH_ALGO_RECOMBINATION
GMSH_ALGO_RECOMBINATION
Definition:
gmshTypes.H:59
MSH_TET_120
Definition:
gmshTypes.H:139
MSH_HEX_216
Definition:
gmshTypes.H:161
MSH_TRI_36
Definition:
gmshTypes.H:109
MSH_HEX_1
Definition:
gmshTypes.H:154
MSH_TRI_55
Definition:
gmshTypes.H:111
MSH_HEX_104
Definition:
gmshTypes.H:173
MSH_PRI_196
Definition:
gmshTypes.H:176
ALGO_2D_PACK_PRLGRMS
Definition:
gmshTypes.H:48
src
Mesh
gmshTypes.H
Generated on Wed Jan 26 2022 16:40:01 for NEMoSys by
1.8.13