ParMooN
 All Classes Functions Variables Friends Pages
Q2_Q2_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 Q2_Q2_1Reg_Name[] = "Q2_Q2_1Reg";
9 static char Q2_Q2_1Reg_Desc[] = "conforming Q2 element, 1-regular";
10 static int Q2_Q2_1Reg_NFine = 9;
11 static int Q2_Q2_1Reg_NCoarse = 9;
12 static int Q2_Q2_1Reg_N_Pairs = 20;
13 static int Q2_Q2_1Reg_Pairs0[][2] = { {0,36}, {2,39}, {5,16}, {6,37},
14  {7,32}, {8,40}, {9,42}, {11,43},
15  {14,25}, {2,15}, {8,17}, {18,44},
16  {20,41}, {23,34}, {11,24}, {17,26},
17  {27,38}, {6,29}, {20,33}, {26,35} };
18 
19 static int *Q2_Q2_1Reg_Pairs[1] = { (int *)Q2_Q2_1Reg_Pairs0 };
20 
21 static int Q2_Q2_1Reg_NNodes = 45;
22 
23 static int Q2_Q2_1Reg_NHanging = 16;
24 static int Q2_Q2_1Reg_Hanging[16] = { 1, 3, 10, 12, 19, 21, 28, 30,
25  5, 14, 23, 7,
26  4, 13, 22, 31 };
27 static HNDesc Q2_Q2_1Reg_HangingTypes[16] = {
28  HN_C_Q2_3D_E, HN_C_Q2_3D_E, HN_C_Q2_3D_E, HN_C_Q2_3D_E,
29  HN_C_Q2_3D_E, HN_C_Q2_3D_E, HN_C_Q2_3D_E, HN_C_Q2_3D_E,
30  HN_C_Q2_3D_E, HN_C_Q2_3D_E, HN_C_Q2_3D_E, HN_C_Q2_3D_E,
31  HN_C_Q2_3D_F, HN_C_Q2_3D_F, HN_C_Q2_3D_F, HN_C_Q2_3D_F };
32 static int Q2_Q2_1Reg_HN0[] = { 0, 2, 9 };
33 static int Q2_Q2_1Reg_HN1[] = { 0, 6, 27 };
34 static int Q2_Q2_1Reg_HN2[] = { 9, 11, 18 };
35 static int Q2_Q2_1Reg_HN3[] = { 9, 2, 0 };
36 static int Q2_Q2_1Reg_HN4[] = { 18, 20, 27 };
37 static int Q2_Q2_1Reg_HN5[] = { 18, 11, 9 };
38 static int Q2_Q2_1Reg_HN6[] = { 27, 29, 0 };
39 static int Q2_Q2_1Reg_HN7[] = { 27, 20, 18 };
40 
41 static int Q2_Q2_1Reg_HN8[] = { 2, 8, 20 };
42 static int Q2_Q2_1Reg_HN9[] = { 11, 8, 6 };
43 static int Q2_Q2_1Reg_HN10[] = { 20, 8, 2 };
44 static int Q2_Q2_1Reg_HN11[] = { 6, 8, 11 };
45 
46 static int Q2_Q2_1Reg_HN12[] = { 0, 6, 27, 2, 8, 20, 9, 11, 18 };
47 static int Q2_Q2_1Reg_HN13[] = { 9, 2, 0, 11, 8, 6, 18, 20, 27 };
48 static int Q2_Q2_1Reg_HN14[] = { 18, 11, 9, 20, 8, 2, 27, 6, 0 };
49 static int Q2_Q2_1Reg_HN15[] = { 27, 20, 18, 6, 8, 11, 0, 2, 9 };
50 
51 static int *Q2_Q2_1Reg_Coupling[16] = {
52  Q2_Q2_1Reg_HN0, Q2_Q2_1Reg_HN1, Q2_Q2_1Reg_HN2, Q2_Q2_1Reg_HN3,
53  Q2_Q2_1Reg_HN4, Q2_Q2_1Reg_HN5, Q2_Q2_1Reg_HN6, Q2_Q2_1Reg_HN7,
54  Q2_Q2_1Reg_HN8, Q2_Q2_1Reg_HN9, Q2_Q2_1Reg_HN10, Q2_Q2_1Reg_HN11,
55  Q2_Q2_1Reg_HN12, Q2_Q2_1Reg_HN13, Q2_Q2_1Reg_HN14, Q2_Q2_1Reg_HN15 };
56 
57 static int Q2_Q2_1Reg_TwistPerm0[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
58 static int Q2_Q2_1Reg_TwistPerm1[] = { 2, 5, 8, 1, 4, 7, 0, 3, 6 };
59 static int Q2_Q2_1Reg_TwistPerm2[] = { 8, 7, 6, 5, 4, 3, 2, 1, 0 };
60 static int Q2_Q2_1Reg_TwistPerm3[] = { 6, 3, 0, 7, 4, 1, 8, 5, 2 };
61 
62 static int *Q2_Q2_1Reg_TwistPerm[4] = { Q2_Q2_1Reg_TwistPerm0,
63  Q2_Q2_1Reg_TwistPerm1,
64  Q2_Q2_1Reg_TwistPerm2,
65  Q2_Q2_1Reg_TwistPerm3 };
66 
67 static int Q2_Q2_1Reg_NNoOpposite = 12;
68 static int Q2_Q2_1Reg_NoOpposite1[12] = { 4, 13, 22, 31,
69  1, 3, 10, 12, 19, 21, 28, 30 };
70 static int *Q2_Q2_1Reg_NoOpposite[] = { Q2_Q2_1Reg_NoOpposite1 };
71 
72 TFE3DMapper1Reg *Q2_Q2_1Reg = new TFE3DMapper1Reg(
73  Q2_Q2_1Reg_Name, Q2_Q2_1Reg_Desc,
74  Q2_Q2_1Reg_NFine, Q2_Q2_1Reg_NCoarse,
75  Q2_Q2_1Reg_N_Pairs, Q2_Q2_1Reg_Pairs,
76  Q2_Q2_1Reg_NNoOpposite, Q2_Q2_1Reg_NoOpposite,
77  Q2_Q2_1Reg_NHanging, Q2_Q2_1Reg_Hanging,
78  Q2_Q2_1Reg_HangingTypes, Q2_Q2_1Reg_Coupling,
79  Q2_Q2_1Reg_NNodes, Q2_Q2_1Reg_TwistPerm);
Definition: FE3DMapper1Reg.h:25