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  */
41  // Surface and Volume meshing algorithms
45  ALGO_2D_FRONTAL = 6, // gmsh default
49  ALGO_2D_PACK_PRLGRMS_CSTR = 10, // not in documentation
50 };
52  ALGO_3D_DELAUNAY = 1, // gmsh default
57 };
58 // Not in GmshDefines.h
61  ALGO_RECOMBINE_BLOSSOM = 1, // gmsh default
64 };
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,
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,
128  MSH_LIN_7 = 62,
129  MSH_LIN_8 = 63,
130  MSH_LIN_9 = 64,
133  MSH_LIN_B = 67,
134  MSH_TRI_B = 68,
136  MSH_LIN_C = 70,
137  // TETS COMPLETE (6->10)
143  // TETS INCOMPLETE (6->10)
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,
158  // HEXES COMPLETE (3->9)
166  // HEXES INCOMPLETE (3->9)
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,
214 };
215 
216 #endif // NEMOSYS_GMSHTYPES_H_
GMSH_ALGO_TYPES
The Gmsh types are taken from gmsh/GmshDefines.h header from Gmsh 4.4.1.
Definition: gmshTypes.H:40
GMSH_MSH_TYPES
Definition: gmshTypes.H:65
GMSH_ALGO_3D
Definition: gmshTypes.H:51
GMSH_ALGO_RECOMBINATION
Definition: gmshTypes.H:59