FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_common_define.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 
6 #ifndef INC_HECMW_MESH_DEFINE
7 #define INC_HECMW_MESH_DEFINE
8 
9 #define HECMW_COMMON_E_ALLOCATION 1111111
10 #define HECMW_COMMON_E_OUT_OF_RANGE 1111112
11 #define HECMW_COMMON_W_NO_EQN_BLOCK 1111113
12 
13 /*
14  * element types in HEC-MW
15  */
16 #define HECMW_ETYPE_MAX 3614
17 #define HECMW_ETYPE_ROD1 111
18 #define HECMW_ETYPE_ROD2 112
19 #define HECMW_ETYPE_TRI1 231
20 #define HECMW_ETYPE_TRI2 232
21 #define HECMW_ETYPE_TRI22 2322
22 #define HECMW_ETYPE_QUA1 241
23 #define HECMW_ETYPE_QUA2 242
24 #define HECMW_ETYPE_ROD31 301
25 #define HECMW_ETYPE_TET1 341
26 #define HECMW_ETYPE_TET1_4 3414
27 #define HECMW_ETYPE_TET2 342
28 #define HECMW_ETYPE_TET22 3422
29 #define HECMW_ETYPE_PRI1 351
30 #define HECMW_ETYPE_PRI2 352
31 #define HECMW_ETYPE_HEX1 361
32 #define HECMW_ETYPE_HEX1_4 3614
33 #define HECMW_ETYPE_HEX2 362
34 #define HECMW_ETYPE_PYR1 371
35 #define HECMW_ETYPE_PYR2 372
36 #define HECMW_ETYPE_MST1 431
37 #define HECMW_ETYPE_MST2 432
38 #define HECMW_ETYPE_MSQ1 441
39 #define HECMW_ETYPE_MSQ2 442
40 #define HECMW_ETYPE_JTB1 501
41 #define HECMW_ETYPE_SPGDPT1 511
42 #define HECMW_ETYPE_JTT1 531
43 #define HECMW_ETYPE_JTT2 532
44 #define HECMW_ETYPE_JTQ1 541
45 #define HECMW_ETYPE_JTQ2 542
46 #define HECMW_ETYPE_BEM1 611
47 #define HECMW_ETYPE_BEM2 612
48 #define HECMW_ETYPE_BEM3 641 /* mixed beam-341*/
49 #define HECMW_ETYPE_SHT1 731
50 #define HECMW_ETYPE_SHT2 732
51 #define HECMW_ETYPE_SHQ1 741
52 #define HECMW_ETYPE_SHQ2 742
53 #define HECMW_ETYPE_SHQ3 743
54 #define HECMW_ETYPE_SHT6 761 /* mixed shell-solid */
55 #define HECMW_ETYPE_SHQ8 781
56 #define HECMW_ETYPE_LN11 911
57 #define HECMW_ETYPE_LN12 912
58 #define HECMW_ETYPE_LN13 913
59 #define HECMW_ETYPE_LN14 914
60 #define HECMW_ETYPE_LN15 915
61 #define HECMW_ETYPE_LN16 916
62 #define HECMW_ETYPE_LN21 921
63 #define HECMW_ETYPE_LN22 922
64 #define HECMW_ETYPE_LN23 923
65 #define HECMW_ETYPE_LN24 924
66 #define HECMW_ETYPE_LN25 925
67 #define HECMW_ETYPE_LN26 926
68 #define HECMW_ETYPE_LN31 931
69 #define HECMW_ETYPE_LN32 932
70 #define HECMW_ETYPE_LN33 933
71 #define HECMW_ETYPE_LN34 934
72 #define HECMW_ETYPE_LN35 935
73 #define HECMW_ETYPE_LN36 936
74 #define HECMW_ETYPE_LN41 941
75 #define HECMW_ETYPE_LN42 942
76 #define HECMW_ETYPE_LN43 943
77 #define HECMW_ETYPE_LN44 944
78 #define HECMW_ETYPE_LN45 945
79 #define HECMW_ETYPE_LN46 946
80 #define HECMW_ETYPE_LN51 951
81 #define HECMW_ETYPE_LN52 952
82 #define HECMW_ETYPE_LN53 953
83 #define HECMW_ETYPE_LN54 954
84 #define HECMW_ETYPE_LN55 955
85 #define HECMW_ETYPE_LN56 956
86 #define HECMW_ETYPE_LN61 961
87 #define HECMW_ETYPE_LN62 962
88 #define HECMW_ETYPE_LN63 963
89 #define HECMW_ETYPE_LN64 964
90 #define HECMW_ETYPE_LN65 965
91 #define HECMW_ETYPE_LN66 966
92 #define HECMW_ETYPE_PTT1 1031
93 #define HECMW_ETYPE_PTT2 1032
94 #define HECMW_ETYPE_PTQ1 1041
95 #define HECMW_ETYPE_PTQ2 1042
96 
97 /*
98  * element types in GeoFEM
99  */
100 #define HECMW_GEOFEM_ETYPE_MAX 3314
101 
102 #define HECMW_GEOFEM_ETYPE_ROD1 111
103 #define HECMW_GEOFEM_ETYPE_ROD2 112
104 #define HECMW_GEOFEM_ETYPE_TRI1 211
105 #define HECMW_GEOFEM_ETYPE_TRI2 212
106 #define HECMW_GEOFEM_ETYPE_QUA1 221
107 #define HECMW_GEOFEM_ETYPE_QUA2 222
108 #define HECMW_GEOFEM_ETYPE_TET1 311
109 #define HECMW_GEOFEM_ETYPE_TET1_4 3114
110 #define HECMW_GEOFEM_ETYPE_TET2 312
111 #define HECMW_GEOFEM_ETYPE_PRI1 321
112 #define HECMW_GEOFEM_ETYPE_PRI2 322
113 #define HECMW_GEOFEM_ETYPE_HEX1 331
114 #define HECMW_GEOFEM_ETYPE_HEX1_4 3314
115 #define HECMW_GEOFEM_ETYPE_HEX2 332
116 #define HECMW_GEOFEM_ETYPE_MST1 411
117 #define HECMW_GEOFEM_ETYPE_MST2 412
118 #define HECMW_GEOFEM_ETYPE_MSQ1 421
119 #define HECMW_GEOFEM_ETYPE_MSQ2 422
120 #define HECMW_GEOFEM_ETYPE_JTB1 501
121 #define HECMW_GEOFEM_ETYPE_JTT1 511
122 #define HECMW_GEOFEM_ETYPE_JTT2 512
123 #define HECMW_GEOFEM_ETYPE_JTQ1 521
124 #define HECMW_GEOFEM_ETYPE_JTQ2 522
125 #define HECMW_GEOFEM_ETYPE_BEM1 611
126 #define HECMW_GEOFEM_ETYPE_BEM2 612
127 #define HECMW_GEOFEM_ETYPE_BEM3 641 /* mixed beam-341*/
128 #define HECMW_GEOFEM_ETYPE_SHT1 711
129 #define HECMW_GEOFEM_ETYPE_SHT2 712
130 #define HECMW_GEOFEM_ETYPE_SHQ1 721
131 #define HECMW_GEOFEM_ETYPE_SHQ2 722
132 
133 /*
134  * element types in mesh utility
135  */
136 #define HECMW_MESH_ETYPE_MAX 79
137 
138 #define HECMW_MESH_ETYPE_PNT 0
139 #define HECMW_MESH_ETYPE_ROD1 1
140 #define HECMW_MESH_ETYPE_ROD2 2
141 #define HECMW_MESH_ETYPE_TRI1 3
142 #define HECMW_MESH_ETYPE_TRI2 4
143 #define HECMW_MESH_ETYPE_QUA1 5
144 #define HECMW_MESH_ETYPE_QUA2 6
145 #define HECMW_MESH_ETYPE_TET1 7
146 #define HECMW_MESH_ETYPE_TET2 8
147 #define HECMW_MESH_ETYPE_PRI1 9
148 #define HECMW_MESH_ETYPE_PRI2 10
149 #define HECMW_MESH_ETYPE_HEX1 11
150 #define HECMW_MESH_ETYPE_HEX2 12
151 #define HECMW_MESH_ETYPE_PYR1 13
152 #define HECMW_MESH_ETYPE_PYR2 14
153 #define HECMW_MESH_ETYPE_MST1 15
154 #define HECMW_MESH_ETYPE_MST2 16
155 #define HECMW_MESH_ETYPE_MSQ1 17
156 #define HECMW_MESH_ETYPE_MSQ2 18
157 #define HECMW_MESH_ETYPE_JTB1 74
158 #define HECMW_MESH_ETYPE_JTT1 19
159 #define HECMW_MESH_ETYPE_JTT2 20
160 #define HECMW_MESH_ETYPE_JTQ1 21
161 #define HECMW_MESH_ETYPE_JTQ2 22
162 #define HECMW_MESH_ETYPE_BEM1 23
163 #define HECMW_MESH_ETYPE_BEM2 24
164 #define HECMW_MESH_ETYPE_BEM3 71 /* mixed beam-341*/
165 #define HECMW_MESH_ETYPE_SHT1 25
166 #define HECMW_MESH_ETYPE_SHT2 26
167 #define HECMW_MESH_ETYPE_SHQ1 27
168 #define HECMW_MESH_ETYPE_SHQ2 28
169 #define HECMW_MESH_ETYPE_SHQ3 68
170 #define HECMW_MESH_ETYPE_SHT6 69 /* mixed shell-solid */
171 #define HECMW_MESH_ETYPE_SHQ8 70
172 #define HECMW_MESH_ETYPE_LN11 29
173 #define HECMW_MESH_ETYPE_LN12 30
174 #define HECMW_MESH_ETYPE_LN13 31
175 #define HECMW_MESH_ETYPE_LN14 32
176 #define HECMW_MESH_ETYPE_LN15 33
177 #define HECMW_MESH_ETYPE_LN16 34
178 #define HECMW_MESH_ETYPE_LN21 35
179 #define HECMW_MESH_ETYPE_LN22 36
180 #define HECMW_MESH_ETYPE_LN23 37
181 #define HECMW_MESH_ETYPE_LN24 38
182 #define HECMW_MESH_ETYPE_LN25 39
183 #define HECMW_MESH_ETYPE_LN26 40
184 #define HECMW_MESH_ETYPE_LN31 41
185 #define HECMW_MESH_ETYPE_LN32 42
186 #define HECMW_MESH_ETYPE_LN33 43
187 #define HECMW_MESH_ETYPE_LN34 44
188 #define HECMW_MESH_ETYPE_LN35 45
189 #define HECMW_MESH_ETYPE_LN36 46
190 #define HECMW_MESH_ETYPE_LN41 47
191 #define HECMW_MESH_ETYPE_LN42 48
192 #define HECMW_MESH_ETYPE_LN43 49
193 #define HECMW_MESH_ETYPE_LN44 50
194 #define HECMW_MESH_ETYPE_LN45 51
195 #define HECMW_MESH_ETYPE_LN46 52
196 #define HECMW_MESH_ETYPE_LN51 53
197 #define HECMW_MESH_ETYPE_LN52 54
198 #define HECMW_MESH_ETYPE_LN53 55
199 #define HECMW_MESH_ETYPE_LN54 56
200 #define HECMW_MESH_ETYPE_LN55 57
201 #define HECMW_MESH_ETYPE_LN56 58
202 #define HECMW_MESH_ETYPE_LN61 59
203 #define HECMW_MESH_ETYPE_LN62 60
204 #define HECMW_MESH_ETYPE_LN63 61
205 #define HECMW_MESH_ETYPE_LN64 62
206 #define HECMW_MESH_ETYPE_LN65 63
207 #define HECMW_MESH_ETYPE_LN66 64
208 #define HECMW_MESH_ETYPE_TRI22 65
209 #define HECMW_MESH_ETYPE_TET22 66
210 #define HECMW_MESH_ETYPE_ROD31 67
211 #define HECMW_MESH_ETYPE_TET1_4 72
212 #define HECMW_MESH_ETYPE_HEX1_4 73
213 #define HECMW_MESH_ETYPE_PTT1 75
214 #define HECMW_MESH_ETYPE_PTT2 76
215 #define HECMW_MESH_ETYPE_PTQ1 77
216 #define HECMW_MESH_ETYPE_PTQ2 78
217 #define HECMW_MESH_ETYPE_SPGDPT1 79
218 
219 /*
220  * UCD labels
221  */
222 #define HECMW_UCD_LABEL_PNT "pt"
223 #define HECMW_UCD_LABEL_ROD1 "line"
224 #define HECMW_UCD_LABEL_ROD2 "line2"
225 #define HECMW_UCD_LABEL_TRI1 "tri"
226 #define HECMW_UCD_LABEL_TRI2 "tri2"
227 #define HECMW_UCD_LABEL_QUA1 "quad"
228 #define HECMW_UCD_LABEL_QUA2 "quad2"
229 #define HECMW_UCD_LABEL_ROD31 "line"
230 #define HECMW_UCD_LABEL_TET1 "tet"
231 #define HECMW_UCD_LABEL_TET1_4 "tet"
232 #define HECMW_UCD_LABEL_TET2 "tet2"
233 #define HECMW_UCD_LABEL_PRI1 "prism"
234 #define HECMW_UCD_LABEL_PRI2 "prism2"
235 #define HECMW_UCD_LABEL_HEX1 "hex"
236 #define HECMW_UCD_LABEL_HEX1_4 "hex"
237 #define HECMW_UCD_LABEL_HEX2 "hex2"
238 #define HECMW_UCD_LABEL_PYR1 "pyr"
239 #define HECMW_UCD_LABEL_PYR2 "pyr2"
240 #define HECMW_UCD_LABEL_MST1 "tet"
241 #define HECMW_UCD_LABEL_MST2 "tet2"
242 #define HECMW_UCD_LABEL_MSQ1 "pyr"
243 #define HECMW_UCD_LABEL_MSQ2 "pyr2"
244 #define HECMW_UCD_LABEL_JTB1 "line"
245 #define HECMW_UCD_LABEL_SPGDPT1 "line"
246 #define HECMW_UCD_LABEL_JTT1 "prism"
247 #define HECMW_UCD_LABEL_JTT2 "prism2"
248 #define HECMW_UCD_LABEL_JTQ1 "hex"
249 #define HECMW_UCD_LABEL_JTQ2 "hex2"
250 #define HECMW_UCD_LABEL_BEM1 "line"
251 #define HECMW_UCD_LABEL_BEM2 "line2"
252 #define HECMW_UCD_LABEL_BEM3 "line" /* mixed beam-341*/
253 #define HECMW_UCD_LABEL_SHT1 "tri"
254 #define HECMW_UCD_LABEL_SHT2 "tri2"
255 #define HECMW_UCD_LABEL_SHQ1 "quad"
256 #define HECMW_UCD_LABEL_SHQ2 "quad2"
257 #define HECMW_UCD_LABEL_SHT6 "tri" /* mixed shell-solid */
258 #define HECMW_UCD_LABEL_SHQ8 "quad" /* mixed shell-solid */
259 #define HECMW_UCD_LABEL_LN11 "line"
260 #define HECMW_UCD_LABEL_LN12 "line"
261 #define HECMW_UCD_LABEL_LN13 "line"
262 #define HECMW_UCD_LABEL_LN14 "line"
263 #define HECMW_UCD_LABEL_LN15 "line"
264 #define HECMW_UCD_LABEL_LN16 "line"
265 #define HECMW_UCD_LABEL_LN21 "line"
266 #define HECMW_UCD_LABEL_LN22 "line"
267 #define HECMW_UCD_LABEL_LN23 "line"
268 #define HECMW_UCD_LABEL_LN24 "line"
269 #define HECMW_UCD_LABEL_LN25 "line"
270 #define HECMW_UCD_LABEL_LN26 "line"
271 #define HECMW_UCD_LABEL_LN31 "line"
272 #define HECMW_UCD_LABEL_LN32 "line"
273 #define HECMW_UCD_LABEL_LN33 "line"
274 #define HECMW_UCD_LABEL_LN34 "line"
275 #define HECMW_UCD_LABEL_LN35 "line"
276 #define HECMW_UCD_LABEL_LN36 "line"
277 #define HECMW_UCD_LABEL_LN41 "line"
278 #define HECMW_UCD_LABEL_LN42 "line"
279 #define HECMW_UCD_LABEL_LN43 "line"
280 #define HECMW_UCD_LABEL_LN44 "line"
281 #define HECMW_UCD_LABEL_LN45 "line"
282 #define HECMW_UCD_LABEL_LN46 "line"
283 #define HECMW_UCD_LABEL_LN51 "line"
284 #define HECMW_UCD_LABEL_LN52 "line"
285 #define HECMW_UCD_LABEL_LN53 "line"
286 #define HECMW_UCD_LABEL_LN54 "line"
287 #define HECMW_UCD_LABEL_LN55 "line"
288 #define HECMW_UCD_LABEL_LN56 "line"
289 #define HECMW_UCD_LABEL_LN61 "line"
290 #define HECMW_UCD_LABEL_LN62 "line"
291 #define HECMW_UCD_LABEL_LN63 "line"
292 #define HECMW_UCD_LABEL_LN64 "line"
293 #define HECMW_UCD_LABEL_LN65 "line"
294 #define HECMW_UCD_LABEL_LN66 "line"
295 #define HECMW_UCD_LABEL_PTT1 "tri"
296 #define HECMW_UCD_LABEL_PTT2 "tri2"
297 #define HECMW_UCD_LABEL_PTQ1 "quad"
298 #define HECMW_UCD_LABEL_PTQ2 "quad2"
299 
300 /*
301  * number of component nodes on finite element
302  */
303 #define HECMW_MAX_NODE_MAX 20
304 
305 #define HECMW_MAX_NODE_PNT 1
306 #define HECMW_MAX_NODE_ROD1 2
307 #define HECMW_MAX_NODE_ROD2 3
308 #define HECMW_MAX_NODE_TRI1 3
309 #define HECMW_MAX_NODE_TRI2 6
310 #define HECMW_MAX_NODE_QUA1 4
311 #define HECMW_MAX_NODE_QUA2 8
312 #define HECMW_MAX_NODE_ROD31 2
313 #define HECMW_MAX_NODE_TET1 4
314 #define HECMW_MAX_NODE_TET1_4 4
315 #define HECMW_MAX_NODE_TET2 10
316 #define HECMW_MAX_NODE_PRI1 6
317 #define HECMW_MAX_NODE_PRI2 15
318 #define HECMW_MAX_NODE_HEX1 8
319 #define HECMW_MAX_NODE_HEX1_4 8
320 #define HECMW_MAX_NODE_HEX2 20
321 #define HECMW_MAX_NODE_PYR1 5
322 #define HECMW_MAX_NODE_PYR2 13
323 #define HECMW_MAX_NODE_MST1 4
324 #define HECMW_MAX_NODE_MST2 7
325 #define HECMW_MAX_NODE_MSQ1 5
326 #define HECMW_MAX_NODE_MSQ2 9
327 #define HECMW_MAX_NODE_JTB1 2
328 #define HECMW_MAX_NODE_SPGDPT1 2
329 #define HECMW_MAX_NODE_JTT1 6
330 #define HECMW_MAX_NODE_JTT2 12
331 #define HECMW_MAX_NODE_JTQ1 8
332 #define HECMW_MAX_NODE_JTQ2 16
333 #define HECMW_MAX_NODE_BEM1 2
334 #define HECMW_MAX_NODE_BEM2 3
335 #define HECMW_MAX_NODE_BEM3 4 /* mixed beam-341*/
336 #define HECMW_MAX_NODE_SHT1 3
337 #define HECMW_MAX_NODE_SHT2 6
338 #define HECMW_MAX_NODE_SHQ1 4
339 #define HECMW_MAX_NODE_SHQ2 8
340 #define HECMW_MAX_NODE_SHQ3 9
341 #define HECMW_MAX_NODE_SHT6 6 /* mixed shell-solid */
342 #define HECMW_MAX_NODE_SHQ8 8
343 #define HECMW_MAX_NODE_LN11 2
344 #define HECMW_MAX_NODE_LN12 2
345 #define HECMW_MAX_NODE_LN13 2
346 #define HECMW_MAX_NODE_LN14 2
347 #define HECMW_MAX_NODE_LN15 2
348 #define HECMW_MAX_NODE_LN16 2
349 #define HECMW_MAX_NODE_LN21 2
350 #define HECMW_MAX_NODE_LN22 2
351 #define HECMW_MAX_NODE_LN23 2
352 #define HECMW_MAX_NODE_LN24 2
353 #define HECMW_MAX_NODE_LN25 2
354 #define HECMW_MAX_NODE_LN26 2
355 #define HECMW_MAX_NODE_LN31 2
356 #define HECMW_MAX_NODE_LN32 2
357 #define HECMW_MAX_NODE_LN33 2
358 #define HECMW_MAX_NODE_LN34 2
359 #define HECMW_MAX_NODE_LN35 2
360 #define HECMW_MAX_NODE_LN36 2
361 #define HECMW_MAX_NODE_LN41 2
362 #define HECMW_MAX_NODE_LN42 2
363 #define HECMW_MAX_NODE_LN43 2
364 #define HECMW_MAX_NODE_LN44 2
365 #define HECMW_MAX_NODE_LN45 2
366 #define HECMW_MAX_NODE_LN46 2
367 #define HECMW_MAX_NODE_LN51 2
368 #define HECMW_MAX_NODE_LN52 2
369 #define HECMW_MAX_NODE_LN53 2
370 #define HECMW_MAX_NODE_LN54 2
371 #define HECMW_MAX_NODE_LN55 2
372 #define HECMW_MAX_NODE_LN56 2
373 #define HECMW_MAX_NODE_LN61 2
374 #define HECMW_MAX_NODE_LN62 2
375 #define HECMW_MAX_NODE_LN63 2
376 #define HECMW_MAX_NODE_LN64 2
377 #define HECMW_MAX_NODE_LN65 2
378 #define HECMW_MAX_NODE_LN66 2
379 #define HECMW_MAX_NODE_PTT1 3
380 #define HECMW_MAX_NODE_PTT2 6
381 #define HECMW_MAX_NODE_PTQ1 4
382 #define HECMW_MAX_NODE_PTQ2 8
383 
384 /*
385  * number of component edges on finite element
386  */
387 #define HECMW_MAX_EDGE_MAX 24
388 
389 #define HECMW_MAX_EDGE_PNT 0
390 #define HECMW_MAX_EDGE_ROD1 1
391 #define HECMW_MAX_EDGE_ROD2 2
392 #define HECMW_MAX_EDGE_TRI1 3
393 #define HECMW_MAX_EDGE_TRI2 6
394 #define HECMW_MAX_EDGE_QUA1 4
395 #define HECMW_MAX_EDGE_QUA2 8
396 #define HECMW_MAX_EDGE_TET1 6
397 #define HECMW_MAX_EDGE_TET1_4 6
398 #define HECMW_MAX_EDGE_TET2 12
399 #define HECMW_MAX_EDGE_PRI1 9
400 #define HECMW_MAX_EDGE_PRI2 18
401 #define HECMW_MAX_EDGE_HEX1 12
402 #define HECMW_MAX_EDGE_HEX1_4 12
403 #define HECMW_MAX_EDGE_HEX2 24
404 #define HECMW_MAX_EDGE_PYR1 8
405 #define HECMW_MAX_EDGE_PYR2 16
406 #define HECMW_MAX_EDGE_MST1 6
407 #define HECMW_MAX_EDGE_MST2 9
408 #define HECMW_MAX_EDGE_MSQ1 8
409 #define HECMW_MAX_EDGE_MSQ2 12
410 #define HECMW_MAX_EDGE_JTB1 1
411 #define HECMW_MAX_EDGE_SPGDPT1 1
412 #define HECMW_MAX_EDGE_JTT1 9
413 #define HECMW_MAX_EDGE_JTT2 15
414 #define HECMW_MAX_EDGE_JTQ1 12
415 #define HECMW_MAX_EDGE_JTQ2 20
416 #define HECMW_MAX_EDGE_BEM1 1
417 #define HECMW_MAX_EDGE_BEM2 2
418 #define HECMW_MAX_EDGE_BEM3 6 /* mixed beam-341*/
419 #define HECMW_MAX_EDGE_SHT1 3
420 #define HECMW_MAX_EDGE_SHT2 6
421 #define HECMW_MAX_EDGE_SHQ1 4
422 #define HECMW_MAX_EDGE_SHQ2 8
423 #define HECMW_MAX_EDGE_SHT6 9 /* mixed shell-solid */
424 #define HECMW_MAX_EDGE_SHQ8 12
425 #define HECMW_MAX_EDGE_LN11 1
426 #define HECMW_MAX_EDGE_LN12 1
427 #define HECMW_MAX_EDGE_LN13 1
428 #define HECMW_MAX_EDGE_LN14 1
429 #define HECMW_MAX_EDGE_LN15 1
430 #define HECMW_MAX_EDGE_LN16 1
431 #define HECMW_MAX_EDGE_LN21 1
432 #define HECMW_MAX_EDGE_LN22 1
433 #define HECMW_MAX_EDGE_LN23 1
434 #define HECMW_MAX_EDGE_LN24 1
435 #define HECMW_MAX_EDGE_LN25 1
436 #define HECMW_MAX_EDGE_LN26 1
437 #define HECMW_MAX_EDGE_LN31 1
438 #define HECMW_MAX_EDGE_LN32 1
439 #define HECMW_MAX_EDGE_LN33 1
440 #define HECMW_MAX_EDGE_LN34 1
441 #define HECMW_MAX_EDGE_LN35 1
442 #define HECMW_MAX_EDGE_LN36 1
443 #define HECMW_MAX_EDGE_LN41 1
444 #define HECMW_MAX_EDGE_LN42 1
445 #define HECMW_MAX_EDGE_LN43 1
446 #define HECMW_MAX_EDGE_LN44 1
447 #define HECMW_MAX_EDGE_LN45 1
448 #define HECMW_MAX_EDGE_LN46 1
449 #define HECMW_MAX_EDGE_LN51 1
450 #define HECMW_MAX_EDGE_LN52 1
451 #define HECMW_MAX_EDGE_LN53 1
452 #define HECMW_MAX_EDGE_LN54 1
453 #define HECMW_MAX_EDGE_LN55 1
454 #define HECMW_MAX_EDGE_LN56 1
455 #define HECMW_MAX_EDGE_LN61 1
456 #define HECMW_MAX_EDGE_LN62 1
457 #define HECMW_MAX_EDGE_LN63 1
458 #define HECMW_MAX_EDGE_LN64 1
459 #define HECMW_MAX_EDGE_LN65 1
460 #define HECMW_MAX_EDGE_LN66 1
461 #define HECMW_MAX_EDGE_PTT1 3
462 #define HECMW_MAX_EDGE_PTT2 6
463 #define HECMW_MAX_EDGE_PTQ1 4
464 #define HECMW_MAX_EDGE_PTQ2 8
465 
466 /*
467  * number of component surfaces on finite element
468  */
469 #define HECMW_MAX_SURF_MAX 6
470 
471 #define HECMW_MAX_SURF_PNT 0
472 #define HECMW_MAX_SURF_ROD1 0
473 #define HECMW_MAX_SURF_ROD2 0
474 #define HECMW_MAX_SURF_TRI1 3
475 #define HECMW_MAX_SURF_TRI2 3
476 #define HECMW_MAX_SURF_QUA1 4
477 #define HECMW_MAX_SURF_QUA2 4
478 #define HECMW_MAX_SURF_TET1 4
479 #define HECMW_MAX_SURF_TET1_4 4
480 #define HECMW_MAX_SURF_TET2 4
481 #define HECMW_MAX_SURF_PRI1 5
482 #define HECMW_MAX_SURF_PRI2 5
483 #define HECMW_MAX_SURF_HEX1 6
484 #define HECMW_MAX_SURF_HEX1_4 6
485 #define HECMW_MAX_SURF_HEX2 6
486 #define HECMW_MAX_SURF_PYR1 5
487 #define HECMW_MAX_SURF_PYR2 5
488 #define HECMW_MAX_SURF_MST1 1
489 #define HECMW_MAX_SURF_MST2 1
490 #define HECMW_MAX_SURF_MSQ1 1
491 #define HECMW_MAX_SURF_MSQ2 1
492 #define HECMW_MAX_SURF_JTB1 0
493 #define HECMW_MAX_SURF_SPGDPT1 0
494 #define HECMW_MAX_SURF_JTT1 2
495 #define HECMW_MAX_SURF_JTT2 2
496 #define HECMW_MAX_SURF_JTQ1 2
497 #define HECMW_MAX_SURF_JTQ2 2
498 #define HECMW_MAX_SURF_BEM1 0
499 #define HECMW_MAX_SURF_BEM2 0
500 #define HECMW_MAX_SURF_BEM3 4 /* mixed beam-341*/
501 #define HECMW_MAX_SURF_SHT1 2
502 #define HECMW_MAX_SURF_SHT2 2
503 #define HECMW_MAX_SURF_SHQ1 2
504 #define HECMW_MAX_SURF_SHQ2 2
505 #define HECMW_MAX_SURF_SHT6 5 /* mixed shell-solid */
506 #define HECMW_MAX_SURF_SHQ8 6
507 #define HECMW_MAX_SURF_LN11 0
508 #define HECMW_MAX_SURF_LN12 0
509 #define HECMW_MAX_SURF_LN13 0
510 #define HECMW_MAX_SURF_LN14 0
511 #define HECMW_MAX_SURF_LN15 0
512 #define HECMW_MAX_SURF_LN16 0
513 #define HECMW_MAX_SURF_LN21 0
514 #define HECMW_MAX_SURF_LN22 0
515 #define HECMW_MAX_SURF_LN23 0
516 #define HECMW_MAX_SURF_LN24 0
517 #define HECMW_MAX_SURF_LN25 0
518 #define HECMW_MAX_SURF_LN26 0
519 #define HECMW_MAX_SURF_LN31 0
520 #define HECMW_MAX_SURF_LN32 0
521 #define HECMW_MAX_SURF_LN33 0
522 #define HECMW_MAX_SURF_LN34 0
523 #define HECMW_MAX_SURF_LN35 0
524 #define HECMW_MAX_SURF_LN36 0
525 #define HECMW_MAX_SURF_LN41 0
526 #define HECMW_MAX_SURF_LN42 0
527 #define HECMW_MAX_SURF_LN43 0
528 #define HECMW_MAX_SURF_LN44 0
529 #define HECMW_MAX_SURF_LN45 0
530 #define HECMW_MAX_SURF_LN46 0
531 #define HECMW_MAX_SURF_LN51 0
532 #define HECMW_MAX_SURF_LN52 0
533 #define HECMW_MAX_SURF_LN53 0
534 #define HECMW_MAX_SURF_LN54 0
535 #define HECMW_MAX_SURF_LN55 0
536 #define HECMW_MAX_SURF_LN56 0
537 #define HECMW_MAX_SURF_LN61 0
538 #define HECMW_MAX_SURF_LN62 0
539 #define HECMW_MAX_SURF_LN63 0
540 #define HECMW_MAX_SURF_LN64 0
541 #define HECMW_MAX_SURF_LN65 0
542 #define HECMW_MAX_SURF_LN66 0
543 #define HECMW_MAX_SURF_PTT1 1
544 #define HECMW_MAX_SURF_PTT2 1
545 #define HECMW_MAX_SURF_PTQ1 1
546 #define HECMW_MAX_SURF_PTQ2 1
547 
548 /*
549  * number of component triangular surfaces on finite element
550  */
551 #define HECMW_MAX_TSUF_MAX 4
552 
553 #define HECMW_MAX_TSUF_PNT 0
554 #define HECMW_MAX_TSUF_ROD1 0
555 #define HECMW_MAX_TSUF_ROD2 0
556 #define HECMW_MAX_TSUF_TRI1 0
557 #define HECMW_MAX_TSUF_TRI2 0
558 #define HECMW_MAX_TSUF_QUA1 0
559 #define HECMW_MAX_TSUF_QUA2 0
560 #define HECMW_MAX_TSUF_TET1 4
561 #define HECMW_MAX_TSUF_TET1_4 4
562 #define HECMW_MAX_TSUF_TET2 4
563 #define HECMW_MAX_TSUF_PRI1 2
564 #define HECMW_MAX_TSUF_PRI2 2
565 #define HECMW_MAX_TSUF_HEX1 0
566 #define HECMW_MAX_TSUF_HEX1_4 0
567 #define HECMW_MAX_TSUF_HEX2 0
568 #define HECMW_MAX_TSUF_PYR1 4
569 #define HECMW_MAX_TSUF_PYR2 4
570 #define HECMW_MAX_TSUF_MST1 1
571 #define HECMW_MAX_TSUF_MST2 1
572 #define HECMW_MAX_TSUF_MSQ1 0
573 #define HECMW_MAX_TSUF_MSQ2 0
574 #define HECMW_MAX_TSUF_JTB1 0
575 #define HECMW_MAX_TSUF_SPGDPT1 0
576 #define HECMW_MAX_TSUF_JTT1 2
577 #define HECMW_MAX_TSUF_JTT2 2
578 #define HECMW_MAX_TSUF_JTQ1 0
579 #define HECMW_MAX_TSUF_JTQ2 0
580 #define HECMW_MAX_TSUF_BEM1 0
581 #define HECMW_MAX_TSUF_BEM2 0
582 #define HECMW_MAX_TSUF_BEM3 4 /* mixed beam-341*/
583 #define HECMW_MAX_TSUF_SHT1 2
584 #define HECMW_MAX_TSUF_SHT2 2
585 #define HECMW_MAX_TSUF_SHQ1 0
586 #define HECMW_MAX_TSUF_SHQ2 0
587 #define HECMW_MAX_TSUF_SHT6 2 /* mixed shell-solid */
588 #define HECMW_MAX_TSUF_SHQ8 0
589 #define HECMW_MAX_TSUF_LN11 0
590 #define HECMW_MAX_TSUF_LN12 0
591 #define HECMW_MAX_TSUF_LN13 0
592 #define HECMW_MAX_TSUF_LN14 0
593 #define HECMW_MAX_TSUF_LN15 0
594 #define HECMW_MAX_TSUF_LN16 0
595 #define HECMW_MAX_TSUF_LN21 0
596 #define HECMW_MAX_TSUF_LN22 0
597 #define HECMW_MAX_TSUF_LN23 0
598 #define HECMW_MAX_TSUF_LN24 0
599 #define HECMW_MAX_TSUF_LN25 0
600 #define HECMW_MAX_TSUF_LN26 0
601 #define HECMW_MAX_TSUF_LN31 0
602 #define HECMW_MAX_TSUF_LN32 0
603 #define HECMW_MAX_TSUF_LN33 0
604 #define HECMW_MAX_TSUF_LN34 0
605 #define HECMW_MAX_TSUF_LN35 0
606 #define HECMW_MAX_TSUF_LN36 0
607 #define HECMW_MAX_TSUF_LN41 0
608 #define HECMW_MAX_TSUF_LN42 0
609 #define HECMW_MAX_TSUF_LN43 0
610 #define HECMW_MAX_TSUF_LN44 0
611 #define HECMW_MAX_TSUF_LN45 0
612 #define HECMW_MAX_TSUF_LN46 0
613 #define HECMW_MAX_TSUF_LN51 0
614 #define HECMW_MAX_TSUF_LN52 0
615 #define HECMW_MAX_TSUF_LN53 0
616 #define HECMW_MAX_TSUF_LN54 0
617 #define HECMW_MAX_TSUF_LN55 0
618 #define HECMW_MAX_TSUF_LN56 0
619 #define HECMW_MAX_TSUF_LN61 0
620 #define HECMW_MAX_TSUF_LN62 0
621 #define HECMW_MAX_TSUF_LN63 0
622 #define HECMW_MAX_TSUF_LN64 0
623 #define HECMW_MAX_TSUF_LN65 0
624 #define HECMW_MAX_TSUF_LN66 0
625 #define HECMW_MAX_TSUF_PTT1 1
626 #define HECMW_MAX_TSUF_PTT2 1
627 #define HECMW_MAX_TSUF_PTQ1 0
628 #define HECMW_MAX_TSUF_PTQ2 0
629 
630 /*
631  * number of component quadrilateral surfaces on finite element
632  */
633 #define HECMW_MAX_QSUF_MAX 6
634 
635 #define HECMW_MAX_QSUF_PNT 0
636 #define HECMW_MAX_QSUF_ROD1 0
637 #define HECMW_MAX_QSUF_ROD2 0
638 #define HECMW_MAX_QSUF_TRI1 0
639 #define HECMW_MAX_QSUF_TRI2 0
640 #define HECMW_MAX_QSUF_QUA1 0
641 #define HECMW_MAX_QSUF_QUA2 0
642 #define HECMW_MAX_QSUF_TET1 0
643 #define HECMW_MAX_QSUF_TET1_4 0
644 #define HECMW_MAX_QSUF_TET2 0
645 #define HECMW_MAX_QSUF_PRI1 3
646 #define HECMW_MAX_QSUF_PRI2 3
647 #define HECMW_MAX_QSUF_HEX1 6
648 #define HECMW_MAX_QSUF_HEX1_4 6
649 #define HECMW_MAX_QSUF_HEX2 6
650 #define HECMW_MAX_QSUF_PYR1 1
651 #define HECMW_MAX_QSUF_PYR2 1
652 #define HECMW_MAX_QSUF_MST1 0
653 #define HECMW_MAX_QSUF_MST2 0
654 #define HECMW_MAX_QSUF_MSQ1 1
655 #define HECMW_MAX_QSUF_MSQ2 1
656 #define HECMW_MAX_QSUF_JTB1 0
657 #define HECMW_MAX_QSUF_SPGDPT1 0
658 #define HECMW_MAX_QSUF_JTT1 0
659 #define HECMW_MAX_QSUF_JTT2 0
660 #define HECMW_MAX_QSUF_JTQ1 2
661 #define HECMW_MAX_QSUF_JTQ2 2
662 #define HECMW_MAX_QSUF_BEM1 0
663 #define HECMW_MAX_QSUF_BEM2 0
664 #define HECMW_MAX_QSUF_BEM3 0 /* mixed beam-341*/
665 #define HECMW_MAX_QSUF_SHT1 0
666 #define HECMW_MAX_QSUF_SHT2 0
667 #define HECMW_MAX_QSUF_SHQ1 2
668 #define HECMW_MAX_QSUF_SHQ2 2
669 #define HECMW_MAX_QSUF_SHT6 3 /* mixed shell-solid */
670 #define HECMW_MAX_QSUF_SHQ8 6
671 #define HECMW_MAX_QSUF_LN11 0
672 #define HECMW_MAX_QSUF_LN12 0
673 #define HECMW_MAX_QSUF_LN13 0
674 #define HECMW_MAX_QSUF_LN14 0
675 #define HECMW_MAX_QSUF_LN15 0
676 #define HECMW_MAX_QSUF_LN16 0
677 #define HECMW_MAX_QSUF_LN21 0
678 #define HECMW_MAX_QSUF_LN22 0
679 #define HECMW_MAX_QSUF_LN23 0
680 #define HECMW_MAX_QSUF_LN24 0
681 #define HECMW_MAX_QSUF_LN25 0
682 #define HECMW_MAX_QSUF_LN26 0
683 #define HECMW_MAX_QSUF_LN31 0
684 #define HECMW_MAX_QSUF_LN32 0
685 #define HECMW_MAX_QSUF_LN33 0
686 #define HECMW_MAX_QSUF_LN34 0
687 #define HECMW_MAX_QSUF_LN35 0
688 #define HECMW_MAX_QSUF_LN36 0
689 #define HECMW_MAX_QSUF_LN41 0
690 #define HECMW_MAX_QSUF_LN42 0
691 #define HECMW_MAX_QSUF_LN43 0
692 #define HECMW_MAX_QSUF_LN44 0
693 #define HECMW_MAX_QSUF_LN45 0
694 #define HECMW_MAX_QSUF_LN46 0
695 #define HECMW_MAX_QSUF_LN51 0
696 #define HECMW_MAX_QSUF_LN52 0
697 #define HECMW_MAX_QSUF_LN53 0
698 #define HECMW_MAX_QSUF_LN54 0
699 #define HECMW_MAX_QSUF_LN55 0
700 #define HECMW_MAX_QSUF_LN56 0
701 #define HECMW_MAX_QSUF_LN61 0
702 #define HECMW_MAX_QSUF_LN62 0
703 #define HECMW_MAX_QSUF_LN63 0
704 #define HECMW_MAX_QSUF_LN64 0
705 #define HECMW_MAX_QSUF_LN65 0
706 #define HECMW_MAX_QSUF_LN66 0
707 #define HECMW_MAX_QSUF_PTT1 0
708 #define HECMW_MAX_QSUF_PTT2 0
709 #define HECMW_MAX_QSUF_PTQ1 1
710 #define HECMW_MAX_QSUF_PTQ2 1
711 
712 #define HECMW_CLASS_LINE 1
713 #define HECMW_CLASS_SURF 2
714 #define HECMW_CLASS_SOLID 3
715 #define HECMW_CLASS_JOINT 4
716 #define HECMW_CLASS_LINK 5
717 
718 #define HECMW_SHAPE_LINE 1
719 #define HECMW_SHAPE_TRI 2
720 #define HECMW_SHAPE_QUAD 3
721 #define HECMW_SHAPE_TETRA 4
722 #define HECMW_SHAPE_PYRAM 5
723 #define HECMW_SHAPE_PRISM 6
724 #define HECMW_SHAPE_HEXA 7
725 
726 #define HECMW_VTK_SHAPE_LINE 3
727 #define HECMW_VTK_SHAPE_TRI 5
728 #define HECMW_VTK_SHAPE_QUAD 9
729 #define HECMW_VTK_SHAPE_TETRA 10
730 #define HECMW_VTK_SHAPE_PYRAM 14
731 #define HECMW_VTK_SHAPE_PRISM 13
732 #define HECMW_VTK_SHAPE_HEXA 12
733 #define HECMW_VTK_SHAPE_TETRA2 24
734 
735 /*
736  * DOFs
737  */
738 #define HECMW_MESH_NDOFGRP_MAX 3
739 #define HECMW_MESH_DOF_MAX 6
740 #define HECMW_MESH_DOF_TOT 3
741 
742 #define HECMW_MESH_DOF_TWO 2
743 #define HECMW_MESH_DOF_THREE 3
744 #define HECMW_MESH_DOF_FOUR 4
745 #define HECMW_MESH_DOF_SIX 6
746 
747 #endif