ParMooN
 All Classes Functions Variables Friends Pages
FE_C_H_Q2_3D.h
1 // ***********************************************************************
2 // Q2 element, conforming, 3D
3 // ***********************************************************************
4 
5 // number of degrees of freedom
6 static int C_H_Q2_3D_NDOF = 27;
7 
8 // number of dofs on the closure of the joints
9 static int C_H_Q2_3D_JointDOF = 9;
10 
11 // which local dofs are on the joints
12 static int C_H_Q2_3D_J0[9] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
13 static int C_H_Q2_3D_J1[9] = { 0, 9, 18, 1, 10, 19, 2, 11, 20 };
14 static int C_H_Q2_3D_J2[9] = { 2, 11, 20, 5, 14, 23, 8, 17, 26 };
15 static int C_H_Q2_3D_J3[9] = { 8, 17, 26, 7, 16, 25, 6, 15, 24 };
16 static int C_H_Q2_3D_J4[9] = { 0, 3, 6, 9, 12, 15, 18, 21, 24 };
17 static int C_H_Q2_3D_J5[9] = { 18, 21, 24, 19, 22, 25, 20, 23, 26 };
18 
19 static int *C_H_Q2_3D_J[6] = { C_H_Q2_3D_J0, C_H_Q2_3D_J1,
20  C_H_Q2_3D_J2, C_H_Q2_3D_J3,
21  C_H_Q2_3D_J4, C_H_Q2_3D_J5};
22 
23 #ifdef _MPI
24 // number of dofs on the closure of the edges
25 static int C_H_Q2_3D_EdgeDOF = 3;
26 
27 // which local dofs are on the joints
28 static int C_H_Q2_3D_E0[3] = { 0, 1, 2 };
29 static int C_H_Q2_3D_E1[3] = { 2, 5, 8 };
30 static int C_H_Q2_3D_E2[3] = { 8, 7, 6 };
31 static int C_H_Q2_3D_E3[3] = { 6, 3, 0 };
32 
33 static int C_H_Q2_3D_E4[3] = { 0, 9, 18 };
34 static int C_H_Q2_3D_E5[3] = { 2, 11, 20 };
35 static int C_H_Q2_3D_E6[3] = { 8, 17, 26 };
36 static int C_H_Q2_3D_E7[3] = { 6, 15, 24 };
37 
38 static int C_H_Q2_3D_E8[3] = { 18, 19, 20 };
39 static int C_H_Q2_3D_E9[3] = { 20, 23, 26 };
40 static int C_H_Q2_3D_E10[3] = { 26, 25, 24 };
41 static int C_H_Q2_3D_E11[3] = { 24, 21, 18 };
42 
43 static int *C_H_Q2_3D_E[12] = { C_H_Q2_3D_E0, C_H_Q2_3D_E1, C_H_Q2_3D_E2, C_H_Q2_3D_E3,
44  C_H_Q2_3D_E4, C_H_Q2_3D_E5, C_H_Q2_3D_E6, C_H_Q2_3D_E7,
45  C_H_Q2_3D_E8, C_H_Q2_3D_E9, C_H_Q2_3D_E10, C_H_Q2_3D_E11};
46 
47 // number of dofs on the closure of the vertices
48 static int C_H_Q2_3D_VertDOF = 8;
49 
50 // array containing the numbers for the vertices dofs
51 static int C_H_Q2_3D_Vert[8] = {0, 2, 8, 6, 18, 20, 26, 24};
52 
53 #endif
54 
55 // number of inner dofs
56 static int C_H_Q2_3D_NInner = 1;
57 
58 // array containing the numbers for the inner dofs
59 static int C_H_Q2_3D_Inner[] = { 13 };
60 
61 // number of outer dof
62 static int C_H_Q2_3D_NOuter = 26;
63 
64 // array containing the numbers for the outer dofs
65 static int C_H_Q2_3D_Outer[26] = { 0, 1, 2, 3, 4, 5, 6, 7, 8,
66  9, 10, 11, 12, 14, 15, 16, 17,
67  18, 19, 20, 21, 22, 23, 24, 25, 26 };
68 
69 static char C_H_Q2_3D_String[] = "C_H_Q2_3D";
70 
71 TFEDesc3D *FE_C_H_Q2_3D_Obj=new TFEDesc3D(C_H_Q2_3D_String, C_H_Q2_3D_NDOF,
72  C_H_Q2_3D_JointDOF,
73  C_H_Q2_3D_J,
74  C_H_Q2_3D_NInner, C_H_Q2_3D_Inner,
75  C_H_Q2_3D_NOuter, C_H_Q2_3D_Outer
76 #ifdef _MPI
77  ,C_H_Q2_3D_EdgeDOF, C_H_Q2_3D_E, C_H_Q2_3D_VertDOF,
78  C_H_Q2_3D_Vert
79 #endif
80  );
Definition: FEDesc3D.h:19