ParMooN
 All Classes Functions Variables Friends Pages
NF_N_T_P4_2D.h
1 static double NF_N_T_P4_2D_Xi[30] =
2  {
3  0.046910077030668003601186560850,
4  0.230765344947158454481842789650,
5  0.5,
6  0.769234655052841545518157210350,
7  0.953089922969331996398813439150,
8  0.953089922969331996398813439150,
9  0.769234655052841545518157210350,
10  0.5,
11  0.230765344947158454481842789650,
12  0.046910077030668003601186560850,
13  0, 0, 0, 0, 0,
14  0.5133469206394541,
15  0.3132512106717253,
16  0.6517753036487957,
17  0.06510199345893917,
18  0.345792011168269,
19  0.2810412473151104,
20  0.6306214343189561,
21  0.313477887523733,
22  0.8701651015635631,
23  0.3623168221569262E1,
24  0.2056118320454355,
25  0.5612735500931855E-1,
26  0.3474680882747129E-1,
27  0.6473290497749777E-1,
28  -0.2968960232737531E1
29  };
30 
31 static double NF_N_T_P4_2D_Eta[30] =
32  {
33  0, 0, 0, 0, 0,
34  0.046910077030668003601186560850,
35  0.230765344947158454481842789650,
36  0.5,
37  0.769234655052841545518157210350,
38  0.953089922969331996398813439150,
39  0.953089922969331996398813439150,
40  0.769234655052841545518157210350,
41  0.5,
42  0.230765344947158454481842789650,
43  0.046910077030668003601186560850,
44  0.2810412473151104,
45  0.6306214343189561,
46  0.313477887523733,
47  0.8701651015635631,
48  0.3623168221569262E1,
49  0.2056118320454355,
50  0.5612735500931855E-1,
51  0.3474680882747129E-1,
52  0.6473290497749777E-1,
53  -0.2968960232737531E1,
54  0.5133469206394541,
55  0.3132512106717253,
56  0.6517753036487957,
57  0.6510199345893917E-1,
58  0.345792011168269
59  };
60 
61 static double NF_N_T_P4_2D_T[5] = { -0.906179845938663992797626878299,
62  -0.538469310105683091036314420699,
63  0,
64  0.538469310105683091036314420699,
65  0.906179845938663992797626878299 };
66 
67 static double NF_N_T_P4_2D_EdgeWeight0[5] = {
68  0.1184634425280945437571320205,
69  0.2393143352496832340206457575,
70  0.2844444444444444444444444444,
71  0.2393143352496832340206457575,
72  0.1184634425280945437571320205 };
73 
74 static double NF_N_T_P4_2D_EdgeWeight1[5] = {
75  -0.3220475522984174693134711033,
76  -0.3865902750008912622604589675,
77  0.0,
78  0.3865902750008912622604589675,
79  0.3220475522984174693134711033 };
80 
81 static double NF_N_T_P4_2D_EdgeWeight2[5] = {
82  0.4334238969965230841044414528,
83  -0.0778683414409675285488858967,
84  -0.7111111111111111111111111111,
85  -0.0778683414409675285488858967,
86  0.4334238969965230841044414528 };
87 
88 static double NF_N_T_P4_2D_EdgeWeight3[5] = {
89  -0.4154771413508325868510801940,
90  0.6991986448892333762714923941,
91  0.0,
92  -0.6991986448892333762714923941,
93  0.4154771413508325868510801940 };
94 
95 
96 static double NF_N_T_P4_2D_CellWeight0[15] = {
97  0.03396003583624729958603721,
98  0.001659928772460918247370114,
99  0.0004242940743545037796319238,
100  0.001334070902641637542676619,
101  0.1698598594336262696527415e-7,
102  0.2116868384521265935109703,
103  0.05170419916926577994680451,
104  0.1492907562798600740896240,
105  0.001349327252954068718657978,
106  0.2304156165773590450668980e-9,
107  0.06344714185011418859601229,
108  0.2095452185809266179080118,
109  0.03453432245238165684485284,
110  0.2410638238638489590105253,
111  0.2529641609960604545839634e-7 };
112 
113 static double NF_N_T_P4_2D_CellWeight1[15] = {
114  0.2116868384521265935109703,
115  0.05170419916926576344113832,
116  0.1492907562798600695085742,
117  0.001349327252954070376766655,
118  0.2304156165773590450668980e-9,
119  0.06344714185011418859601229,
120  0.2095452185809265846796426,
121  0.03453432245238165464155087,
122  0.2410638238638489811731078,
123  0.2529641609960604545839634e-7,
124  0.03396003583624729958603721,
125  0.001659928772460915289937375,
126  0.0004242940743545035354114681,
127  0.001334070902641639191384834,
128  0.1698598594336262696527415e-7 };
129 
130 static double NF_N_T_P4_2D_CellWeight2[15] = {
131  0.06344714185011418859601229,
132  0.2095452185809265846796426,
133  0.03453432245238165464155087,
134  0.2410638238638489811731078,
135  0.2529641609960604545839634e-7,
136  0.03396003583624729958603721,
137  0.001659928772460915289937375,
138  0.0004242940743545035354114681,
139  0.001334070902641639191384834,
140  0.1698598594336262696527415e-7,
141  0.2116868384521265935109703,
142  0.05170419916926576344113832,
143  0.1492907562798600695085742,
144  0.001349327252954070376766655,
145  0.2304156165773590450668980e-9 };
146 
147 static double NF_N_T_P4_2D_CellWeight3[15] = {
148  0.1695746752306618684689641,
149  0.01852838771810587384581863,
150  0.01591768616922033054907036,
151  0.002683354785567795807609552,
152  -0.3956683674146445297237118e-8,
153  0.2317837342616973425616102,
154  0.2081765377411735185945207,
155  0.1436057814508679070699259,
156  0.03607070763047549758772657,
157  0.4828535725367747122020117e-8,
158  0.09283678604814674727640592,
159  0.03730040951271670414894234,
160  0.007655771255306214695467177,
161  0.03586620878187657586340455,
162  -0.4145766844796558689352039e-7 };
163 
164 static double NF_N_T_P4_2D_CellWeight4[15] = {
165  0.2317837342616973425616102,
166  0.2081765377411734853661515,
167  0.1436057814508679048666239,
168  0.03607070763047551975030914,
169  0.4828535725367747122020117e-8,
170  0.09283678604814674727640592,
171  0.03730040951271670119150960,
172  0.007655771255306214451246721,
173  0.03586620878187657751211276,
174  -0.4145766844796558689352039e-7,
175  0.1695746752306618684689641,
176  0.01852838771810585734015244,
177  0.01591768616922032596802056,
178  0.002683354785567797465718229,
179  -0.3956683674146445297237118e-8 };
180 
181 static double NF_N_T_P4_2D_CellWeight5[15] = {
182  0.09283678604814674727640592,
183  0.03730040951271673441987882,
184  0.007655771255306216654548697,
185  0.03586620878187655534953020,
186  -0.4145766844796558689352039e-7,
187  0.1695746752306618684689641,
188  0.01852838771810586029758518,
189  0.01591768616922032621224102,
190  0.002683354785567795817010014,
191  -0.3956683674146445297237118e-8,
192  0.2317837342616973425616102,
193  0.2081765377411735018718177,
194  0.1436057814508679094476737,
195  0.03607070763047551809220046,
196  0.4828535725367747122020117e-8 };
197 
198 void NF_N_T_P4_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
199  double *Functionals)
200 {
201  int OwnNum, NeighNum;
202  TBaseCell *neigh;
203 
204  Functionals[0] =( NF_N_T_P4_2D_EdgeWeight0[0]*PointValues[ 0]
205  +NF_N_T_P4_2D_EdgeWeight0[1]*PointValues[ 1]
206  +NF_N_T_P4_2D_EdgeWeight0[2]*PointValues[ 2]
207  +NF_N_T_P4_2D_EdgeWeight0[3]*PointValues[ 3]
208  +NF_N_T_P4_2D_EdgeWeight0[4]*PointValues[ 4]);
209  Functionals[1] =( NF_N_T_P4_2D_EdgeWeight0[0]*PointValues[ 5]
210  +NF_N_T_P4_2D_EdgeWeight0[1]*PointValues[ 6]
211  +NF_N_T_P4_2D_EdgeWeight0[2]*PointValues[ 7]
212  +NF_N_T_P4_2D_EdgeWeight0[3]*PointValues[ 8]
213  +NF_N_T_P4_2D_EdgeWeight0[4]*PointValues[ 9]);
214  Functionals[2] =( NF_N_T_P4_2D_EdgeWeight0[0]*PointValues[10]
215  +NF_N_T_P4_2D_EdgeWeight0[1]*PointValues[11]
216  +NF_N_T_P4_2D_EdgeWeight0[2]*PointValues[12]
217  +NF_N_T_P4_2D_EdgeWeight0[3]*PointValues[13]
218  +NF_N_T_P4_2D_EdgeWeight0[4]*PointValues[14]);
219 
220  Functionals[3] =( NF_N_T_P4_2D_EdgeWeight1[0]*PointValues[ 0]
221  +NF_N_T_P4_2D_EdgeWeight1[1]*PointValues[ 1]
222  +NF_N_T_P4_2D_EdgeWeight1[2]*PointValues[ 2]
223  +NF_N_T_P4_2D_EdgeWeight1[3]*PointValues[ 3]
224  +NF_N_T_P4_2D_EdgeWeight1[4]*PointValues[ 4]);
225  Functionals[4] =( NF_N_T_P4_2D_EdgeWeight1[0]*PointValues[ 5]
226  +NF_N_T_P4_2D_EdgeWeight1[1]*PointValues[ 6]
227  +NF_N_T_P4_2D_EdgeWeight1[2]*PointValues[ 7]
228  +NF_N_T_P4_2D_EdgeWeight1[3]*PointValues[ 8]
229  +NF_N_T_P4_2D_EdgeWeight1[4]*PointValues[ 9]);
230  Functionals[5] =( NF_N_T_P4_2D_EdgeWeight1[0]*PointValues[10]
231  +NF_N_T_P4_2D_EdgeWeight1[1]*PointValues[11]
232  +NF_N_T_P4_2D_EdgeWeight1[2]*PointValues[12]
233  +NF_N_T_P4_2D_EdgeWeight1[3]*PointValues[13]
234  +NF_N_T_P4_2D_EdgeWeight1[4]*PointValues[14]);
235 
236  Functionals[6] =( NF_N_T_P4_2D_EdgeWeight2[0]*PointValues[ 0]
237  +NF_N_T_P4_2D_EdgeWeight2[1]*PointValues[ 1]
238  +NF_N_T_P4_2D_EdgeWeight2[2]*PointValues[ 2]
239  +NF_N_T_P4_2D_EdgeWeight2[3]*PointValues[ 3]
240  +NF_N_T_P4_2D_EdgeWeight2[4]*PointValues[ 4]);
241  Functionals[7] =( NF_N_T_P4_2D_EdgeWeight2[0]*PointValues[ 5]
242  +NF_N_T_P4_2D_EdgeWeight2[1]*PointValues[ 6]
243  +NF_N_T_P4_2D_EdgeWeight2[2]*PointValues[ 7]
244  +NF_N_T_P4_2D_EdgeWeight2[3]*PointValues[ 8]
245  +NF_N_T_P4_2D_EdgeWeight2[4]*PointValues[ 9]);
246  Functionals[8] =( NF_N_T_P4_2D_EdgeWeight2[0]*PointValues[10]
247  +NF_N_T_P4_2D_EdgeWeight2[1]*PointValues[11]
248  +NF_N_T_P4_2D_EdgeWeight2[2]*PointValues[12]
249  +NF_N_T_P4_2D_EdgeWeight2[3]*PointValues[13]
250  +NF_N_T_P4_2D_EdgeWeight2[4]*PointValues[14]);
251 
252  Functionals[9] =( NF_N_T_P4_2D_EdgeWeight3[0]*PointValues[ 0]
253  +NF_N_T_P4_2D_EdgeWeight3[1]*PointValues[ 1]
254  +NF_N_T_P4_2D_EdgeWeight3[2]*PointValues[ 2]
255  +NF_N_T_P4_2D_EdgeWeight3[3]*PointValues[ 3]
256  +NF_N_T_P4_2D_EdgeWeight3[4]*PointValues[ 4]);
257  Functionals[10]=( NF_N_T_P4_2D_EdgeWeight3[0]*PointValues[ 5]
258  +NF_N_T_P4_2D_EdgeWeight3[1]*PointValues[ 6]
259  +NF_N_T_P4_2D_EdgeWeight3[2]*PointValues[ 7]
260  +NF_N_T_P4_2D_EdgeWeight3[3]*PointValues[ 8]
261  +NF_N_T_P4_2D_EdgeWeight3[4]*PointValues[ 9]);
262  Functionals[11]=( NF_N_T_P4_2D_EdgeWeight3[0]*PointValues[10]
263  +NF_N_T_P4_2D_EdgeWeight3[1]*PointValues[11]
264  +NF_N_T_P4_2D_EdgeWeight3[2]*PointValues[12]
265  +NF_N_T_P4_2D_EdgeWeight3[3]*PointValues[13]
266  +NF_N_T_P4_2D_EdgeWeight3[4]*PointValues[14]);
267 
268  Functionals[12]=( NF_N_T_P4_2D_CellWeight0[ 0]*PointValues[15]
269  +NF_N_T_P4_2D_CellWeight0[ 1]*PointValues[16]
270  +NF_N_T_P4_2D_CellWeight0[ 2]*PointValues[17]
271  +NF_N_T_P4_2D_CellWeight0[ 3]*PointValues[18]
272  +NF_N_T_P4_2D_CellWeight0[ 4]*PointValues[19]
273  +NF_N_T_P4_2D_CellWeight0[ 5]*PointValues[20]
274  +NF_N_T_P4_2D_CellWeight0[ 6]*PointValues[21]
275  +NF_N_T_P4_2D_CellWeight0[ 7]*PointValues[22]
276  +NF_N_T_P4_2D_CellWeight0[ 8]*PointValues[23]
277  +NF_N_T_P4_2D_CellWeight0[ 9]*PointValues[24]
278  +NF_N_T_P4_2D_CellWeight0[10]*PointValues[25]
279  +NF_N_T_P4_2D_CellWeight0[11]*PointValues[26]
280  +NF_N_T_P4_2D_CellWeight0[12]*PointValues[27]
281  +NF_N_T_P4_2D_CellWeight0[13]*PointValues[28]
282  +NF_N_T_P4_2D_CellWeight0[14]*PointValues[29] );
283  Functionals[13]=( NF_N_T_P4_2D_CellWeight1[ 0]*PointValues[15]
284  +NF_N_T_P4_2D_CellWeight1[ 1]*PointValues[16]
285  +NF_N_T_P4_2D_CellWeight1[ 2]*PointValues[17]
286  +NF_N_T_P4_2D_CellWeight1[ 3]*PointValues[18]
287  +NF_N_T_P4_2D_CellWeight1[ 4]*PointValues[19]
288  +NF_N_T_P4_2D_CellWeight1[ 5]*PointValues[20]
289  +NF_N_T_P4_2D_CellWeight1[ 6]*PointValues[21]
290  +NF_N_T_P4_2D_CellWeight1[ 7]*PointValues[22]
291  +NF_N_T_P4_2D_CellWeight1[ 8]*PointValues[23]
292  +NF_N_T_P4_2D_CellWeight1[ 9]*PointValues[24]
293  +NF_N_T_P4_2D_CellWeight1[10]*PointValues[25]
294  +NF_N_T_P4_2D_CellWeight1[11]*PointValues[26]
295  +NF_N_T_P4_2D_CellWeight1[12]*PointValues[27]
296  +NF_N_T_P4_2D_CellWeight1[13]*PointValues[28]
297  +NF_N_T_P4_2D_CellWeight1[14]*PointValues[29] );
298  Functionals[14]=( NF_N_T_P4_2D_CellWeight2[ 0]*PointValues[15]
299  +NF_N_T_P4_2D_CellWeight2[ 1]*PointValues[16]
300  +NF_N_T_P4_2D_CellWeight2[ 2]*PointValues[17]
301  +NF_N_T_P4_2D_CellWeight2[ 3]*PointValues[18]
302  +NF_N_T_P4_2D_CellWeight2[ 4]*PointValues[19]
303  +NF_N_T_P4_2D_CellWeight2[ 5]*PointValues[20]
304  +NF_N_T_P4_2D_CellWeight2[ 6]*PointValues[21]
305  +NF_N_T_P4_2D_CellWeight2[ 7]*PointValues[22]
306  +NF_N_T_P4_2D_CellWeight2[ 8]*PointValues[23]
307  +NF_N_T_P4_2D_CellWeight2[ 9]*PointValues[24]
308  +NF_N_T_P4_2D_CellWeight2[10]*PointValues[25]
309  +NF_N_T_P4_2D_CellWeight2[11]*PointValues[26]
310  +NF_N_T_P4_2D_CellWeight2[12]*PointValues[27]
311  +NF_N_T_P4_2D_CellWeight2[13]*PointValues[28]
312  +NF_N_T_P4_2D_CellWeight2[14]*PointValues[29] );
313  Functionals[15]=( NF_N_T_P4_2D_CellWeight3[ 0]*PointValues[15]
314  +NF_N_T_P4_2D_CellWeight3[ 1]*PointValues[16]
315  +NF_N_T_P4_2D_CellWeight3[ 2]*PointValues[17]
316  +NF_N_T_P4_2D_CellWeight3[ 3]*PointValues[18]
317  +NF_N_T_P4_2D_CellWeight3[ 4]*PointValues[19]
318  +NF_N_T_P4_2D_CellWeight3[ 5]*PointValues[20]
319  +NF_N_T_P4_2D_CellWeight3[ 6]*PointValues[21]
320  +NF_N_T_P4_2D_CellWeight3[ 7]*PointValues[22]
321  +NF_N_T_P4_2D_CellWeight3[ 8]*PointValues[23]
322  +NF_N_T_P4_2D_CellWeight3[ 9]*PointValues[24]
323  +NF_N_T_P4_2D_CellWeight3[10]*PointValues[25]
324  +NF_N_T_P4_2D_CellWeight3[11]*PointValues[26]
325  +NF_N_T_P4_2D_CellWeight3[12]*PointValues[27]
326  +NF_N_T_P4_2D_CellWeight3[13]*PointValues[28]
327  +NF_N_T_P4_2D_CellWeight3[14]*PointValues[29] );
328  Functionals[16]=( NF_N_T_P4_2D_CellWeight4[ 0]*PointValues[15]
329  +NF_N_T_P4_2D_CellWeight4[ 1]*PointValues[16]
330  +NF_N_T_P4_2D_CellWeight4[ 2]*PointValues[17]
331  +NF_N_T_P4_2D_CellWeight4[ 3]*PointValues[18]
332  +NF_N_T_P4_2D_CellWeight4[ 4]*PointValues[19]
333  +NF_N_T_P4_2D_CellWeight4[ 5]*PointValues[20]
334  +NF_N_T_P4_2D_CellWeight4[ 6]*PointValues[21]
335  +NF_N_T_P4_2D_CellWeight4[ 7]*PointValues[22]
336  +NF_N_T_P4_2D_CellWeight4[ 8]*PointValues[23]
337  +NF_N_T_P4_2D_CellWeight4[ 9]*PointValues[24]
338  +NF_N_T_P4_2D_CellWeight4[10]*PointValues[25]
339  +NF_N_T_P4_2D_CellWeight4[11]*PointValues[26]
340  +NF_N_T_P4_2D_CellWeight4[12]*PointValues[27]
341  +NF_N_T_P4_2D_CellWeight4[13]*PointValues[28]
342  +NF_N_T_P4_2D_CellWeight4[14]*PointValues[29] );
343  Functionals[17]=( NF_N_T_P4_2D_CellWeight5[ 0]*PointValues[15]
344  +NF_N_T_P4_2D_CellWeight5[ 1]*PointValues[16]
345  +NF_N_T_P4_2D_CellWeight5[ 2]*PointValues[17]
346  +NF_N_T_P4_2D_CellWeight5[ 3]*PointValues[18]
347  +NF_N_T_P4_2D_CellWeight5[ 4]*PointValues[19]
348  +NF_N_T_P4_2D_CellWeight5[ 5]*PointValues[20]
349  +NF_N_T_P4_2D_CellWeight5[ 6]*PointValues[21]
350  +NF_N_T_P4_2D_CellWeight5[ 7]*PointValues[22]
351  +NF_N_T_P4_2D_CellWeight5[ 8]*PointValues[23]
352  +NF_N_T_P4_2D_CellWeight5[ 9]*PointValues[24]
353  +NF_N_T_P4_2D_CellWeight5[10]*PointValues[25]
354  +NF_N_T_P4_2D_CellWeight5[11]*PointValues[26]
355  +NF_N_T_P4_2D_CellWeight5[12]*PointValues[27]
356  +NF_N_T_P4_2D_CellWeight5[13]*PointValues[28]
357  +NF_N_T_P4_2D_CellWeight5[14]*PointValues[29] );
358 
359  /*
360  if(Cell)
361  {
362  if(Cell->GetVertex(0) > Cell->GetVertex(1))
363  {
364  Functionals[3] = -Functionals[3];
365  Functionals[9] = -Functionals[9];
366  }
367  if(Cell->GetVertex(1) > Cell->GetVertex(2))
368  {
369  Functionals[4] = -Functionals[4];
370  Functionals[10] = -Functionals[10];
371  }
372  if(Cell->GetVertex(2) > Cell->GetVertex(0))
373  {
374  Functionals[5] = -Functionals[5];
375  Functionals[11] = -Functionals[11];
376  }
377  }
378  */
379 
380  if(Cell)
381  {
382  OwnNum = Coll->GetIndex(Cell);
383 
384  neigh = Cell->GetJoint(0)->GetNeighbour(Cell);
385  if(neigh)
386  {
387  NeighNum = Coll->GetIndex(neigh);
388  if(NeighNum < OwnNum)
389  {
390  Functionals[3] = -Functionals[3];
391  Functionals[9] = -Functionals[9];
392  }
393  } // endif neigh
394 
395  neigh = Cell->GetJoint(1)->GetNeighbour(Cell);
396  if(neigh)
397  {
398  NeighNum = Coll->GetIndex(neigh);
399  if(NeighNum < OwnNum)
400  {
401  Functionals[ 4] = -Functionals[ 4];
402  Functionals[10] = -Functionals[10];
403  }
404  } // endif neigh
405 
406  neigh = Cell->GetJoint(2)->GetNeighbour(Cell);
407  if(neigh)
408  {
409  NeighNum = Coll->GetIndex(neigh);
410  if(NeighNum < OwnNum)
411  {
412  Functionals[ 5] = -Functionals[ 5];
413  Functionals[11] = -Functionals[11];
414  }
415  } // endif neigh
416  } // endif Cell
417 }
418 
419 void NF_N_T_P4_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint,
420  double *PointValues, double *Functionals)
421 {
422  int OwnNum, NeighNum;
423  TBaseCell *neigh;
424 
425  Functionals[0] =( NF_N_T_P4_2D_EdgeWeight0[0]*PointValues[ 0]
426  +NF_N_T_P4_2D_EdgeWeight0[1]*PointValues[ 1]
427  +NF_N_T_P4_2D_EdgeWeight0[2]*PointValues[ 2]
428  +NF_N_T_P4_2D_EdgeWeight0[3]*PointValues[ 3]
429  +NF_N_T_P4_2D_EdgeWeight0[4]*PointValues[ 4]);
430 
431  Functionals[1] =( NF_N_T_P4_2D_EdgeWeight1[0]*PointValues[ 0]
432  +NF_N_T_P4_2D_EdgeWeight1[1]*PointValues[ 1]
433  +NF_N_T_P4_2D_EdgeWeight1[2]*PointValues[ 2]
434  +NF_N_T_P4_2D_EdgeWeight1[3]*PointValues[ 3]
435  +NF_N_T_P4_2D_EdgeWeight1[4]*PointValues[ 4]);
436 
437  Functionals[2] =( NF_N_T_P4_2D_EdgeWeight2[0]*PointValues[ 0]
438  +NF_N_T_P4_2D_EdgeWeight2[1]*PointValues[ 1]
439  +NF_N_T_P4_2D_EdgeWeight2[2]*PointValues[ 2]
440  +NF_N_T_P4_2D_EdgeWeight2[3]*PointValues[ 3]
441  +NF_N_T_P4_2D_EdgeWeight2[4]*PointValues[ 4]);
442 
443  Functionals[3] =( NF_N_T_P4_2D_EdgeWeight3[0]*PointValues[ 0]
444  +NF_N_T_P4_2D_EdgeWeight3[1]*PointValues[ 1]
445  +NF_N_T_P4_2D_EdgeWeight3[2]*PointValues[ 2]
446  +NF_N_T_P4_2D_EdgeWeight3[3]*PointValues[ 3]
447  +NF_N_T_P4_2D_EdgeWeight3[4]*PointValues[ 4]);
448 
449  if(Joint != -1)
450  {
451  // if(Cell->GetVertex(Joint) > Cell->GetVertex((Joint+1)%3))
452  // {
453  // Functionals[1] = -Functionals[1];
454  // Functionals[3] = -Functionals[3];
455  // }
456  neigh = Cell->GetJoint(Joint)->GetNeighbour(Cell);
457  if(neigh)
458  {
459  OwnNum = Coll->GetIndex(Cell);
460  NeighNum = Coll->GetIndex(neigh);
461  if(NeighNum < OwnNum)
462  {
463  Functionals[1] = -Functionals[1];
464  Functionals[3] = -Functionals[3];
465  }
466  } // endif neigh
467  // */
468  }
469 }
470 
471 /*
472  TNodalFunctional2D(NodalFunctional2D id,
473  int n_allfunctionals, int n_edgefunctionals,
474  int n_pointsall, int n_pointsedge,
475  double *xi, double *eta, double *t,
476  DoubleFunctVect *evalall,
477  DoubleFunctVect *evaledge);
478 */
479 
480 TNodalFunctional2D *NF_N_T_P4_2D_Obj = new TNodalFunctional2D
481  (NF_N_T_P4_2D, 18, 4, 30, 5, NF_N_T_P4_2D_Xi, NF_N_T_P4_2D_Eta,
482  NF_N_T_P4_2D_T, NF_N_T_P4_2D_EvalAll, NF_N_T_P4_2D_EvalEdge);
store cells in an array, used by cell iterators
Definition: Collection.h:18
Definition: NodalFunctional2D.h:20
int GetIndex(TBaseCell *cell)
return Index of cell in Cells-array
Definition: Collection.C:115
TJoint * GetJoint(int J_i)
return the pointer to face with number i
Definition: BaseCell.h:175
TBaseCell * GetNeighbour(TBaseCell *Me) const
Definition: Joint.C:57
information for finite element data structure
Definition: BaseCell.h:25