1 static double NF_N_T_P3_2D_Xi[19] =
3 0.069431844202973712388026755553,
4 0.330009478207571867598667120449,
5 0.669990521792428132401332879551,
6 0.930568155797026287611973244447,
7 0.930568155797026287611973244447,
8 0.669990521792428132401332879551,
9 0.330009478207571867598667120449,
10 0.069431844202973712388026755553,
14 0.7974269853530873, 0.1012865073234563,
16 0.05971587178976982, 0.4701420641051151,
20 static double NF_N_T_P3_2D_Eta[19] =
23 0.069431844202973712388026755553,
24 0.330009478207571867598667120449,
25 0.669990521792428132401332879551,
26 0.930568155797026287611973244447,
27 0.930568155797026287611973244447,
28 0.669990521792428132401332879551,
29 0.330009478207571867598667120449,
30 0.069431844202973712388026755553,
33 0.1012865073234563, 0.7974269853530873,
35 0.4701420641051151, 0.4701420641051151,
39 static double NF_N_T_P3_2D_T[4] =
41 -0.861136311594052575223946488893,
42 -0.339981043584856264802665759103,
43 0.339981043584856264802665759103,
44 0.861136311594052575223946488893
47 static double NF_N_T_P3_2D_EdgeWeight0[4] = {
48 0.1739274225687269286865319745,
49 0.3260725774312730713134680255,
50 0.3260725774312730713134680255,
51 0.1739274225687269286865319745 };
53 static double NF_N_T_P3_2D_EdgeWeight1[4] = {
54 -0.4493256574676810538434880055,
55 -0.3325754854784642078819958520,
56 0.3325754854784642078819958520,
57 0.4493256574676810538434880055 };
59 static double NF_N_T_P3_2D_EdgeWeight2[4] = {
60 0.532508042018911499194276175,
61 -0.532508042018911499194276175,
62 -0.532508042018911499194276175,
63 0.532508042018911499194276175 };
65 static double NF_N_T_P3_2D_CellWeight0[7] = {
67 0.0382678191976911531218063401284,
68 0.0382678191976911531218063401284,
69 0.3012819032390987693198956466394,
70 0.18673218080230856483484009381144,
71 0.0237180967609008544430214777564,
72 0.18673218080230856483484009381144,
75 static double NF_N_T_P3_2D_CellWeight1[7] = {
77 0.3012819032390987315381414831913,
78 0.0382678191976911153400521766803,
79 0.0382678191976911153400521766803,
80 0.02371809676090086238667064506676,
81 0.1867321808023085727784892611218,
82 0.1867321808023085727784892611218 };
85 static double NF_N_T_P3_2D_CellWeight2[7] = {
87 0.0382678191976911153400521766803,
88 0.3012819032390987315381414831913,
89 0.0382678191976911153400521766803,
90 0.1867321808023085727784892611218,
91 0.1867321808023085727784892611218,
92 0.02371809676090086238667064506676 };
100 Functionals[0] = ( NF_N_T_P3_2D_EdgeWeight0[0]*PointValues[0]
101 +NF_N_T_P3_2D_EdgeWeight0[1]*PointValues[1]
102 +NF_N_T_P3_2D_EdgeWeight0[2]*PointValues[2]
103 +NF_N_T_P3_2D_EdgeWeight0[3]*PointValues[3]);
104 Functionals[1] = ( NF_N_T_P3_2D_EdgeWeight0[0]*PointValues[4]
105 +NF_N_T_P3_2D_EdgeWeight0[1]*PointValues[5]
106 +NF_N_T_P3_2D_EdgeWeight0[2]*PointValues[6]
107 +NF_N_T_P3_2D_EdgeWeight0[3]*PointValues[7]);
108 Functionals[2] = ( NF_N_T_P3_2D_EdgeWeight0[0]*PointValues[8]
109 +NF_N_T_P3_2D_EdgeWeight0[1]*PointValues[9]
110 +NF_N_T_P3_2D_EdgeWeight0[2]*PointValues[10]
111 +NF_N_T_P3_2D_EdgeWeight0[3]*PointValues[11]);
113 Functionals[3] = ( NF_N_T_P3_2D_EdgeWeight1[0]*PointValues[0]
114 +NF_N_T_P3_2D_EdgeWeight1[1]*PointValues[1]
115 +NF_N_T_P3_2D_EdgeWeight1[2]*PointValues[2]
116 +NF_N_T_P3_2D_EdgeWeight1[3]*PointValues[3]);
117 Functionals[4] = ( NF_N_T_P3_2D_EdgeWeight1[0]*PointValues[4]
118 +NF_N_T_P3_2D_EdgeWeight1[1]*PointValues[5]
119 +NF_N_T_P3_2D_EdgeWeight1[2]*PointValues[6]
120 +NF_N_T_P3_2D_EdgeWeight1[3]*PointValues[7]);
121 Functionals[5] = ( NF_N_T_P3_2D_EdgeWeight1[0]*PointValues[8]
122 +NF_N_T_P3_2D_EdgeWeight1[1]*PointValues[9]
123 +NF_N_T_P3_2D_EdgeWeight1[2]*PointValues[10]
124 +NF_N_T_P3_2D_EdgeWeight1[3]*PointValues[11]);
126 Functionals[6] = ( NF_N_T_P3_2D_EdgeWeight2[0]*PointValues[0]
127 +NF_N_T_P3_2D_EdgeWeight2[1]*PointValues[1]
128 +NF_N_T_P3_2D_EdgeWeight2[2]*PointValues[2]
129 +NF_N_T_P3_2D_EdgeWeight2[3]*PointValues[3]);
130 Functionals[7] = ( NF_N_T_P3_2D_EdgeWeight2[0]*PointValues[4]
131 +NF_N_T_P3_2D_EdgeWeight2[1]*PointValues[5]
132 +NF_N_T_P3_2D_EdgeWeight2[2]*PointValues[6]
133 +NF_N_T_P3_2D_EdgeWeight2[3]*PointValues[7]);
134 Functionals[8] = ( NF_N_T_P3_2D_EdgeWeight2[0]*PointValues[8]
135 +NF_N_T_P3_2D_EdgeWeight2[1]*PointValues[9]
136 +NF_N_T_P3_2D_EdgeWeight2[2]*PointValues[10]
137 +NF_N_T_P3_2D_EdgeWeight2[3]*PointValues[11]);
139 Functionals[9] =( NF_N_T_P3_2D_CellWeight0[0]*PointValues[12]
140 +NF_N_T_P3_2D_CellWeight0[1]*PointValues[13]
141 +NF_N_T_P3_2D_CellWeight0[2]*PointValues[14]
142 +NF_N_T_P3_2D_CellWeight0[3]*PointValues[15]
143 +NF_N_T_P3_2D_CellWeight0[4]*PointValues[16]
144 +NF_N_T_P3_2D_CellWeight0[5]*PointValues[17]
145 +NF_N_T_P3_2D_CellWeight0[6]*PointValues[18] );
146 Functionals[10]=( NF_N_T_P3_2D_CellWeight1[0]*PointValues[12]
147 +NF_N_T_P3_2D_CellWeight1[1]*PointValues[13]
148 +NF_N_T_P3_2D_CellWeight1[2]*PointValues[14]
149 +NF_N_T_P3_2D_CellWeight1[3]*PointValues[15]
150 +NF_N_T_P3_2D_CellWeight1[4]*PointValues[16]
151 +NF_N_T_P3_2D_CellWeight1[5]*PointValues[17]
152 +NF_N_T_P3_2D_CellWeight1[6]*PointValues[18] );
153 Functionals[11]=( NF_N_T_P3_2D_CellWeight2[0]*PointValues[12]
154 +NF_N_T_P3_2D_CellWeight2[1]*PointValues[13]
155 +NF_N_T_P3_2D_CellWeight2[2]*PointValues[14]
156 +NF_N_T_P3_2D_CellWeight2[3]*PointValues[15]
157 +NF_N_T_P3_2D_CellWeight2[4]*PointValues[16]
158 +NF_N_T_P3_2D_CellWeight2[5]*PointValues[17]
159 +NF_N_T_P3_2D_CellWeight2[6]*PointValues[18] );
181 if(NeighNum < OwnNum)
182 Functionals[3] = -Functionals[3];
189 if(NeighNum < OwnNum)
190 Functionals[ 4] = -Functionals[ 4];
197 if(NeighNum < OwnNum)
198 Functionals[ 5] = -Functionals[ 5];
204 double *PointValues,
double *Functionals)
206 int OwnNum, NeighNum;
209 Functionals[0] = ( NF_N_T_P3_2D_EdgeWeight0[0]*PointValues[0]
210 +NF_N_T_P3_2D_EdgeWeight0[1]*PointValues[1]
211 +NF_N_T_P3_2D_EdgeWeight0[2]*PointValues[2]
212 +NF_N_T_P3_2D_EdgeWeight0[3]*PointValues[3]);
213 Functionals[1] = ( NF_N_T_P3_2D_EdgeWeight1[0]*PointValues[0]
214 +NF_N_T_P3_2D_EdgeWeight1[1]*PointValues[1]
215 +NF_N_T_P3_2D_EdgeWeight1[2]*PointValues[2]
216 +NF_N_T_P3_2D_EdgeWeight1[3]*PointValues[3]);
217 Functionals[2] = ( NF_N_T_P3_2D_EdgeWeight2[0]*PointValues[0]
218 +NF_N_T_P3_2D_EdgeWeight2[1]*PointValues[1]
219 +NF_N_T_P3_2D_EdgeWeight2[2]*PointValues[2]
220 +NF_N_T_P3_2D_EdgeWeight2[3]*PointValues[3]);
232 if(NeighNum < OwnNum)
233 Functionals[1] = -Functionals[1];
249 (NF_N_T_P3_2D, 12, 3, 19, 4, NF_N_T_P3_2D_Xi, NF_N_T_P3_2D_Eta,
250 NF_N_T_P3_2D_T, NF_N_T_P3_2D_EvalAll, NF_N_T_P3_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