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 740