ParMooN
 All Classes Functions Variables Friends Pages
Q3_Q3_1Reg.h
1 /*
2  TFE3DMapper1Reg(char *name, char *description, int nfine, int ncoarse,
3  int n_pairs, int **pairs,
4  int n_hanging, int *hanging,
5  HNDesc *hangingtypes, int **coupling,
6  int n_nodes, int **twistpermutation);
7 */
8 static char Q3_Q3_1Reg_Name[] = "Q3_Q3_1Reg";
9 static char Q3_Q3_1Reg_Desc[] = "conforming Q3 element, 1-regular";
10 static int Q3_Q3_1Reg_NFine = 16;
11 static int Q3_Q3_1Reg_NCoarse = 16;
12 static int Q3_Q3_1Reg_N_Pairs = 31;
13 static int Q3_Q3_1Reg_Pairs0[][2] = { {0,64}, {2,68}, {3,28}, {7,29},
14  {8,65}, {10,69}, {11,30}, {12,51}, {13,55}, {14,59}, {15,31},
15  {16,76}, {18,77}, {19,44}, {23,45}, {24,72}, {26,73}, {27,46},
16  {31,47}, {32,79}, {34,75}, {35,60}, {39,61}, {40,78}, {42,74},
17  {43,62}, {47,63}, {48,67}, {50,66}, {56,71}, {58,70} };
18 
19 static int *Q3_Q3_1Reg_Pairs[1] = { (int *)Q3_Q3_1Reg_Pairs0 };
20 
21 static int Q3_Q3_1Reg_NNodes = 80;
22 
23 static int Q3_Q3_1Reg_NHanging = 33;
24 static int Q3_Q3_1Reg_Hanging[33] = {
25  1, 20, 9, 22, 54, 41, 52, 33,
26  4, 49, 6, 57, 25, 38, 17, 36,
27  3, 11, 43, 35, 12, 14, 27, 19,
28  7, 23, 39, 13,
29  5, 21, 37, 53,
30  15 };
31 
32 static HNDesc Q3_Q3_1Reg_HangingTypes[33] = {
33  HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1,
34  HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1,
35  HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1,
36  HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1, HN_C_Q3_3D_1,
37  HN_C_Q3_3D_2, HN_C_Q3_3D_2, HN_C_Q3_3D_2, HN_C_Q3_3D_2,
38  HN_C_Q3_3D_2, HN_C_Q3_3D_2, HN_C_Q3_3D_2, HN_C_Q3_3D_2,
39  HN_C_Q3_3D_3, HN_C_Q3_3D_3, HN_C_Q3_3D_3, HN_C_Q3_3D_3,
40  HN_C_Q3_3D_4, HN_C_Q3_3D_4, HN_C_Q3_3D_4, HN_C_Q3_3D_4,
41  HN_C_Q3_3D_5 };
42 static int Q3_Q3_1Reg_HN0[] = { 0, 2, 24, 16 };
43 static int Q3_Q3_1Reg_HN1[] = { 16, 24, 2, 0 };
44 static int Q3_Q3_1Reg_HN2[] = { 8, 10, 26, 18 };
45 static int Q3_Q3_1Reg_HN3[] = { 18, 26, 10, 8 };
46 static int Q3_Q3_1Reg_HN4[] = { 50, 58, 42, 40 };
47 static int Q3_Q3_1Reg_HN5[] = { 40, 42, 58, 50 };
48 static int Q3_Q3_1Reg_HN6[] = { 48, 56, 34, 32 };
49 static int Q3_Q3_1Reg_HN7[] = { 32, 34, 56, 48 };
50 
51 static int Q3_Q3_1Reg_HN8[] = { 0, 8, 50, 48 };
52 static int Q3_Q3_1Reg_HN9[] = { 48, 50, 8, 0 };
53 static int Q3_Q3_1Reg_HN10[] = { 2, 10, 58, 56 };
54 static int Q3_Q3_1Reg_HN11[] = { 56, 58, 10, 2 };
55 static int Q3_Q3_1Reg_HN12[] = { 24, 26, 42, 34 };
56 static int Q3_Q3_1Reg_HN13[] = { 34, 42, 26, 24 };
57 static int Q3_Q3_1Reg_HN14[] = { 16, 18, 40, 32 };
58 static int Q3_Q3_1Reg_HN15[] = { 32, 40, 18, 16 };
59 
60 static int Q3_Q3_1Reg_HN16[] = { 0, 2, 24, 16 };
61 static int Q3_Q3_1Reg_HN17[] = { 8, 10, 26, 18 };
62 static int Q3_Q3_1Reg_HN18[] = { 50, 58, 42, 40 };
63 static int Q3_Q3_1Reg_HN19[] = { 48, 56, 34, 32 };
64 static int Q3_Q3_1Reg_HN20[] = { 0, 8, 50, 48 };
65 static int Q3_Q3_1Reg_HN21[] = { 2, 10, 58, 56 };
66 static int Q3_Q3_1Reg_HN22[] = { 24, 26, 42, 34 };
67 static int Q3_Q3_1Reg_HN23[] = { 16, 18, 40, 32 };
68 
69 static int Q3_Q3_1Reg_HN24[] = { 0, 2, 24, 16, 8, 10, 26, 18,
70  50, 58, 42, 40, 48, 56, 34, 32 };
71 static int Q3_Q3_1Reg_HN25[] = { 16, 18, 40, 32, 24, 26, 42, 34,
72  2, 10, 58, 56, 0, 8, 50, 48 };
73 static int Q3_Q3_1Reg_HN26[] = { 32, 34, 56, 48, 40, 42, 58, 50,
74  18, 26, 10, 8, 16, 24, 2, 0 };
75 static int Q3_Q3_1Reg_HN27[] = { 48, 50, 8, 0, 56, 58, 10, 2,
76  34, 42, 26, 24, 32, 40, 18, 16 };
77 
78 static int Q3_Q3_1Reg_HN28[] = { 0, 2, 24, 16, 8, 10, 26, 18,
79  50, 58, 42, 40, 48, 56, 34, 32 };
80 static int Q3_Q3_1Reg_HN29[] = { 16, 18, 40, 32, 24, 26, 42, 34,
81  2, 10, 58, 56, 0, 8, 50, 48 };
82 static int Q3_Q3_1Reg_HN30[] = { 32, 34, 56, 48, 40, 42, 58, 50,
83  18, 26, 10, 8, 16, 24, 2, 0 };
84 static int Q3_Q3_1Reg_HN31[] = { 48, 50, 8, 0, 56, 58, 10, 2,
85  34, 42, 26, 24, 32, 40, 18, 16 };
86 
87 static int Q3_Q3_1Reg_HN32[] = { 0, 2, 24, 16, 8, 10, 26, 18,
88  50, 58, 42, 40, 48, 56, 34, 32 };
89 
90 static int *Q3_Q3_1Reg_Coupling[33] = {
91  Q3_Q3_1Reg_HN0, Q3_Q3_1Reg_HN1, Q3_Q3_1Reg_HN2, Q3_Q3_1Reg_HN3,
92  Q3_Q3_1Reg_HN4, Q3_Q3_1Reg_HN5, Q3_Q3_1Reg_HN6, Q3_Q3_1Reg_HN7,
93  Q3_Q3_1Reg_HN8, Q3_Q3_1Reg_HN9, Q3_Q3_1Reg_HN10, Q3_Q3_1Reg_HN11,
94  Q3_Q3_1Reg_HN12, Q3_Q3_1Reg_HN13, Q3_Q3_1Reg_HN14, Q3_Q3_1Reg_HN15,
95  Q3_Q3_1Reg_HN16, Q3_Q3_1Reg_HN17, Q3_Q3_1Reg_HN18, Q3_Q3_1Reg_HN19,
96  Q3_Q3_1Reg_HN20, Q3_Q3_1Reg_HN21, Q3_Q3_1Reg_HN22, Q3_Q3_1Reg_HN23,
97  Q3_Q3_1Reg_HN24, Q3_Q3_1Reg_HN25, Q3_Q3_1Reg_HN26, Q3_Q3_1Reg_HN27,
98  Q3_Q3_1Reg_HN28, Q3_Q3_1Reg_HN29, Q3_Q3_1Reg_HN30, Q3_Q3_1Reg_HN31,
99  Q3_Q3_1Reg_HN32 };
100 
101 static int Q3_Q3_1Reg_TwistPerm0[] = {
102  0, 1, 2, 3, 4, 5, 6, 7,
103  8, 9, 10, 11, 12, 13, 14, 15 };
104 static int Q3_Q3_1Reg_TwistPerm1[] = {
105  3, 7, 11, 15, 2, 6, 10, 14,
106  1, 5, 9, 13, 0, 4, 8, 12 };
107 static int Q3_Q3_1Reg_TwistPerm2[] = {
108  15, 14, 13, 12, 11, 10, 9, 8,
109  7, 6, 5, 4, 3, 2, 1, 0 };
110 static int Q3_Q3_1Reg_TwistPerm3[] = {
111  12, 8, 4, 0, 13, 9, 5, 1,
112  14, 10, 6, 2, 15, 11, 7, 3 };
113 
114 static int *Q3_Q3_1Reg_TwistPerm[4] = { Q3_Q3_1Reg_TwistPerm0,
115  Q3_Q3_1Reg_TwistPerm1,
116  Q3_Q3_1Reg_TwistPerm2,
117  Q3_Q3_1Reg_TwistPerm3 };
118 
119 static int Q3_Q3_1Reg_NNoOpposite = 0;
120 static int **Q3_Q3_1Reg_NoOpposite = NULL;
121 
122 TFE3DMapper1Reg *Q3_Q3_1Reg = new TFE3DMapper1Reg(
123  Q3_Q3_1Reg_Name, Q3_Q3_1Reg_Desc,
124  Q3_Q3_1Reg_NFine, Q3_Q3_1Reg_NCoarse,
125  Q3_Q3_1Reg_N_Pairs, Q3_Q3_1Reg_Pairs,
126  Q3_Q3_1Reg_NNoOpposite, Q3_Q3_1Reg_NoOpposite,
127  Q3_Q3_1Reg_NHanging, Q3_Q3_1Reg_Hanging,
128  Q3_Q3_1Reg_HangingTypes, Q3_Q3_1Reg_Coupling,
129  Q3_Q3_1Reg_NNodes, Q3_Q3_1Reg_TwistPerm);
Definition: FE3DMapper1Reg.h:25