Loading [MathJax]/extensions/tex2jax.js
Mesh Oriented datABase  (version 5.5.1)
An array-based unstructured mesh library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
patran_order.h
Go to the documentation of this file.
1 #ifndef PATRAN_ORDER_H 2 #define PATRAN_ORDER_H 3  4 #ifdef __cplusplus 5 extern "C" { 6 namespace moab 7 { 8 #endif 9  10  /* Define maps that, when indexed by the PATRAN connectivity index return 11  the corresponding index in the MOAB connectivity. */ 12  13  static const int patran_tet8_order[] = { 0, 1, 2, 3, 7, 5, 6, 4 }; 14  static const int patran_tet9_order[] = { 0, 1, 2, 3, 8, 7, 5, 6, 4 }; 15  static const int patran_tet14_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 11, 12, 10 }; 16  static const int patran_tet15_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 13, 11, 12, 10 }; 17  18  static const int patran_hex14_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 12, 13, 11, 9, 8, 10 }; 19  static const int patran_hex15_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 14, 12, 13, 11, 9, 8, 10 }; 20  static const int patran_hex26_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 21  13, 14, 15, 16, 17, 18, 19, 24, 25, 23, 21, 20, 22 }; 22  static const int patran_hex27_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 23  14, 15, 16, 17, 18, 19, 26, 24, 25, 23, 21, 20, 22 }; 24  25  static const int patran_pri11_order[] = { 0, 1, 2, 3, 4, 5, 9, 10, 7, 8, 6 }; 26  static const int patran_pri12_order[] = { 0, 1, 2, 3, 4, 5, 11, 9, 10, 7, 8, 6 }; 27  static const int patran_pri20_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 16, 17, 15 }; 28  static const int patran_pri21_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 29  11, 12, 13, 14, 20, 18, 19, 16, 17, 15 }; 30  31  /* Define list of maps for an element type, indexed by the number 32  of nodes in the element. Entries are NULL where MBCN connectivity 33  is the same as PATRAN (or the number of nodes is invalid.) */ 34  35  static const int* const patran_null_order[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 38  static const int* const patran_tet_order[] = { 0, 39  0, 40  0, 41  0, 42  0, 43  0, 44  0, 45  0, 46  patran_tet8_order, 47  patran_tet9_order, 48  0, 49  0, 50  0, 51  0, 52  patran_tet14_order, 53  patran_tet15_order, 54  0, 55  0, 56  0, 57  0, 58  0, 59  0, 60  0, 61  0, 62  0, 63  0, 64  0, 65  0, 66  0, 67  0, 68  0, 69  0, 70  0, 71  0, 72  0, 73  0, 74  0, 75  0, 76  0, 77  0, 78  0, 79  0, 80  0, 81  0, 82  0, 83  0, 84  0, 85  0, 86  0, 87  0, 88  0, 89  0, 90  0, 91  0, 92  0, 93  0, 94  0 }; 95  static const int* const patran_hex_order[] = { 0, 96  0, 97  0, 98  0, 99  0, 100  0, 101  0, 102  0, 103  0, 104  0, 105  0, 106  0, 107  0, 108  0, 109  patran_hex14_order, 110  patran_hex15_order, 111  0, 112  0, 113  0, 114  0, 115  0, 116  0, 117  0, 118  0, 119  0, 120  0, 121  patran_hex26_order, 122  patran_hex27_order, 123  0, 124  0, 125  0, 126  0, 127  0, 128  0, 129  0, 130  0, 131  0, 132  0, 133  0, 134  0, 135  0, 136  0, 137  0, 138  0, 139  0, 140  0, 141  0, 142  0, 143  0, 144  0, 145  0, 146  0, 147  0, 148  0, 149  0, 150  0, 151  0, 152  0, 153  0, 154  0, 155  0, 156  0, 157  0, 158  0, 159  0 }; 160  static const int* const patran_pri_order[] = { 0, 161  0, 162  0, 163  0, 164  0, 165  0, 166  0, 167  0, 168  0, 169  0, 170  0, 171  patran_pri11_order, 172  patran_pri12_order, 173  0, 174  0, 175  0, 176  0, 177  0, 178  0, 179  0, 180  patran_pri20_order, 181  patran_pri21_order, 182  0, 183  0, 184  0, 185  0, 186  0, 187  0, 188  0, 189  0, 190  0, 191  0, 192  0, 193  0, 194  0, 195  0, 196  0, 197  0, 198  0, 199  0, 200  0, 201  0, 202  0, 203  0, 204  0, 205  0, 206  0, 207  0, 208  0, 209  0, 210  0, 211  0, 212  0, 213  0, 214  0, 215  0, 216  0, 217  0, 218  0, 219  0, 220  0, 221  0, 222  0, 223  0, 224  0 }; 225  226  /* Define matrix of maps indexed by element topology (EntityType) and 227  number of nodes. Entries are NULL where MBCN connectivity 228  is the same as PATRAN (or the number of nodes is invalid.) */ 229  230  static const int* const* const patran_elem_order_map[] = { patran_null_order, /* MBVERTEX */ 231  patran_null_order, /* MBEDGE */ 232  patran_null_order, /* MBTRI */ 233  patran_null_order, /* MBQUAD */ 234  patran_null_order, /* MBPOLYGON */ 235  patran_tet_order, /* MBTET */ 236  patran_null_order, /* MBPYRAMID */ 237  patran_pri_order, /* MBPRISM */ 238  patran_null_order, /* MBKNIFE */ 239  patran_hex_order, /* MBHEX */ 240  patran_null_order, /* MBPOLYHEDRON */ 241  patran_null_order }; 242  243 #ifdef __cplusplus 244 } // namespace moab 245  246 /* extern "C" */ 247 } /* namespace moab */ 248 #endif 249  250 #endif