13 static double NF_C_H_UL2_3D_Xi[] = {-1, 0, 1, -1, 0, 1, -1, 0, 1,
14 -1, 0, 1, 1, 1, 0, -1, -1,
15 -1, 0, 1, -1, 0, 1, -1, 0, 1,
16 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
17 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
18 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
19 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
20 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
21 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
22 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
23 -0.7745966692414833770358530, 0., 0.7745966692414833770358530,
24 -0.7745966692414833770358530, 0., 0.7745966692414833770358530};
26 static double NF_C_H_UL2_3D_Eta[] = {-1, -1, -1, 0, 0, 0, 1, 1, 1,
27 -1, -1, -1, 0, 1, 1, 1, 0,
28 -1, -1, -1, 0, 0, 0, 1, 1, 1,
29 -0.7745966692414833770358530, -0.7745966692414833770358530, -0.7745966692414833770358530,
31 0.7745966692414833770358530, 0.7745966692414833770358530, 0.7745966692414833770358530,
32 -0.7745966692414833770358530, -0.7745966692414833770358530, -0.7745966692414833770358530,
34 0.7745966692414833770358530, 0.7745966692414833770358530, 0.7745966692414833770358530,
35 -0.7745966692414833770358530, -0.7745966692414833770358530, -0.7745966692414833770358530,
37 0.7745966692414833770358530, 0.7745966692414833770358530, 0.7745966692414833770358530};
39 static double NF_C_H_UL2_3D_Zeta[] = {-1, -1, -1, -1, -1, -1, -1, -1, -1,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 1, 1, 1, 1, 1, 1, 1, 1, 1,
42 -0.7745966692414833770358530, -0.7745966692414833770358530, -0.7745966692414833770358530,
43 -0.7745966692414833770358530, -0.7745966692414833770358530, -0.7745966692414833770358530,
44 -0.7745966692414833770358530, -0.7745966692414833770358530, -0.7745966692414833770358530,
48 0.7745966692414833770358530, 0.7745966692414833770358530, 0.7745966692414833770358530,
49 0.7745966692414833770358530, 0.7745966692414833770358530, 0.7745966692414833770358530,
50 0.7745966692414833770358530, 0.7745966692414833770358530, 0.7745966692414833770358530};
52 static double NF_C_H_UL2_3D_W26[] = {0.1714677640603566529492459, 0.2743484224965706447187930, 0.1714677640603566529492459,
53 0.2743484224965706447187929, 0.4389574759945130315500680, 0.2743484224965706447187929,
54 0.1714677640603566529492459, 0.2743484224965706447187930, 0.1714677640603566529492459,
55 0.2743484224965706447187929, 0.4389574759945130315500680, 0.2743484224965706447187929,
56 0.4389574759945130315500680, 0.7023319615912208504801077, 0.4389574759945130315500680,
57 0.2743484224965706447187929, 0.4389574759945130315500680, 0.2743484224965706447187929,
58 0.1714677640603566529492459, 0.2743484224965706447187930, 0.1714677640603566529492459,
59 0.2743484224965706447187929, 0.4389574759945130315500680, 0.2743484224965706447187929,
60 0.1714677640603566529492459, 0.2743484224965706447187930, 0.1714677640603566529492459};
62 static double NF_C_H_UL2_3D_W27[] = {-0.1328183589234367930445567, -0.2125093742774988688712904, -0.1328183589234367930445567,
63 -0.2125093742774988688712903, -0.3400149988439981901940640, -0.2125093742774988688712903,
64 -0.1328183589234367930445567, -0.2125093742774988688712904, -0.1328183589234367930445567,
68 0.1328183589234367930445567, 0.2125093742774988688712904, 0.1328183589234367930445567,
69 0.2125093742774988688712903, 0.3400149988439981901940640, 0.2125093742774988688712903,
70 0.1328183589234367930445567, 0.2125093742774988688712904, 0.1328183589234367930445567};
72 static double NF_C_H_UL2_3D_W28[] = {-0.1328183589234367930445567, -0.2125093742774988688712904, -0.1328183589234367930445567,
74 0.1328183589234367930445567, 0.2125093742774988688712904, 0.1328183589234367930445567,
75 -0.2125093742774988688712903, -0.3400149988439981901940640, -0.2125093742774988688712903,
77 0.2125093742774988688712903, 0.3400149988439981901940640, 0.2125093742774988688712903,
78 -0.1328183589234367930445567, -0.2125093742774988688712904, -0.1328183589234367930445567,
80 0.1328183589234367930445567, 0.2125093742774988688712904, 0.1328183589234367930445567};
82 static double NF_C_H_UL2_3D_W29[] = {-0.1328183589234367930445567, 0., 0.1328183589234367930445567,
83 -0.2125093742774988688712903, 0., 0.2125093742774988688712903,
84 -0.1328183589234367930445567, 0., 0.1328183589234367930445567,
85 -0.2125093742774988688712903, 0., 0.2125093742774988688712903,
86 -0.3400149988439981901940640, 0., 0.3400149988439981901940640,
87 -0.2125093742774988688712903, 0., 0.2125093742774988688712903,
88 -0.1328183589234367930445567, 0., 0.1328183589234367930445567,
89 -0.2125093742774988688712903, 0., 0.2125093742774988688712903,
90 -0.1328183589234367930445567, 0., 0.1328183589234367930445567};
94 static double NF_C_H_UL2_3D_F0_Xi[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
95 static double NF_C_H_UL2_3D_F0_Eta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
96 static double NF_C_H_UL2_3D_F0_Zeta[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
99 static double NF_C_H_UL2_3D_F1_Xi[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
100 static double NF_C_H_UL2_3D_F1_Eta[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
101 static double NF_C_H_UL2_3D_F1_Zeta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
104 static double NF_C_H_UL2_3D_F2_Xi[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
105 static double NF_C_H_UL2_3D_F2_Eta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
106 static double NF_C_H_UL2_3D_F2_Zeta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
109 static double NF_C_H_UL2_3D_F3_Xi[] = { 1, 1, 1, 0, 0, 0, -1, -1, -1 };
110 static double NF_C_H_UL2_3D_F3_Eta[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
111 static double NF_C_H_UL2_3D_F3_Zeta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
114 static double NF_C_H_UL2_3D_F4_Xi[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
115 static double NF_C_H_UL2_3D_F4_Eta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
116 static double NF_C_H_UL2_3D_F4_Zeta[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
119 static double NF_C_H_UL2_3D_F5_Xi[] = { -1, -1, -1, 0, 0, 0, 1, 1, 1 };
120 static double NF_C_H_UL2_3D_F5_Eta[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 };
121 static double NF_C_H_UL2_3D_F5_Zeta[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
123 static double *NF_C_H_UL2_3D_XiArray[6] = {
129 NF_C_H_UL2_3D_F5_Xi };
131 static double *NF_C_H_UL2_3D_EtaArray[6] = {
132 NF_C_H_UL2_3D_F0_Eta,
133 NF_C_H_UL2_3D_F1_Eta,
134 NF_C_H_UL2_3D_F2_Eta,
135 NF_C_H_UL2_3D_F3_Eta,
136 NF_C_H_UL2_3D_F4_Eta,
137 NF_C_H_UL2_3D_F5_Eta };
139 static double *NF_C_H_UL2_3D_ZetaArray[6] = {
140 NF_C_H_UL2_3D_F0_Zeta,
141 NF_C_H_UL2_3D_F1_Zeta,
142 NF_C_H_UL2_3D_F2_Zeta,
143 NF_C_H_UL2_3D_F3_Zeta,
144 NF_C_H_UL2_3D_F4_Zeta,
145 NF_C_H_UL2_3D_F5_Zeta };
147 static double NF_C_H_UL2_3D_T[9] = { 0, 0.5, 1, 0, 0.5, 1, 0, 0.5, 1 };
148 static double NF_C_H_UL2_3D_S[9] = { 0, 0, 0, 0.5, 0.5, 0.5, 1, 1, 1 };
151 double *PointValues,
double *Functionals)
153 memcpy(Functionals, PointValues, 26*SizeOfDouble);
155 Functionals[26] = NF_C_H_UL2_3D_W26[0]*PointValues[ 26]
156 +NF_C_H_UL2_3D_W26[1]*PointValues[ 27]
157 +NF_C_H_UL2_3D_W26[2]*PointValues[ 28]
158 +NF_C_H_UL2_3D_W26[3]*PointValues[ 29]
159 +NF_C_H_UL2_3D_W26[4]*PointValues[ 30]
160 +NF_C_H_UL2_3D_W26[5]*PointValues[ 31]
161 +NF_C_H_UL2_3D_W26[6]*PointValues[ 32]
162 +NF_C_H_UL2_3D_W26[7]*PointValues[ 33]
163 +NF_C_H_UL2_3D_W26[8]*PointValues[ 34]
164 +NF_C_H_UL2_3D_W26[9]*PointValues[ 35]
165 +NF_C_H_UL2_3D_W26[10]*PointValues[ 36]
166 +NF_C_H_UL2_3D_W26[11]*PointValues[ 37]
167 +NF_C_H_UL2_3D_W26[12]*PointValues[ 38]
168 +NF_C_H_UL2_3D_W26[13]*PointValues[ 39]
169 +NF_C_H_UL2_3D_W26[14]*PointValues[ 40]
170 +NF_C_H_UL2_3D_W26[15]*PointValues[ 41]
171 +NF_C_H_UL2_3D_W26[16]*PointValues[ 42]
172 +NF_C_H_UL2_3D_W26[17]*PointValues[ 43]
173 +NF_C_H_UL2_3D_W26[18]*PointValues[ 44]
174 +NF_C_H_UL2_3D_W26[19]*PointValues[ 45]
175 +NF_C_H_UL2_3D_W26[20]*PointValues[ 46]
176 +NF_C_H_UL2_3D_W26[21]*PointValues[ 47]
177 +NF_C_H_UL2_3D_W26[22]*PointValues[ 48]
178 +NF_C_H_UL2_3D_W26[23]*PointValues[ 49]
179 +NF_C_H_UL2_3D_W26[24]*PointValues[ 50]
180 +NF_C_H_UL2_3D_W26[25]*PointValues[ 51]
181 +NF_C_H_UL2_3D_W26[26]*PointValues[ 52];
182 Functionals[27] = NF_C_H_UL2_3D_W27[0]*PointValues[ 26]
183 +NF_C_H_UL2_3D_W27[1]*PointValues[ 27]
184 +NF_C_H_UL2_3D_W27[2]*PointValues[ 28]
185 +NF_C_H_UL2_3D_W27[3]*PointValues[ 29]
186 +NF_C_H_UL2_3D_W27[4]*PointValues[ 30]
187 +NF_C_H_UL2_3D_W27[5]*PointValues[ 31]
188 +NF_C_H_UL2_3D_W27[6]*PointValues[ 32]
189 +NF_C_H_UL2_3D_W27[7]*PointValues[ 33]
190 +NF_C_H_UL2_3D_W27[8]*PointValues[ 34]
191 +NF_C_H_UL2_3D_W27[9]*PointValues[ 35]
192 +NF_C_H_UL2_3D_W27[10]*PointValues[ 36]
193 +NF_C_H_UL2_3D_W27[11]*PointValues[ 37]
194 +NF_C_H_UL2_3D_W27[12]*PointValues[ 38]
195 +NF_C_H_UL2_3D_W27[13]*PointValues[ 39]
196 +NF_C_H_UL2_3D_W27[14]*PointValues[ 40]
197 +NF_C_H_UL2_3D_W27[15]*PointValues[ 41]
198 +NF_C_H_UL2_3D_W27[16]*PointValues[ 42]
199 +NF_C_H_UL2_3D_W27[17]*PointValues[ 43]
200 +NF_C_H_UL2_3D_W27[18]*PointValues[ 44]
201 +NF_C_H_UL2_3D_W27[19]*PointValues[ 45]
202 +NF_C_H_UL2_3D_W27[20]*PointValues[ 46]
203 +NF_C_H_UL2_3D_W27[21]*PointValues[ 47]
204 +NF_C_H_UL2_3D_W27[22]*PointValues[ 48]
205 +NF_C_H_UL2_3D_W27[23]*PointValues[ 49]
206 +NF_C_H_UL2_3D_W27[24]*PointValues[ 50]
207 +NF_C_H_UL2_3D_W27[25]*PointValues[ 51]
208 +NF_C_H_UL2_3D_W27[26]*PointValues[ 52];
209 Functionals[28] = NF_C_H_UL2_3D_W28[0]*PointValues[ 26]
210 +NF_C_H_UL2_3D_W28[1]*PointValues[ 27]
211 +NF_C_H_UL2_3D_W28[2]*PointValues[ 28]
212 +NF_C_H_UL2_3D_W28[3]*PointValues[ 29]
213 +NF_C_H_UL2_3D_W28[4]*PointValues[ 30]
214 +NF_C_H_UL2_3D_W28[5]*PointValues[ 31]
215 +NF_C_H_UL2_3D_W28[6]*PointValues[ 32]
216 +NF_C_H_UL2_3D_W28[7]*PointValues[ 33]
217 +NF_C_H_UL2_3D_W28[8]*PointValues[ 34]
218 +NF_C_H_UL2_3D_W28[9]*PointValues[ 35]
219 +NF_C_H_UL2_3D_W28[10]*PointValues[ 36]
220 +NF_C_H_UL2_3D_W28[11]*PointValues[ 37]
221 +NF_C_H_UL2_3D_W28[12]*PointValues[ 38]
222 +NF_C_H_UL2_3D_W28[13]*PointValues[ 39]
223 +NF_C_H_UL2_3D_W28[14]*PointValues[ 40]
224 +NF_C_H_UL2_3D_W28[15]*PointValues[ 41]
225 +NF_C_H_UL2_3D_W28[16]*PointValues[ 42]
226 +NF_C_H_UL2_3D_W28[17]*PointValues[ 43]
227 +NF_C_H_UL2_3D_W28[18]*PointValues[ 44]
228 +NF_C_H_UL2_3D_W28[19]*PointValues[ 45]
229 +NF_C_H_UL2_3D_W28[20]*PointValues[ 46]
230 +NF_C_H_UL2_3D_W28[21]*PointValues[ 47]
231 +NF_C_H_UL2_3D_W28[22]*PointValues[ 48]
232 +NF_C_H_UL2_3D_W28[23]*PointValues[ 49]
233 +NF_C_H_UL2_3D_W28[24]*PointValues[ 50]
234 +NF_C_H_UL2_3D_W28[25]*PointValues[ 51]
235 +NF_C_H_UL2_3D_W28[26]*PointValues[ 52];
236 Functionals[29] = NF_C_H_UL2_3D_W29[0]*PointValues[ 26]
237 +NF_C_H_UL2_3D_W29[1]*PointValues[ 27]
238 +NF_C_H_UL2_3D_W29[2]*PointValues[ 28]
239 +NF_C_H_UL2_3D_W29[3]*PointValues[ 29]
240 +NF_C_H_UL2_3D_W29[4]*PointValues[ 30]
241 +NF_C_H_UL2_3D_W29[5]*PointValues[ 31]
242 +NF_C_H_UL2_3D_W29[6]*PointValues[ 32]
243 +NF_C_H_UL2_3D_W29[7]*PointValues[ 33]
244 +NF_C_H_UL2_3D_W29[8]*PointValues[ 34]
245 +NF_C_H_UL2_3D_W29[9]*PointValues[ 35]
246 +NF_C_H_UL2_3D_W29[10]*PointValues[ 36]
247 +NF_C_H_UL2_3D_W29[11]*PointValues[ 37]
248 +NF_C_H_UL2_3D_W29[12]*PointValues[ 38]
249 +NF_C_H_UL2_3D_W29[13]*PointValues[ 39]
250 +NF_C_H_UL2_3D_W29[14]*PointValues[ 40]
251 +NF_C_H_UL2_3D_W29[15]*PointValues[ 41]
252 +NF_C_H_UL2_3D_W29[16]*PointValues[ 42]
253 +NF_C_H_UL2_3D_W29[17]*PointValues[ 43]
254 +NF_C_H_UL2_3D_W29[18]*PointValues[ 44]
255 +NF_C_H_UL2_3D_W29[19]*PointValues[ 45]
256 +NF_C_H_UL2_3D_W29[20]*PointValues[ 46]
257 +NF_C_H_UL2_3D_W29[21]*PointValues[ 47]
258 +NF_C_H_UL2_3D_W29[22]*PointValues[ 48]
259 +NF_C_H_UL2_3D_W29[23]*PointValues[ 49]
260 +NF_C_H_UL2_3D_W29[24]*PointValues[ 50]
261 +NF_C_H_UL2_3D_W29[25]*PointValues[ 51]
262 +NF_C_H_UL2_3D_W29[26]*PointValues[ 52];
266 double *PointValues,
double *Functionals)
268 memcpy(Functionals, PointValues, 9*SizeOfDouble);
271 static int NF_C_H_UL2_3D_N_AllFunctionals = 30;
272 static int NF_C_H_UL2_3D_N_PointsAll = 53;
273 static int NF_C_H_UL2_3D_N_FaceFunctionals[] = { 9, 9, 9, 9, 9, 9 };
274 static int NF_C_H_UL2_3D_N_PointsFace[] = { 9, 9, 9, 9, 9, 9 };
277 (NF_C_H_UL2_3D, NF_C_H_UL2_3D_N_AllFunctionals,
278 NF_C_H_UL2_3D_N_FaceFunctionals, NF_C_H_UL2_3D_N_PointsAll,
279 NF_C_H_UL2_3D_N_PointsFace,
280 NF_C_H_UL2_3D_Xi, NF_C_H_UL2_3D_Eta, NF_C_H_UL2_3D_Zeta,
281 NF_C_H_UL2_3D_XiArray, NF_C_H_UL2_3D_EtaArray,
282 NF_C_H_UL2_3D_ZetaArray,
283 NF_C_H_UL2_3D_T, NF_C_H_UL2_3D_S,
284 NF_C_H_UL2_3D_EvalAll, NF_C_H_UL2_3D_EvalFace);
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
information for finite element data structure
Definition: BaseCell.h:25