ParMooN
 All Classes Functions Variables Friends Pages
NF_C_H_UL1_3DMeanValue.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_UL1_3D_Xi[] = { -1, 1, -1, 1, -1, 1, -1, 1,
14  -0.5773502691896257645091489, 0.5773502691896257645091489,
15  -0.5773502691896257645091489, 0.5773502691896257645091489,
16  -0.5773502691896257645091489, 0.5773502691896257645091489,
17  -0.5773502691896257645091489, 0.5773502691896257645091489
18  };
19 static double NF_C_H_UL1_3D_Eta[] = { -1, -1, 1, 1, -1, -1, 1, 1,
20  -0.5773502691896257645091489, -0.5773502691896257645091489,
21  0.5773502691896257645091489, 0.5773502691896257645091489,
22  -0.5773502691896257645091489, -0.5773502691896257645091489,
23  0.5773502691896257645091489, 0.5773502691896257645091489
24  };
25 static double NF_C_H_UL1_3D_Zeta[] = { -1, -1, -1, -1, 1, 1, 1, 1,
26  -0.5773502691896257645091489, -0.5773502691896257645091489,
27  -0.5773502691896257645091489, -0.5773502691896257645091489,
28  0.5773502691896257645091489, 0.5773502691896257645091489,
29  0.5773502691896257645091489, 0.5773502691896257645091489
30  };
31 
32 /* face 0 0 1 2 3 */
33 static double NF_C_H_UL1_3D_F0_Xi[] = { -1, 1, -1, 1 };
34 static double NF_C_H_UL1_3D_F0_Eta[] = { -1, -1, 1, 1 };
35 static double NF_C_H_UL1_3D_F0_Zeta[] = { -1, -1, -1, -1 };
36 
37 /* face 1 0 4 1 5 */
38 static double NF_C_H_UL1_3D_F1_Xi[] = { -1, -1, 1, 1 };
39 static double NF_C_H_UL1_3D_F1_Eta[] = { -1, -1, -1, -1 };
40 static double NF_C_H_UL1_3D_F1_Zeta[] = { -1, 1, -1, 1 };
41 
42 /* face 2 1 5 3 7 */
43 static double NF_C_H_UL1_3D_F2_Xi[] = { 1, 1, 1, 1 };
44 static double NF_C_H_UL1_3D_F2_Eta[] = { -1, -1, 1, 1 };
45 static double NF_C_H_UL1_3D_F2_Zeta[] = { -1, 1, -1, 1 };
46 
47 /* face 3 3 7 2 6 */
48 static double NF_C_H_UL1_3D_F3_Xi[] = { 1, 1, -1, -1 };
49 static double NF_C_H_UL1_3D_F3_Eta[] = { 1, 1, 1, -1 };
50 static double NF_C_H_UL1_3D_F3_Zeta[] = { -1, 1, -1, 1 };
51 
52 /* face 4 0 2 4 6 */
53 static double NF_C_H_UL1_3D_F4_Xi[] = { -1, -1, -1, -1 };
54 static double NF_C_H_UL1_3D_F4_Eta[] = { -1, 1, -1, 1 };
55 static double NF_C_H_UL1_3D_F4_Zeta[] = { -1, -1, 1, 1 };
56 
57 /* face 5 4 6 5 7 */
58 static double NF_C_H_UL1_3D_F5_Xi[] = { -1, -1, 1, 1 };
59 static double NF_C_H_UL1_3D_F5_Eta[] = { -1, 1, -1, 1 };
60 static double NF_C_H_UL1_3D_F5_Zeta[] = { 1, 1, 1, 1 };
61 
62 static double *NF_C_H_UL1_3D_XiArray[6] = {
63  NF_C_H_UL1_3D_F0_Xi,
64  NF_C_H_UL1_3D_F1_Xi,
65  NF_C_H_UL1_3D_F2_Xi,
66  NF_C_H_UL1_3D_F3_Xi,
67  NF_C_H_UL1_3D_F4_Xi,
68  NF_C_H_UL1_3D_F5_Xi };
69 
70 static double *NF_C_H_UL1_3D_EtaArray[6] = {
71  NF_C_H_UL1_3D_F0_Eta,
72  NF_C_H_UL1_3D_F1_Eta,
73  NF_C_H_UL1_3D_F2_Eta,
74  NF_C_H_UL1_3D_F3_Eta,
75  NF_C_H_UL1_3D_F4_Eta,
76  NF_C_H_UL1_3D_F5_Eta };
77 
78 static double *NF_C_H_UL1_3D_ZetaArray[6] = {
79  NF_C_H_UL1_3D_F0_Zeta,
80  NF_C_H_UL1_3D_F1_Zeta,
81  NF_C_H_UL1_3D_F2_Zeta,
82  NF_C_H_UL1_3D_F3_Zeta,
83  NF_C_H_UL1_3D_F4_Zeta,
84  NF_C_H_UL1_3D_F5_Zeta };
85 
86 static double NF_C_H_UL1_3D_T[4] = { 0, 1, 0, 1 };
87 static double NF_C_H_UL1_3D_S[4] = { 0, 0, 1, 1 };
88 
89 void NF_C_H_UL1_3D_EvalAll(TCollection *Coll, TBaseCell *Cell,
90  double *PointValues, double *Functionals)
91 {
92  Functionals[0] = PointValues[0];
93  Functionals[1] = PointValues[1];
94  Functionals[2] = PointValues[2];
95  Functionals[3] = PointValues[3];
96  Functionals[4] = PointValues[4];
97  Functionals[5] = PointValues[5];
98  Functionals[6] = PointValues[6];
99  Functionals[7] = PointValues[7];
100  Functionals[8] = PointValues[8] + PointValues[9] + PointValues[10] + PointValues[11]
101  + PointValues[12] + PointValues[13] + PointValues[14] + PointValues[15];
102 
103 }
104 
105 void NF_C_H_UL1_3D_EvalFace(TCollection *Coll, TBaseCell *Cell, int Joint,
106  double *PointValues, double *Functionals)
107 {
108  Functionals[0] = PointValues[0];
109  Functionals[1] = PointValues[1];
110  Functionals[2] = PointValues[2];
111  Functionals[3] = PointValues[3];
112 }
113 
114 static int NF_C_H_UL1_3D_N_AllFunctionals = 9;
115 static int NF_C_H_UL1_3D_N_PointsAll = 16;
116 static int NF_C_H_UL1_3D_N_FaceFunctionals[] = { 4, 4, 4, 4, 4, 4 };
117 static int NF_C_H_UL1_3D_N_PointsFace[] = { 4, 4, 4, 4, 4, 4 };
118 
119 TNodalFunctional3D *NF_C_H_UL1_3D_Obj = new TNodalFunctional3D
120  (NF_C_H_UL1_3D, NF_C_H_UL1_3D_N_AllFunctionals,
121  NF_C_H_UL1_3D_N_FaceFunctionals, NF_C_H_UL1_3D_N_PointsAll,
122  NF_C_H_UL1_3D_N_PointsFace,
123  NF_C_H_UL1_3D_Xi, NF_C_H_UL1_3D_Eta, NF_C_H_UL1_3D_Zeta,
124  NF_C_H_UL1_3D_XiArray, NF_C_H_UL1_3D_EtaArray,
125  NF_C_H_UL1_3D_ZetaArray,
126  NF_C_H_UL1_3D_T, NF_C_H_UL1_3D_S,
127  NF_C_H_UL1_3D_EvalAll, NF_C_H_UL1_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