ParMooN
 All Classes Functions Variables Friends Pages
NF_C_H_Q2_3D.h
1 /*
2  TNodalFunctional3D(NodalFunctional3D id,
3  int n_allfunctionals, int *n_facefunctionals,
4  int n_pointsall, int *n_pointsface,
5  double *xi, double *eta, double *zeta,
6  double **xiarray, double **etaarray,
7  double **zetaarray,
8  DoubleFunctVect *evalall,
9  DoubleFunctVect *evalface);
10 */
11 
12 /* for all functionals */
13 static double NF_C_H_Q2_3D_Xi[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1,
14  -1, 0, 1, -1, 0, 1, -1, 0, 1,
15  -1, 0, 1, -1, 0, 1, -1, 0, 1 };
16 static double NF_C_H_Q2_3D_Eta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1,
17  -1, -1, -1, 0, 0, 0, 1, 1, 1,
18  -1, -1, -1, 0, 0, 0, 1, 1, 1 };
19 static double NF_C_H_Q2_3D_Zeta[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1,
20  0, 0, 0, 0, 0, 0, 0, 0, 0,
21  1, 1, 1, 1, 1, 1, 1, 1, 1 };
22 
23 /* face 0 0 1 2 3 4 5 6 7 8 */
24 static double NF_C_H_Q2_3D_F0_Xi[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
25 static double NF_C_H_Q2_3D_F0_Eta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
26 static double NF_C_H_Q2_3D_F0_Zeta[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
27 
28 /* face 1 0 9 18 1 10 19 2 11 20 */
29 static double NF_C_H_Q2_3D_F1_Xi[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
30 static double NF_C_H_Q2_3D_F1_Eta[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
31 static double NF_C_H_Q2_3D_F1_Zeta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
32 
33 /* face 2 2 11 20 5 14 23 8 17 26 */
34 static double NF_C_H_Q2_3D_F2_Xi[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
35 static double NF_C_H_Q2_3D_F2_Eta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
36 static double NF_C_H_Q2_3D_F2_Zeta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
37 
38 /* face 3 8 17 26 7 16 25 6 15 24 */
39 static double NF_C_H_Q2_3D_F3_Xi[] = { 1, 1, 1, 0, 0, 0, -1, -1, -1 };
40 static double NF_C_H_Q2_3D_F3_Eta[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
41 static double NF_C_H_Q2_3D_F3_Zeta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
42 
43 /* face 4 0 3 6 9 12 15 18 21 24 */
44 static double NF_C_H_Q2_3D_F4_Xi[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
45 static double NF_C_H_Q2_3D_F4_Eta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
46 static double NF_C_H_Q2_3D_F4_Zeta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
47 
48 /* face 5 18 21 24 19 22 25 20 23 26 */
49 static double NF_C_H_Q2_3D_F5_Xi[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
50 static double NF_C_H_Q2_3D_F5_Eta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
51 static double NF_C_H_Q2_3D_F5_Zeta[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
52 
53 static double *NF_C_H_Q2_3D_XiArray[6] = {
54  NF_C_H_Q2_3D_F0_Xi,
55  NF_C_H_Q2_3D_F1_Xi,
56  NF_C_H_Q2_3D_F2_Xi,
57  NF_C_H_Q2_3D_F3_Xi,
58  NF_C_H_Q2_3D_F4_Xi,
59  NF_C_H_Q2_3D_F5_Xi };
60 
61 static double *NF_C_H_Q2_3D_EtaArray[6] = {
62  NF_C_H_Q2_3D_F0_Eta,
63  NF_C_H_Q2_3D_F1_Eta,
64  NF_C_H_Q2_3D_F2_Eta,
65  NF_C_H_Q2_3D_F3_Eta,
66  NF_C_H_Q2_3D_F4_Eta,
67  NF_C_H_Q2_3D_F5_Eta };
68 
69 static double *NF_C_H_Q2_3D_ZetaArray[6] = {
70  NF_C_H_Q2_3D_F0_Zeta,
71  NF_C_H_Q2_3D_F1_Zeta,
72  NF_C_H_Q2_3D_F2_Zeta,
73  NF_C_H_Q2_3D_F3_Zeta,
74  NF_C_H_Q2_3D_F4_Zeta,
75  NF_C_H_Q2_3D_F5_Zeta };
76 
77 static double NF_C_H_Q2_3D_T[9] = { 0, 0.5, 1, 0, 0.5, 1, 0, 0.5, 1 };
78 static double NF_C_H_Q2_3D_S[9] = { 0, 0, 0, 0.5, 0.5, 0.5, 1, 1, 1 };
79 
80 void NF_C_H_Q2_3D_EvalAll(TCollection *Coll, TBaseCell *Cell,
81  double *PointValues, double *Functionals)
82 {
83  memcpy(Functionals, PointValues, 27*SizeOfDouble);
84 }
85 
86 void NF_C_H_Q2_3D_EvalFace(TCollection *Coll, TBaseCell *Cell, int Joint,
87  double *PointValues, double *Functionals)
88 {
89  memcpy(Functionals, PointValues, 9*SizeOfDouble);
90 }
91 
92 static int NF_C_H_Q2_3D_N_AllFunctionals = 27;
93 static int NF_C_H_Q2_3D_N_PointsAll = 27;
94 static int NF_C_H_Q2_3D_N_FaceFunctionals[] = { 9, 9, 9, 9, 9, 9 };
95 static int NF_C_H_Q2_3D_N_PointsFace[] = { 9, 9, 9, 9, 9, 9 };
96 
97 TNodalFunctional3D *NF_C_H_Q2_3D_Obj = new TNodalFunctional3D
98  (NF_C_H_Q2_3D, NF_C_H_Q2_3D_N_AllFunctionals,
99  NF_C_H_Q2_3D_N_FaceFunctionals, NF_C_H_Q2_3D_N_PointsAll,
100  NF_C_H_Q2_3D_N_PointsFace,
101  NF_C_H_Q2_3D_Xi, NF_C_H_Q2_3D_Eta, NF_C_H_Q2_3D_Zeta,
102  NF_C_H_Q2_3D_XiArray, NF_C_H_Q2_3D_EtaArray,
103  NF_C_H_Q2_3D_ZetaArray,
104  NF_C_H_Q2_3D_T, NF_C_H_Q2_3D_S,
105  NF_C_H_Q2_3D_EvalAll, NF_C_H_Q2_3D_EvalFace);
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
information for finite element data structure
Definition: BaseCell.h:25