ParMooN
 All Classes Functions Variables Friends Pages
NF_N_H_Q2_3D.h
1 /* for all functionals */
2 static double NF_N_H_Q2_3D_Xi[] = {
3  -0.7745966692414833770358531,
4  0,
5  0.7745966692414833770358531,
6  -0.7745966692414833770358531,
7  0,
8  0.7745966692414833770358531,
9  -0.7745966692414833770358531,
10  0,
11  0.7745966692414833770358531,
12  -0.7745966692414833770358531,
13  -0.7745966692414833770358531,
14  -0.7745966692414833770358531,
15  0,
16  0,
17  0,
18  0.7745966692414833770358531,
19  0.7745966692414833770358531,
20  0.7745966692414833770358531,
21  1,
22  1,
23  1,
24  1,
25  1,
26  1,
27  1,
28  1,
29  1,
30  0.7745966692414833770358531,
31  0.7745966692414833770358531,
32  0.7745966692414833770358531,
33  0,
34  0,
35  0,
36  -0.7745966692414833770358531,
37  -0.7745966692414833770358531,
38  -0.7745966692414833770358531,
39  -1,
40  -1,
41  -1,
42  -1,
43  -1,
44  -1,
45  -1,
46  -1,
47  -1,
48  -0.7745966692414833770358531,
49  -0.7745966692414833770358531,
50  -0.7745966692414833770358531,
51  0,
52  0,
53  0,
54  0.7745966692414833770358531,
55  0.7745966692414833770358531,
56  0.7745966692414833770358531,
57  -0.7745966692414833770358531,
58  0,
59  0.7745966692414833770358531,
60  -0.7745966692414833770358531,
61  0,
62  0.7745966692414833770358531,
63  -0.7745966692414833770358531,
64  0,
65  0.7745966692414833770358531,
66  -0.7745966692414833770358531,
67  0,
68  0.7745966692414833770358531,
69  -0.7745966692414833770358531,
70  0,
71  0.7745966692414833770358531,
72  -0.7745966692414833770358531,
73  0,
74  0.7745966692414833770358531,
75  -0.7745966692414833770358531,
76  0,
77  0.7745966692414833770358531,
78  -0.7745966692414833770358531,
79  0,
80  0.7745966692414833770358531,
81  -0.7745966692414833770358531,
82  0,
83  0.7745966692414833770358531
84 };
85 
86 static double NF_N_H_Q2_3D_Eta[] = {
87  -0.7745966692414833770358531,
88  -0.7745966692414833770358531,
89  -0.7745966692414833770358531,
90  0,
91  0,
92  0,
93  0.7745966692414833770358531,
94  0.7745966692414833770358531,
95  0.7745966692414833770358531,
96  -1,
97  -1,
98  -1,
99  -1,
100  -1,
101  -1,
102  -1,
103  -1,
104  -1,
105  -0.7745966692414833770358531,
106  -0.7745966692414833770358531,
107  -0.7745966692414833770358531,
108  0,
109  0,
110  0,
111  0.7745966692414833770358531,
112  0.7745966692414833770358531,
113  0.7745966692414833770358531,
114  1,
115  1,
116  1,
117  1,
118  1,
119  1,
120  1,
121  1,
122  1,
123  -0.7745966692414833770358531,
124  0,
125  0.7745966692414833770358531,
126  -0.7745966692414833770358531,
127  0,
128  0.7745966692414833770358531,
129  -0.7745966692414833770358531,
130  0,
131  0.7745966692414833770358531,
132  -0.7745966692414833770358531,
133  0,
134  0.7745966692414833770358531,
135  -0.7745966692414833770358531,
136  0,
137  0.7745966692414833770358531,
138  -0.7745966692414833770358531,
139  0,
140  0.7745966692414833770358531,
141  -0.7745966692414833770358531,
142  -0.7745966692414833770358531,
143  -0.7745966692414833770358531,
144  0,
145  0,
146  0,
147  0.7745966692414833770358531,
148  0.7745966692414833770358531,
149  0.7745966692414833770358531,
150  -0.7745966692414833770358531,
151  -0.7745966692414833770358531,
152  -0.7745966692414833770358531,
153  0,
154  0,
155  0,
156  0.7745966692414833770358531,
157  0.7745966692414833770358531,
158  0.7745966692414833770358531,
159  -0.7745966692414833770358531,
160  -0.7745966692414833770358531,
161  -0.7745966692414833770358531,
162  0,
163  0,
164  0,
165  0.7745966692414833770358531,
166  0.7745966692414833770358531,
167  0.7745966692414833770358531
168 };
169 
170 static double NF_N_H_Q2_3D_Zeta[] = {
171  -1,
172  -1,
173  -1,
174  -1,
175  -1,
176  -1,
177  -1,
178  -1,
179  -1,
180  -0.7745966692414833770358531,
181  0,
182  0.7745966692414833770358531,
183  -0.7745966692414833770358531,
184  0,
185  0.7745966692414833770358531,
186  -0.7745966692414833770358531,
187  0,
188  0.7745966692414833770358531,
189  -0.7745966692414833770358531,
190  0,
191  0.7745966692414833770358531,
192  -0.7745966692414833770358531,
193  0,
194  0.7745966692414833770358531,
195  -0.7745966692414833770358531,
196  0,
197  0.7745966692414833770358531,
198  -0.7745966692414833770358531,
199  0,
200  0.7745966692414833770358531,
201  -0.7745966692414833770358531,
202  0,
203  0.7745966692414833770358531,
204  -0.7745966692414833770358531,
205  0,
206  0.7745966692414833770358531,
207  -0.7745966692414833770358531,
208  -0.7745966692414833770358531,
209  -0.7745966692414833770358531,
210  0,
211  0,
212  0,
213  0.7745966692414833770358531,
214  0.7745966692414833770358531,
215  0.7745966692414833770358531,
216  1,
217  1,
218  1,
219  1,
220  1,
221  1,
222  1,
223  1,
224  1,
225  -0.7745966692414833770358531,
226  -0.7745966692414833770358531,
227  -0.7745966692414833770358531,
228  -0.7745966692414833770358531,
229  -0.7745966692414833770358531,
230  -0.7745966692414833770358531,
231  -0.7745966692414833770358531,
232  -0.7745966692414833770358531,
233  -0.7745966692414833770358531,
234  0,
235  0,
236  0,
237  0,
238  0,
239  0,
240  0,
241  0,
242  0,
243  0.7745966692414833770358531,
244  0.7745966692414833770358531,
245  0.7745966692414833770358531,
246  0.7745966692414833770358531,
247  0.7745966692414833770358531,
248  0.7745966692414833770358531,
249  0.7745966692414833770358531,
250  0.7745966692414833770358531,
251  0.7745966692414833770358531
252 };
253 
254 /* face 0 */
255 static double NF_N_H_Q2_3D_F0_Xi[] = {
256  -0.7745966692414833770358531,
257  0,
258  0.7745966692414833770358531,
259  -0.7745966692414833770358531,
260  0,
261  0.7745966692414833770358531,
262  -0.7745966692414833770358531,
263  0,
264  0.7745966692414833770358531
265  };
266 static double NF_N_H_Q2_3D_F0_Eta[] = {
267  -0.7745966692414833770358531,
268  -0.7745966692414833770358531,
269  -0.7745966692414833770358531,
270  0,
271  0,
272  0,
273  0.7745966692414833770358531,
274  0.7745966692414833770358531,
275  0.7745966692414833770358531
276  };
277 static double NF_N_H_Q2_3D_F0_Zeta[] = {
278  -1,
279  -1,
280  -1,
281  -1,
282  -1,
283  -1,
284  -1,
285  -1,
286  -1
287  };
288 
289 /* face 1 */
290 static double NF_N_H_Q2_3D_F1_Xi[] = {
291  -0.7745966692414833770358531,
292  -0.7745966692414833770358531,
293  -0.7745966692414833770358531,
294  0,
295  0,
296  0,
297  0.7745966692414833770358531,
298  0.7745966692414833770358531,
299  0.7745966692414833770358531
300  };
301 static double NF_N_H_Q2_3D_F1_Eta[] = {
302  -1,
303  -1,
304  -1,
305  -1,
306  -1,
307  -1,
308  -1,
309  -1,
310  -1
311  };
312 static double NF_N_H_Q2_3D_F1_Zeta[] = {
313  -0.7745966692414833770358531,
314  0,
315  0.7745966692414833770358531,
316  -0.7745966692414833770358531,
317  0,
318  0.7745966692414833770358531,
319  -0.7745966692414833770358531,
320  0,
321  0.7745966692414833770358531
322  };
323 
324 /* face 2 */
325 static double NF_N_H_Q2_3D_F2_Xi[] = {
326  1,
327  1,
328  1,
329  1,
330  1,
331  1,
332  1,
333  1,
334  1
335  };
336 static double NF_N_H_Q2_3D_F2_Eta[] = {
337  -0.7745966692414833770358531,
338  -0.7745966692414833770358531,
339  -0.7745966692414833770358531,
340  0,
341  0,
342  0,
343  0.7745966692414833770358531,
344  0.7745966692414833770358531,
345  0.7745966692414833770358531
346  };
347 static double NF_N_H_Q2_3D_F2_Zeta[] = {
348  -0.7745966692414833770358531,
349  0,
350  0.7745966692414833770358531,
351  -0.7745966692414833770358531,
352  0,
353  0.7745966692414833770358531,
354  -0.7745966692414833770358531,
355  0,
356  0.7745966692414833770358531
357  };
358 
359 /* face 3 */
360 static double NF_N_H_Q2_3D_F3_Xi[] = {
361  0.7745966692414833770358531,
362  0.7745966692414833770358531,
363  0.7745966692414833770358531,
364  0,
365  0,
366  0,
367  -0.7745966692414833770358531,
368  -0.7745966692414833770358531,
369  -0.7745966692414833770358531
370  };
371 static double NF_N_H_Q2_3D_F3_Eta[] = {
372  1,
373  1,
374  1,
375  1,
376  1,
377  1,
378  1,
379  1,
380  1
381  };
382 static double NF_N_H_Q2_3D_F3_Zeta[] = {
383  -0.7745966692414833770358531,
384  0,
385  0.7745966692414833770358531,
386  -0.7745966692414833770358531,
387  0,
388  0.7745966692414833770358531,
389  -0.7745966692414833770358531,
390  0,
391  0.7745966692414833770358531
392  };
393 
394 /* face 4 */
395 static double NF_N_H_Q2_3D_F4_Xi[] = {
396  -1,
397  -1,
398  -1,
399  -1,
400  -1,
401  -1,
402  -1,
403  -1,
404  -1
405  };
406 static double NF_N_H_Q2_3D_F4_Eta[] = {
407  -0.7745966692414833770358531,
408  0,
409  0.7745966692414833770358531,
410  -0.7745966692414833770358531,
411  0,
412  0.7745966692414833770358531,
413  -0.7745966692414833770358531,
414  0,
415  0.7745966692414833770358531
416  };
417 static double NF_N_H_Q2_3D_F4_Zeta[] = {
418  -0.7745966692414833770358531,
419  -0.7745966692414833770358531,
420  -0.7745966692414833770358531,
421  0,
422  0,
423  0,
424  0.7745966692414833770358531,
425  0.7745966692414833770358531,
426  0.7745966692414833770358531
427  };
428 
429 /* face 5 */
430 static double NF_N_H_Q2_3D_F5_Xi[] = {
431  -0.7745966692414833770358531,
432  -0.7745966692414833770358531,
433  -0.7745966692414833770358531,
434  0,
435  0,
436  0,
437  0.7745966692414833770358531,
438  0.7745966692414833770358531,
439  0.7745966692414833770358531
440  };
441 static double NF_N_H_Q2_3D_F5_Eta[] = {
442  -0.7745966692414833770358531,
443  0,
444  0.7745966692414833770358531,
445  -0.7745966692414833770358531,
446  0,
447  0.7745966692414833770358531,
448  -0.7745966692414833770358531,
449  0,
450  0.7745966692414833770358531
451  };
452 static double NF_N_H_Q2_3D_F5_Zeta[] = {
453  1,
454  1,
455  1,
456  1,
457  1,
458  1,
459  1,
460  1,
461  1
462  };
463 
464 static double NF_N_H_Q2_3D_T[] = {
465  0.1127016653792583114820735,
466  0.5,
467  0.8872983346207416885179265,
468  0.1127016653792583114820735,
469  0.5,
470  0.8872983346207416885179265,
471  0.1127016653792583114820735,
472  0.5,
473  0.8872983346207416885179265
474  };
475 static double NF_N_H_Q2_3D_S[] = {
476  0.1127016653792583114820735,
477  0.1127016653792583114820735,
478  0.1127016653792583114820735,
479  0.5,
480  0.5,
481  0.5,
482  0.8872983346207416885179265,
483  0.8872983346207416885179265,
484  0.8872983346207416885179265
485  };
486 
487 static double *NF_N_H_Q2_3D_XiArray[6] = {
488  NF_N_H_Q2_3D_F0_Xi,
489  NF_N_H_Q2_3D_F1_Xi,
490  NF_N_H_Q2_3D_F2_Xi,
491  NF_N_H_Q2_3D_F3_Xi,
492  NF_N_H_Q2_3D_F4_Xi,
493  NF_N_H_Q2_3D_F5_Xi };
494 
495 static double *NF_N_H_Q2_3D_EtaArray[6] = {
496  NF_N_H_Q2_3D_F0_Eta,
497  NF_N_H_Q2_3D_F1_Eta,
498  NF_N_H_Q2_3D_F2_Eta,
499  NF_N_H_Q2_3D_F3_Eta,
500  NF_N_H_Q2_3D_F4_Eta,
501  NF_N_H_Q2_3D_F5_Eta };
502 
503 static double *NF_N_H_Q2_3D_ZetaArray[6] = {
504  NF_N_H_Q2_3D_F0_Zeta,
505  NF_N_H_Q2_3D_F1_Zeta,
506  NF_N_H_Q2_3D_F2_Zeta,
507  NF_N_H_Q2_3D_F3_Zeta,
508  NF_N_H_Q2_3D_F4_Zeta,
509  NF_N_H_Q2_3D_F5_Zeta };
510 
511 static double NF_N_H_Q2_3D_FaceWeight0[] = {
512  0.07716049382716049382716049,
513  0.1234567901234567901234568,
514  0.07716049382716049382716049,
515  0.1234567901234567901234568,
516  0.1975308641975308641975309,
517  0.1234567901234567901234568,
518  0.07716049382716049382716049,
519  0.1234567901234567901234568,
520  0.07716049382716049382716049
521  };
522 
523 static double NF_N_H_Q2_3D_FaceWeight1[] = {
524  -0.1793047845466396706101512,
525  0,
526  0.1793047845466396706101512,
527  -0.2868876552746234729762419,
528  0,
529  0.2868876552746234729762419,
530  -0.1793047845466396706101512,
531  0,
532  0.1793047845466396706101512
533  };
534 
535 static double NF_N_H_Q2_3D_FaceWeight2[] = {
536  -0.1793047845466396706101512,
537  -0.2868876552746234729762419,
538  -0.1793047845466396706101512,
539  0,
540  0,
541  0,
542  0.1793047845466396706101512,
543  0.2868876552746234729762419,
544  0.1793047845466396706101512
545  };
546 
547 static double NF_N_H_Q2_3D_CellWeight0[] = {
548  0.02143347050754458161865569,
549  0.03429355281207133058984911,
550  0.02143347050754458161865569,
551  0.03429355281207133058984911,
552  0.05486968449931412894375857,
553  0.03429355281207133058984911,
554  0.02143347050754458161865569,
555  0.03429355281207133058984911,
556  0.02143347050754458161865569,
557  0.03429355281207133058984911,
558  0.05486968449931412894375857,
559  0.03429355281207133058984911,
560  0.05486968449931412894375857,
561  0.08779149519890260631001372,
562  0.05486968449931412894375857,
563  0.03429355281207133058984911,
564  0.05486968449931412894375857,
565  0.03429355281207133058984911,
566  0.02143347050754458161865569,
567  0.03429355281207133058984911,
568  0.02143347050754458161865569,
569  0.03429355281207133058984911,
570  0.05486968449931412894375857,
571  0.03429355281207133058984911,
572  0.02143347050754458161865569,
573  0.03429355281207133058984911,
574  0.02143347050754458161865569
575  };
576 
577 void NF_N_H_Q2_3D_EvalAll(TCollection *Coll, TBaseCell *Cell,
578  double *PointValues, double *Functionals)
579 {
580  TJoint *joint;
581  TBaseCell *neigh;
582  int maptype;
583 
584  Functionals[0] =
585  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[0]
586  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[1]
587  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[2]
588  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[3]
589  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[4]
590  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[5]
591  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[6]
592  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[7]
593  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[8];
594  Functionals[1] =
595  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[9]
596  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[10]
597  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[11]
598  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[12]
599  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[13]
600  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[14]
601  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[15]
602  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[16]
603  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[17];
604  Functionals[2] =
605  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[18]
606  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[19]
607  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[20]
608  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[21]
609  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[22]
610  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[23]
611  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[24]
612  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[25]
613  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[26];
614  Functionals[3] =
615  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[27]
616  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[28]
617  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[29]
618  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[30]
619  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[31]
620  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[32]
621  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[33]
622  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[34]
623  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[35];
624  Functionals[4] =
625  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[36]
626  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[37]
627  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[38]
628  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[39]
629  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[40]
630  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[41]
631  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[42]
632  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[43]
633  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[44];
634  Functionals[5] =
635  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[45]
636  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[46]
637  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[47]
638  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[48]
639  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[49]
640  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[50]
641  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[51]
642  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[52]
643  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[53];
644 
645  Functionals[6] =
646  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[0]
647  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[1]
648  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[2]
649  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[3]
650  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[4]
651  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[5]
652  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[6]
653  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[7]
654  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[8];
655  Functionals[7] =
656  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[9]
657  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[10]
658  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[11]
659  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[12]
660  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[13]
661  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[14]
662  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[15]
663  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[16]
664  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[17];
665  Functionals[8] =
666  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[18]
667  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[19]
668  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[20]
669  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[21]
670  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[22]
671  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[23]
672  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[24]
673  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[25]
674  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[26];
675  Functionals[9] =
676  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[27]
677  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[28]
678  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[29]
679  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[30]
680  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[31]
681  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[32]
682  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[33]
683  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[34]
684  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[35];
685  Functionals[10] =
686  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[36]
687  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[37]
688  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[38]
689  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[39]
690  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[40]
691  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[41]
692  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[42]
693  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[43]
694  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[44];
695  Functionals[11] =
696  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[45]
697  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[46]
698  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[47]
699  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[48]
700  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[49]
701  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[50]
702  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[51]
703  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[52]
704  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[53];
705 
706  Functionals[12] =
707  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[0]
708  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[1]
709  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[2]
710  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[3]
711  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[4]
712  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[5]
713  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[6]
714  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[7]
715  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[8];
716  Functionals[13] =
717  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[9]
718  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[10]
719  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[11]
720  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[12]
721  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[13]
722  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[14]
723  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[15]
724  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[16]
725  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[17];
726  Functionals[14] =
727  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[18]
728  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[19]
729  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[20]
730  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[21]
731  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[22]
732  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[23]
733  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[24]
734  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[25]
735  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[26];
736  Functionals[15] =
737  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[27]
738  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[28]
739  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[29]
740  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[30]
741  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[31]
742  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[32]
743  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[33]
744  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[34]
745  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[35];
746  Functionals[16] =
747  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[36]
748  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[37]
749  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[38]
750  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[39]
751  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[40]
752  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[41]
753  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[42]
754  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[43]
755  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[44];
756  Functionals[17] =
757  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[45]
758  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[46]
759  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[47]
760  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[48]
761  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[49]
762  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[50]
763  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[51]
764  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[52]
765  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[53];
766 
767  Functionals[18] =
768  +NF_N_H_Q2_3D_CellWeight0[0]*PointValues[54]
769  +NF_N_H_Q2_3D_CellWeight0[1]*PointValues[55]
770  +NF_N_H_Q2_3D_CellWeight0[2]*PointValues[56]
771  +NF_N_H_Q2_3D_CellWeight0[3]*PointValues[57]
772  +NF_N_H_Q2_3D_CellWeight0[4]*PointValues[58]
773  +NF_N_H_Q2_3D_CellWeight0[5]*PointValues[59]
774  +NF_N_H_Q2_3D_CellWeight0[6]*PointValues[60]
775  +NF_N_H_Q2_3D_CellWeight0[7]*PointValues[61]
776  +NF_N_H_Q2_3D_CellWeight0[8]*PointValues[62]
777  +NF_N_H_Q2_3D_CellWeight0[9]*PointValues[63]
778  +NF_N_H_Q2_3D_CellWeight0[10]*PointValues[64]
779  +NF_N_H_Q2_3D_CellWeight0[11]*PointValues[65]
780  +NF_N_H_Q2_3D_CellWeight0[12]*PointValues[66]
781  +NF_N_H_Q2_3D_CellWeight0[13]*PointValues[67]
782  +NF_N_H_Q2_3D_CellWeight0[14]*PointValues[68]
783  +NF_N_H_Q2_3D_CellWeight0[15]*PointValues[69]
784  +NF_N_H_Q2_3D_CellWeight0[16]*PointValues[70]
785  +NF_N_H_Q2_3D_CellWeight0[17]*PointValues[71]
786  +NF_N_H_Q2_3D_CellWeight0[18]*PointValues[72]
787  +NF_N_H_Q2_3D_CellWeight0[19]*PointValues[73]
788  +NF_N_H_Q2_3D_CellWeight0[20]*PointValues[74]
789  +NF_N_H_Q2_3D_CellWeight0[21]*PointValues[75]
790  +NF_N_H_Q2_3D_CellWeight0[22]*PointValues[76]
791  +NF_N_H_Q2_3D_CellWeight0[23]*PointValues[77]
792  +NF_N_H_Q2_3D_CellWeight0[24]*PointValues[78]
793  +NF_N_H_Q2_3D_CellWeight0[25]*PointValues[79]
794  +NF_N_H_Q2_3D_CellWeight0[26]*PointValues[80];
795 
796  if(Cell)
797  {
798  joint = Cell->GetJoint(0);
799  maptype = joint->GetMapType();
800  if(maptype == 1 || maptype == 2)
801  {
802  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
803  if(neigh != NULL && neigh-Cell < 0)
804  {
805  Functionals[6] = -Functionals[6];
806  }
807  }
808  if(maptype == 2 || maptype == 3)
809  {
810  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
811  if(neigh != NULL && neigh-Cell < 0)
812  {
813  Functionals[12] = -Functionals[12];
814  }
815  }
816 
817  joint = Cell->GetJoint(1);
818  maptype = joint->GetMapType();
819  if(maptype == 1 || maptype == 2)
820  {
821  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
822  if(neigh != NULL && neigh-Cell < 0)
823  {
824  Functionals[7] = -Functionals[7];
825  }
826  }
827  if(maptype == 2 || maptype == 3)
828  {
829  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
830  if(neigh != NULL && neigh-Cell < 0)
831  {
832  Functionals[13] = -Functionals[13];
833  }
834  }
835 
836  joint = Cell->GetJoint(2);
837  maptype = joint->GetMapType();
838  if(maptype == 1 || maptype == 2)
839  {
840  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
841  if(neigh != NULL && neigh-Cell < 0)
842  {
843  Functionals[8] = -Functionals[8];
844  }
845  }
846  if(maptype == 2 || maptype == 3)
847  {
848  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
849  if(neigh != NULL && neigh-Cell < 0)
850  {
851  Functionals[14] = -Functionals[14];
852  }
853  }
854 
855  joint = Cell->GetJoint(3);
856  maptype = joint->GetMapType();
857  if(maptype == 1 || maptype == 2)
858  {
859  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
860  if(neigh != NULL && neigh-Cell < 0)
861  {
862  Functionals[9] = -Functionals[9];
863  }
864  }
865  if(maptype == 2 || maptype == 3)
866  {
867  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
868  if(neigh != NULL && neigh-Cell < 0)
869  {
870  Functionals[15] = -Functionals[15];
871  }
872  }
873 
874  joint = Cell->GetJoint(4);
875  maptype = joint->GetMapType();
876  if(maptype == 1 || maptype == 2)
877  {
878  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
879  if(neigh != NULL && neigh-Cell < 0)
880  {
881  Functionals[10] = -Functionals[10];
882  }
883  }
884  if(maptype == 2 || maptype == 3)
885  {
886  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
887  if(neigh != NULL && neigh-Cell < 0)
888  {
889  Functionals[16] = -Functionals[16];
890  }
891  }
892 
893  joint = Cell->GetJoint(5);
894  maptype = joint->GetMapType();
895  if(maptype == 1 || maptype == 2)
896  {
897  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
898  if(neigh != NULL && neigh-Cell < 0)
899  {
900  Functionals[11] = -Functionals[11];
901  }
902  }
903  if(maptype == 2 || maptype == 3)
904  {
905  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
906  if(neigh != NULL && neigh-Cell < 0)
907  {
908  Functionals[17] = -Functionals[17];
909  }
910  }
911  }
912 }
913 
914 void NF_N_H_Q2_3D_EvalFace(TCollection *Coll, TBaseCell *Cell, int Joint,
915  double *PointValues, double *Functionals)
916 {
917  TJoint *joint;
918  TBaseCell *neigh;
919  int maptype;
920 
921  Functionals[0] =
922  +NF_N_H_Q2_3D_FaceWeight0[0]*PointValues[0]
923  +NF_N_H_Q2_3D_FaceWeight0[1]*PointValues[1]
924  +NF_N_H_Q2_3D_FaceWeight0[2]*PointValues[2]
925  +NF_N_H_Q2_3D_FaceWeight0[3]*PointValues[3]
926  +NF_N_H_Q2_3D_FaceWeight0[4]*PointValues[4]
927  +NF_N_H_Q2_3D_FaceWeight0[5]*PointValues[5]
928  +NF_N_H_Q2_3D_FaceWeight0[6]*PointValues[6]
929  +NF_N_H_Q2_3D_FaceWeight0[7]*PointValues[7]
930  +NF_N_H_Q2_3D_FaceWeight0[8]*PointValues[8];
931  Functionals[1] =
932  +NF_N_H_Q2_3D_FaceWeight1[0]*PointValues[0]
933  +NF_N_H_Q2_3D_FaceWeight1[1]*PointValues[1]
934  +NF_N_H_Q2_3D_FaceWeight1[2]*PointValues[2]
935  +NF_N_H_Q2_3D_FaceWeight1[3]*PointValues[3]
936  +NF_N_H_Q2_3D_FaceWeight1[4]*PointValues[4]
937  +NF_N_H_Q2_3D_FaceWeight1[5]*PointValues[5]
938  +NF_N_H_Q2_3D_FaceWeight1[6]*PointValues[6]
939  +NF_N_H_Q2_3D_FaceWeight1[7]*PointValues[7]
940  +NF_N_H_Q2_3D_FaceWeight1[8]*PointValues[8];
941  Functionals[2] =
942  +NF_N_H_Q2_3D_FaceWeight2[0]*PointValues[0]
943  +NF_N_H_Q2_3D_FaceWeight2[1]*PointValues[1]
944  +NF_N_H_Q2_3D_FaceWeight2[2]*PointValues[2]
945  +NF_N_H_Q2_3D_FaceWeight2[3]*PointValues[3]
946  +NF_N_H_Q2_3D_FaceWeight2[4]*PointValues[4]
947  +NF_N_H_Q2_3D_FaceWeight2[5]*PointValues[5]
948  +NF_N_H_Q2_3D_FaceWeight2[6]*PointValues[6]
949  +NF_N_H_Q2_3D_FaceWeight2[7]*PointValues[7]
950  +NF_N_H_Q2_3D_FaceWeight2[8]*PointValues[8];
951 
952  if(Cell)
953  {
954  joint = Cell->GetJoint(Joint);
955  maptype = joint->GetMapType();
956  if(maptype == 1 || maptype == 2)
957  {
958  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
959  if(neigh != NULL && neigh-Cell < 0)
960  {
961  Functionals[1] = -Functionals[1];
962  }
963  }
964  if(maptype == 2 || maptype == 3)
965  {
966  neigh = (TBaseCell *)(joint->GetNeighbour(Cell));
967  if(neigh != NULL && neigh-Cell < 0)
968  {
969  Functionals[2] = -Functionals[2];
970  }
971  }
972  }
973 }
974 
975 static int NF_N_H_Q2_3D_N_AllFunctionals = 19;
976 static int NF_N_H_Q2_3D_N_PointsAll = 81;
977 static int NF_N_H_Q2_3D_N_FaceFunctionals[] = { 3, 3, 3, 3, 3, 3 };
978 static int NF_N_H_Q2_3D_N_PointsFace[] = { 9, 9, 9, 9, 9, 9 };
979 
980 TNodalFunctional3D *NF_N_H_Q2_3D_Obj = new TNodalFunctional3D
981  (NF_N_H_Q2_3D, NF_N_H_Q2_3D_N_AllFunctionals,
982  NF_N_H_Q2_3D_N_FaceFunctionals, NF_N_H_Q2_3D_N_PointsAll,
983  NF_N_H_Q2_3D_N_PointsFace,
984  NF_N_H_Q2_3D_Xi, NF_N_H_Q2_3D_Eta, NF_N_H_Q2_3D_Zeta,
985  NF_N_H_Q2_3D_XiArray, NF_N_H_Q2_3D_EtaArray,
986  NF_N_H_Q2_3D_ZetaArray,
987  NF_N_H_Q2_3D_T, NF_N_H_Q2_3D_S,
988  NF_N_H_Q2_3D_EvalAll, NF_N_H_Q2_3D_EvalFace);
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
int GetMapType() const
Definition: Joint.h:90
TJoint * GetJoint(int J_i)
return the pointer to face with number i
Definition: BaseCell.h:175
Definition: Joint.h:48
TBaseCell * GetNeighbour(TBaseCell *Me) const
Definition: Joint.C:57
information for finite element data structure
Definition: BaseCell.h:25