1 static double NF_N_Q_Q2_2D_Xi[21] =
2 { -0.77459666924148337703585307995647992, 0,
3 0.77459666924148337703585307995647992,
5 0.77459666924148337703585307995647992, 0,
6 -0.77459666924148337703585307995647992,
8 -0.77459666924148337703585307995647992, 0,
9 0.77459666924148337703585307995647992,
10 -0.77459666924148337703585307995647992, 0,
11 0.77459666924148337703585307995647992,
12 -0.77459666924148337703585307995647992, 0,
13 0.77459666924148337703585307995647992
16 static double NF_N_Q_Q2_2D_Eta[21] =
18 -0.77459666924148337703585307995647992, 0,
19 0.77459666924148337703585307995647992,
21 0.77459666924148337703585307995647992, 0,
22 -0.77459666924148337703585307995647992,
24 -0.77459666924148337703585307995647992,
25 -0.77459666924148337703585307995647992,
26 -0.77459666924148337703585307995647992,
28 0.77459666924148337703585307995647992,
29 0.77459666924148337703585307995647992,
30 0.77459666924148337703585307995647992
33 static double NF_N_Q_Q2_2D_T[3] =
34 { -0.77459666924148337703585307995647992, 0,
35 0.77459666924148337703585307995647992 };
37 static double NF_N_Q_Q2_2D_EdgeWeight0[3] =
38 { 0.277777777777777777777777777778,
39 0.444444444444444444444444444444,
40 0.277777777777777777777777777778 };
42 static double NF_N_Q_Q2_2D_EdgeWeight1[3] =
43 { -0.64549722436790281419654423329706660,
45 0.64549722436790281419654423329706660 };
47 static double NF_N_Q_Q2_2D_CellWeight0[9] = {
48 0.07716049382716049382716049, 0.1234567901234567901234568,
49 0.07716049382716049382716049, 0.1234567901234567901234568,
50 0.1975308641975308641975309, 0.1234567901234567901234568,
51 0.07716049382716049382716049, 0.1234567901234567901234568,
52 0.07716049382716049382716049 };
60 Functionals[0] = ( NF_N_Q_Q2_2D_EdgeWeight0[0]*PointValues[ 0]
61 +NF_N_Q_Q2_2D_EdgeWeight0[1]*PointValues[ 1]
62 +NF_N_Q_Q2_2D_EdgeWeight0[2]*PointValues[ 2]);
63 Functionals[1] = ( NF_N_Q_Q2_2D_EdgeWeight0[0]*PointValues[ 3]
64 +NF_N_Q_Q2_2D_EdgeWeight0[1]*PointValues[ 4]
65 +NF_N_Q_Q2_2D_EdgeWeight0[2]*PointValues[ 5]);
66 Functionals[2] = ( NF_N_Q_Q2_2D_EdgeWeight0[0]*PointValues[ 6]
67 +NF_N_Q_Q2_2D_EdgeWeight0[1]*PointValues[ 7]
68 +NF_N_Q_Q2_2D_EdgeWeight0[2]*PointValues[ 8]);
69 Functionals[3] = ( NF_N_Q_Q2_2D_EdgeWeight0[0]*PointValues[ 9]
70 +NF_N_Q_Q2_2D_EdgeWeight0[1]*PointValues[10]
71 +NF_N_Q_Q2_2D_EdgeWeight0[2]*PointValues[11]);
73 Functionals[4] = ( NF_N_Q_Q2_2D_EdgeWeight1[0]*PointValues[ 0]
74 +NF_N_Q_Q2_2D_EdgeWeight1[1]*PointValues[ 1]
75 +NF_N_Q_Q2_2D_EdgeWeight1[2]*PointValues[ 2]);
76 Functionals[5] = ( NF_N_Q_Q2_2D_EdgeWeight1[0]*PointValues[ 3]
77 +NF_N_Q_Q2_2D_EdgeWeight1[1]*PointValues[ 4]
78 +NF_N_Q_Q2_2D_EdgeWeight1[2]*PointValues[ 5]);
79 Functionals[6] = ( NF_N_Q_Q2_2D_EdgeWeight1[0]*PointValues[ 6]
80 +NF_N_Q_Q2_2D_EdgeWeight1[1]*PointValues[ 7]
81 +NF_N_Q_Q2_2D_EdgeWeight1[2]*PointValues[ 8]);
82 Functionals[7] = ( NF_N_Q_Q2_2D_EdgeWeight1[0]*PointValues[ 9]
83 +NF_N_Q_Q2_2D_EdgeWeight1[1]*PointValues[10]
84 +NF_N_Q_Q2_2D_EdgeWeight1[2]*PointValues[11]);
86 Functionals[8] = ( NF_N_Q_Q2_2D_CellWeight0[0]*PointValues[12]
87 +NF_N_Q_Q2_2D_CellWeight0[1]*PointValues[13]
88 +NF_N_Q_Q2_2D_CellWeight0[2]*PointValues[14]
89 +NF_N_Q_Q2_2D_CellWeight0[3]*PointValues[15]
90 +NF_N_Q_Q2_2D_CellWeight0[4]*PointValues[16]
91 +NF_N_Q_Q2_2D_CellWeight0[5]*PointValues[17]
92 +NF_N_Q_Q2_2D_CellWeight0[6]*PointValues[18]
93 +NF_N_Q_Q2_2D_CellWeight0[7]*PointValues[19]
94 +NF_N_Q_Q2_2D_CellWeight0[8]*PointValues[20]);
118 if(NeighNum < OwnNum)
119 Functionals[ 4] = -Functionals[ 4];
126 if(NeighNum < OwnNum)
127 Functionals[ 5] = -Functionals[ 5];
134 if(NeighNum < OwnNum)
135 Functionals[ 6] = -Functionals[ 6];
142 if(NeighNum < OwnNum)
143 Functionals[ 7] = -Functionals[ 7];
149 double *PointValues,
double *Functionals)
151 int OwnNum, NeighNum;
154 Functionals[0] = ( NF_N_Q_Q2_2D_EdgeWeight0[0]*PointValues[0]
155 +NF_N_Q_Q2_2D_EdgeWeight0[1]*PointValues[1]
156 +NF_N_Q_Q2_2D_EdgeWeight0[2]*PointValues[2]);
157 Functionals[1] = ( NF_N_Q_Q2_2D_EdgeWeight1[0]*PointValues[0]
158 +NF_N_Q_Q2_2D_EdgeWeight1[1]*PointValues[1]
159 +NF_N_Q_Q2_2D_EdgeWeight1[2]*PointValues[2]);
171 if(NeighNum < OwnNum)
172 Functionals[1] = -Functionals[1];
188 (NF_N_Q_Q2_2D, 9, 2, 21, 3, NF_N_Q_Q2_2D_Xi, NF_N_Q_Q2_2D_Eta,
189 NF_N_Q_Q2_2D_T, NF_N_Q_Q2_2D_EvalAll, NF_N_Q_Q2_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