ParMooN
 All Classes Functions Variables Friends Pages
NF_D_Q_P3_2D.h
1 // xi
2 static double NF_D_Q_P3_2D_Weight1[16]={
3 -0.8611363115940526, -0.3399810435848563,
4  0.3399810435848563, 0.8611363115940526,
5 -0.8611363115940526, -0.3399810435848563,
6  0.3399810435848563, 0.8611363115940526,
7 -0.8611363115940526, -0.3399810435848563,
8  0.3399810435848563, 0.8611363115940526,
9 -0.8611363115940526, -0.3399810435848563,
10  0.3399810435848563, 0.8611363115940526
11  };
12 // eta
13 static double NF_D_Q_P3_2D_Weight2[16]={
14 -0.8611363115940526, -0.8611363115940526,
15 -0.8611363115940526, -0.8611363115940526,
16 -0.3399810435848563, -0.3399810435848563,
17 -0.3399810435848563, -0.3399810435848563,
18  0.3399810435848563, 0.3399810435848563,
19  0.3399810435848563, 0.3399810435848563,
20  0.8611363115940526, 0.8611363115940526,
21  0.8611363115940526, 0.8611363115940526
22  };
23 // 3*xi**2-1
24 static double NF_D_Q_P3_2D_Weight3[16]={
25  0.1224667241437428E1, -0.6532386700088562,
26 -0.6532386700088562, 0.1224667241437428E1,
27  0.1224667241437428E1, -0.6532386700088562,
28 -0.6532386700088562, 0.1224667241437428E1,
29  0.1224667241437428E1, -0.6532386700088562,
30 -0.6532386700088562, 0.1224667241437428E1,
31  0.1224667241437428E1, -0.6532386700088562,
32 -0.6532386700088562, 0.1224667241437428E1
33  };
34 // xi*eta
35 static double NF_D_Q_P3_2D_Weight4[16]={
36  0.7415557471458092, 0.29277002188456,
37 -0.29277002188456, -0.7415557471458092,
38  0.29277002188456, 0.1155871099970479,
39 -0.1155871099970479, -0.29277002188456,
40 -0.29277002188456, -0.1155871099970479,
41  0.1155871099970479, 0.29277002188456,
42 -0.7415557471458092, -0.29277002188456,
43  0.29277002188456, 0.7415557471458092
44  };
45 // 3*eta**2-1
46 static double NF_D_Q_P3_2D_Weight5[16]={
47  0.1224667241437428E1, 0.1224667241437428E1,
48  0.1224667241437428E1, 0.1224667241437428E1,
49 -0.6532386700088562, -0.6532386700088562,
50 -0.6532386700088562, -0.6532386700088562,
51 -0.6532386700088562, -0.6532386700088562,
52 -0.6532386700088562, -0.6532386700088562,
53  0.1224667241437428E1, 0.1224667241437428E1,
54  0.1224667241437428E1, 0.1224667241437428E1
55  };
56 // 5*xi**3-3*xi
57 static double NF_D_Q_P3_2D_Weight6[16]={
58 -0.6094939699104124, 0.8234559993457991,
59 -0.8234559993457991, 0.6094939699104124,
60 -0.6094939699104124, 0.8234559993457991,
61 -0.8234559993457991, 0.6094939699104124,
62 -0.6094939699104124, 0.8234559993457991,
63 -0.8234559993457991, 0.6094939699104124,
64 -0.6094939699104124, 0.8234559993457991,
65 -0.8234559993457991, 0.6094939699104124
66  };
67 // 3*xi**2*eta-eta
68 static double NF_D_Q_P3_2D_Weight7[16]={
69 -0.1054605431221489E1, 0.5625275388820309,
70  0.5625275388820309, -0.1054605431221489E1,
71 -0.4163636467880838, 0.2220887647395945,
72  0.2220887647395945, -0.4163636467880838,
73  0.4163636467880838, -0.2220887647395945,
74 -0.2220887647395945, 0.4163636467880838,
75  0.1054605431221489E1, -0.5625275388820309,
76 -0.5625275388820309, 0.1054605431221489E1
77  };
78 // 3*eta**2*xi-xi
79 static double NF_D_Q_P3_2D_Weight8[16]={
80 -0.1054605431221489E1, -0.4163636467880838,
81  0.4163636467880838, 0.1054605431221489E1,
82  0.5625275388820309, 0.2220887647395945,
83 -0.2220887647395945, -0.5625275388820309,
84  0.5625275388820309, 0.2220887647395945,
85 -0.2220887647395945, -0.5625275388820309,
86 -0.1054605431221489E1, -0.4163636467880838,
87  0.4163636467880838, 0.1054605431221489E1
88  };
89 // 5*eta**3-3*eta
90 static double NF_D_Q_P3_2D_Weight9[16]={
91 -0.6094939699104124, -0.6094939699104124,
92 -0.6094939699104124, -0.6094939699104124,
93  0.8234559993457991, 0.8234559993457991,
94  0.8234559993457991, 0.8234559993457991,
95 -0.8234559993457991, -0.8234559993457991,
96 -0.8234559993457991, -0.8234559993457991,
97  0.6094939699104124, 0.6094939699104124,
98  0.6094939699104124, 0.6094939699104124
99  };
100 
101 static double *NF_D_Q_P3_2D_T = NULL;
102 
103 void NF_D_Q_P3_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
104  double *Functionals)
105 {
106  static double weights[16]={
107  0.12100299328560200552, 0.22685185185185185185,
108  0.22685185185185185185, 0.12100299328560200552,
109  0.22685185185185185185, 0.42529330301069429078,
110  0.42529330301069429078, 0.22685185185185185185,
111  0.22685185185185185185, 0.42529330301069429078,
112  0.42529330301069429078, 0.22685185185185185185,
113  0.12100299328560200552, 0.22685185185185185185,
114  0.22685185185185185185, 0.12100299328560200552
115  };
116  Functionals[0] = weights[0]*PointValues[0]
117  +weights[1]*PointValues[1]
118  +weights[2]*PointValues[2]
119  +weights[3]*PointValues[3]
120  +weights[4]*PointValues[4]
121  +weights[5]*PointValues[5]
122  +weights[6]*PointValues[6]
123  +weights[7]*PointValues[7]
124  +weights[8]*PointValues[8]
125  +weights[9]*PointValues[9]
126  +weights[10]*PointValues[10]
127  +weights[11]*PointValues[11]
128  +weights[12]*PointValues[12]
129  +weights[13]*PointValues[13]
130  +weights[14]*PointValues[14]
131  +weights[15]*PointValues[15];
132  Functionals[1] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight1[0]
133  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight1[1]
134  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight1[2]
135  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight1[3]
136  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight1[4]
137  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight1[5]
138  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight1[6]
139  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight1[7]
140  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight1[8]
141  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight1[9]
142  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight1[10]
143  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight1[11]
144  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight1[12]
145  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight1[13]
146  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight1[14]
147  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight1[15];
148  Functionals[2] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight2[0]
149  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight2[1]
150  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight2[2]
151  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight2[3]
152  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight2[4]
153  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight2[5]
154  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight2[6]
155  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight2[7]
156  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight2[8]
157  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight2[9]
158  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight2[10]
159  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight2[11]
160  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight2[12]
161  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight2[13]
162  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight2[14]
163  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight2[15];
164  Functionals[3] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight3[0]
165  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight3[1]
166  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight3[2]
167  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight3[3]
168  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight3[4]
169  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight3[5]
170  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight3[6]
171  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight3[7]
172  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight3[8]
173  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight3[9]
174  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight3[10]
175  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight3[11]
176  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight3[12]
177  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight3[13]
178  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight3[14]
179  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight3[15];
180  Functionals[4] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight4[0]
181  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight4[1]
182  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight4[2]
183  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight4[3]
184  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight4[4]
185  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight4[5]
186  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight4[6]
187  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight4[7]
188  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight4[8]
189  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight4[9]
190  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight4[10]
191  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight4[11]
192  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight4[12]
193  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight4[13]
194  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight4[14]
195  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight4[15];
196  Functionals[5] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight5[0]
197  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight5[1]
198  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight5[2]
199  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight5[3]
200  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight5[4]
201  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight5[5]
202  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight5[6]
203  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight5[7]
204  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight5[8]
205  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight5[9]
206  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight5[10]
207  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight5[11]
208  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight5[12]
209  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight5[13]
210  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight5[14]
211  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight5[15];
212  Functionals[6] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight6[0]
213  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight6[1]
214  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight6[2]
215  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight6[3]
216  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight6[4]
217  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight6[5]
218  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight6[6]
219  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight6[7]
220  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight6[8]
221  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight6[9]
222  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight6[10]
223  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight6[11]
224  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight6[12]
225  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight6[13]
226  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight6[14]
227  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight6[15];
228  Functionals[7] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight7[0]
229  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight7[1]
230  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight7[2]
231  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight7[3]
232  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight7[4]
233  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight7[5]
234  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight7[6]
235  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight7[7]
236  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight7[8]
237  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight7[9]
238  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight7[10]
239  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight7[11]
240  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight7[12]
241  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight7[13]
242  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight7[14]
243  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight7[15];
244  Functionals[8] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight8[0]
245  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight8[1]
246  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight8[2]
247  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight8[3]
248  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight8[4]
249  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight8[5]
250  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight8[6]
251  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight8[7]
252  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight8[8]
253  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight8[9]
254  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight8[10]
255  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight8[11]
256  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight8[12]
257  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight8[13]
258  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight8[14]
259  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight8[15];
260  Functionals[9] = weights[0]*PointValues[0]*NF_D_Q_P3_2D_Weight9[0]
261  +weights[1]*PointValues[1]*NF_D_Q_P3_2D_Weight9[1]
262  +weights[2]*PointValues[2]*NF_D_Q_P3_2D_Weight9[2]
263  +weights[3]*PointValues[3]*NF_D_Q_P3_2D_Weight9[3]
264  +weights[4]*PointValues[4]*NF_D_Q_P3_2D_Weight9[4]
265  +weights[5]*PointValues[5]*NF_D_Q_P3_2D_Weight9[5]
266  +weights[6]*PointValues[6]*NF_D_Q_P3_2D_Weight9[6]
267  +weights[7]*PointValues[7]*NF_D_Q_P3_2D_Weight9[7]
268  +weights[8]*PointValues[8]*NF_D_Q_P3_2D_Weight9[8]
269  +weights[9]*PointValues[9]*NF_D_Q_P3_2D_Weight9[9]
270  +weights[10]*PointValues[10]*NF_D_Q_P3_2D_Weight9[10]
271  +weights[11]*PointValues[11]*NF_D_Q_P3_2D_Weight9[11]
272  +weights[12]*PointValues[12]*NF_D_Q_P3_2D_Weight9[12]
273  +weights[13]*PointValues[13]*NF_D_Q_P3_2D_Weight9[13]
274  +weights[14]*PointValues[14]*NF_D_Q_P3_2D_Weight9[14]
275  +weights[15]*PointValues[15]*NF_D_Q_P3_2D_Weight9[15];
276 
277  Functionals[0] *= 0.25;
278  Functionals[1] *= 0.25;
279  Functionals[2] *= 0.25;
280  Functionals[3] *= 0.25;
281  Functionals[4] *= 0.25;
282  Functionals[5] *= 0.25;
283  Functionals[6] *= 0.25;
284  Functionals[7] *= 0.25;
285  Functionals[8] *= 0.25;
286  Functionals[9] *= 0.25;
287 }
288 
289 void NF_D_Q_P3_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
290  double *Functionals)
291 {
292 }
293 
294 /*
295  TNodalFunctional2D(NodalFunctional2D id,
296  int n_allfunctionals, int n_edgefunctionals,
297  int n_pointsall, int n_pointsedge,
298  double *xi, double *eta, double *t,
299  DoubleFunctVect *evalall,
300  DoubleFunctVect *evaledge);
301 */
302 
303 TNodalFunctional2D *NF_D_Q_P3_2D_Obj = new TNodalFunctional2D
304  (NF_D_Q_P3_2D, 10, 0, 16, 0, NF_D_Q_P3_2D_Weight1, NF_D_Q_P3_2D_Weight2,
305  NF_D_Q_P3_2D_T, NF_D_Q_P3_2D_EvalAll, NULL);
306 
store cells in an array, used by cell iterators
Definition: Collection.h:18
Definition: NodalFunctional2D.h:20
information for finite element data structure
Definition: BaseCell.h:25