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