29 #ifndef CORE_BASIS_HEXWEIGHTS_H
30 #define CORE_BASIS_HEXWEIGHTS_H 1
39 template <
class VECTOR>
42 const double x =
static_cast<double>(coords[0]), y = static_cast<double>(coords[1]), z =
static_cast<double>(coords[2]);
43 w[0] = -((-1 + x)*(-1 + y)*(-1 + z));
44 w[1] = x*(-1 + y)*(-1 + z);
45 w[2] = -(x*y*(-1 + z));
46 w[3] = (-1 + x)*y*(-1 + z);
47 w[4] = (-1 + x)*(-1 + y)*z;
48 w[5] = -(x*(-1 + y)*z);
50 w[7] = -((-1 + x)*y*z);
54 template <
class VECTOR>
57 const double x =
static_cast<double>(coords[0]), y = static_cast<double>(coords[1]), z =
static_cast<double>(coords[2]);
58 w[0]=(-1 + y + z - y * z);
59 w[1]= (-1 + y) * (-1 + z);
66 w[8]=(-1 + x + z - x * z);
69 w[11]= (-1 + x) * (-1 + z);
74 w[16]=(-1 + x + y - x * y);
78 w[20]= (-1 + x) * (-1 + y);
86 template<
class VECTOR>
89 const double x=
static_cast<double>(coords[0]), y=static_cast<double>(coords[1]), z=
static_cast<double>(coords[2]);
90 w[0] = (-1 + x)*(-1 + y)*(-1 + z)*(-1 + 2*x + 2*y + 2*z);
91 w[1] = +x*(-1 + y)*(-1 + 2*x - 2*y - 2*z)*(-1 + z);
92 w[2] = -x*y*(-3 + 2*x + 2*y - 2*z)*(-1 + z);
93 w[3] = -(-1 + x)*y*(-1 + z)*(1 + 2*x - 2*y + 2*z);
94 w[4] = -(-1 + x)*(-1 + y)*(1 + 2*x + 2*y - 2*z)*z;
95 w[5] = +x*(-1 + y)*(3 - 2*x + 2*y - 2*z)*z;
96 w[6] = +x*y*z*(-5 + 2*x + 2*y + 2*z);
97 w[7] = +(-1 + x)*y*(3 + 2*x - 2*y - 2*z)*z;
98 w[8] = -4*(-1 + x)*x*(-1 + y)*(-1 + z);
99 w[9] = +4*x*(-1 +y)*y*(-1 + z);
100 w[10] = +4*(-1 + x)*x*y*(-1 + z);
101 w[11] = -4*(-1 + x)*(-1 + y)*y*(-1 + z);
102 w[12] = -4*(-1 + x)*(-1 + y)*(-1 + z)*z;
103 w[13] = +4*x*(-1 + y)*(-1 + z)*z;
104 w[14] = +4*(-1 + x)*y*(-1 + z)*z;
105 w[15] = -4*x*y*(-1 + z)*z;
106 w[16] = +4*(-1 + x)*x*(-1 + y)*z;
107 w[17] = -4*x*(-1 + y)*y*z;
108 w[18] = -4*(-1 + x)*x*y*z;
109 w[19] = +4*(-1 + x)*(-1 + y)*y*z;
113 template<
class VECTOR>
116 const double x=
static_cast<double>(coords[0]), y=static_cast<double>(coords[1]), z=
static_cast<double>(coords[2]);
117 w[0]=(-1 + y)*(-1 + z)*(-3 + 4*x + 2*y + 2*z);
118 w[1]=-((-1 + y)*(-1 + z)*(1 - 4*x + 2*y + 2*z));
119 w[2]=-(y*(-3 + 4*x + 2*y - 2*z)*(-1 + z));
120 w[3]=+y*(1 - 4*x + 2*y - 2*z)*(-1 + z);
121 w[4]=-((-1 + y)*(-1 + 4*x + 2*y - 2*z)*z);
122 w[5]=+(-1 + y)*(3 - 4*x + 2*y - 2*z)*z;
123 w[6]=+y*z*(-5 + 4*x + 2*y + 2*z);
124 w[7]=+y*(1 + 4*x - 2*y - 2*z)*z;
125 w[8]=-4*(-1 + 2*x)*(-1 + y)*(-1 + z);
126 w[9]=+4*(-1 + y)*y*(-1 + z);
127 w[10]=+4*(-1 + 2*x)*y*(-1 + z);
128 w[11]=+4*y*(-1 + y + z - y*z);
129 w[12]=+4*z*(-1 + y + z - y*z);
130 w[13]=+4*(-1 + y)*(-1 + z)*z;
131 w[14]=+4*y*(-1 + z)*z;
132 w[15]=-4*y*(-1 + z)*z;
133 w[16]=+4*(-1 + 2*x)*(-1 + y)*z;
134 w[17]=-4*(-1 + y)*y*z;
135 w[18]=+4*(1 - 2*x)*y*z;
136 w[19]=+4*(-1 + y)*y*z;
138 w[20]=(-1 + x)*(-1 + z)*(-3 + 2*x + 4*y + 2*z);
139 w[21]=+x*(1 + 2*x - 4*y - 2*z)*(-1 + z);
140 w[22]=-(x*(-3 + 2*x + 4*y - 2*z)*(-1 + z));
141 w[23]=-((-1 + x)*(-1 + z)*(1 + 2*x - 4*y + 2*z));
142 w[24]=-((-1 + x)*(-1 + 2*x + 4*y - 2*z)*z);
143 w[25]=+x*(1 - 2*x + 4*y - 2*z)*z;
144 w[26]=+x*z*(-5 + 2*x + 4*y + 2*z);
145 w[27]=+(-1 + x)*(3 + 2*x - 4*y - 2*z)*z;
146 w[28]=+4*x*(-1 + x + z - x*z);
147 w[29]=+4*x*(-1 + 2*y)*(-1 + z);
148 w[30]=+4*(-1 + x)*x*(-1 + z);
149 w[31]=-4*(-1 + x)*(-1 + 2*y)*(-1 + z);
150 w[32]=+4*z*(-1 + x + z - x*z);
151 w[33]=+4*x*(-1 + z)*z;
152 w[34]=+4*(-1 + x)*(-1 + z)*z;
153 w[35]=-4*x*(-1 + z)*z;
154 w[36]=+4*(-1 + x)*x*z;
155 w[37]=+4*x*(1 - 2*y)*z;
156 w[38]=-4*(-1 + x)*x*z;
157 w[39]=+4*(-1 + x)*(-1 + 2*y)*z;
159 w[40]=(-1 + x)*(-1 + y)*(-3 + 2*x + 2*y + 4*z);
160 w[41]=+x*(-1 + y)*(1 + 2*x - 2*y - 4*z);
161 w[42]=+x*y*(1 - 2*x - 2*y + 4*z);
162 w[43]=-((-1 + x)*y*(-1 + 2*x - 2*y + 4*z));
163 w[44]=-((-1 + x)*(-1 + y)*(1 + 2*x + 2*y - 4*z));
164 w[45]=+x*(-1 + y)*(3 - 2*x + 2*y - 4*z);
165 w[46]=+x*y*(-5 + 2*x + 2*y + 4*z);
166 w[47]=+(-1 + x)*y*(3 + 2*x - 2*y - 4*z);
167 w[48]=+4*x*(-1 + x + y - x*y);
168 w[49]=+4*x*(-1 + y)*y;
169 w[50]=+4*(-1 + x)*x*y;
170 w[51]=+4*y*(-1 + x + y - x*y);
171 w[52]=-4*(-1 + x)*(-1 + y)*(-1 + 2*z);
172 w[53]=+4*x*(-1 + y)*(-1 + 2*z);
173 w[54]=+4*(-1 + x)*y*(-1 + 2*z);
174 w[55]=+4*x*y*(1 - 2*z);
175 w[56]=+4*(-1 + x)*x*(-1 + y);
176 w[57]=-4*x*(-1 + y)*y;
177 w[58]=-4*(-1 + x)*x*y;
178 w[59]=+4*(-1 + x)*(-1 + y)*y;
183 template <
class VECTOR>
186 const double x=
static_cast<double>(coords[0]), y=static_cast<double>(coords[1]), z=
static_cast<double>(coords[2]);
190 const double x12=(x-1)*(x-1);
191 const double y12=(y-1)*(y-1);
192 const double z12=(z-1)*(z-1);
194 w[0] = x12*(1 + 2*x)*y12*(1 + 2*y)*z12*(1 + 2*z);
195 w[1] = +x12*x*y12*(1 + 2*y)*z12*(1 + 2*z);
196 w[2] = +x12*(1 + 2*x)*y12*y*z12*(1 + 2*z);
197 w[3] = +x12*(1 + 2*x)*y12*(1 + 2*y)*z12*z;
198 w[4] = +x12*x*y12*y*z12*(1 + 2*z);
199 w[5] = +x12*(1 + 2*x)*y12*y*z12*z;
200 w[6] = +x12*x*y12*(1 + 2*y)*z12*z;
201 w[7] = +x12*x*y12*y*z12*z;
202 w[8] = -(x2*(-3 + 2*x)*y12*(1 + 2*y)*z12*(1 + 2*z));
203 w[9] = +(-1 + x)*x2*y12*(1 + 2*y)*z12*(1 + 2*z);
204 w[10] = -(x2*(-3 + 2*x)*y12*y*z12*(1 + 2*z));
205 w[11] = -(x2*(-3 + 2*x)*y12*(1 + 2*y)*z12*z);
206 w[12] = +(-1 + x)*x2*y12*y*z12*(1 + 2*z);
207 w[13] = -(x2*(-3 + 2*x)*y12*y*z12*z) ;
208 w[14] = +(-1 + x)*x2*y12*(1 + 2*y)*z12*z;
209 w[15] = +(-1 + x)*x2*y12*y*z12*z;
210 w[16] = +x2*(-3 + 2*x)*y2*(-3 + 2*y)*z12*(1 + 2*z);
211 w[17] = -((-1 + x)*x2*y2*(-3 + 2*y)*z12*(1 + 2*z));
212 w[18] = -(x2*(-3 + 2*x)*(-1 + y)*y2*z12*(1 + 2*z));
213 w[19] = +x2*(-3 + 2*x)*y2*(-3 + 2*y)*z12*z;
214 w[20] = +(-1 + x)*x2*(-1 + y)*y2*z12*(1 + 2*z);
215 w[21] = -(x2*(-3 + 2*x)*(-1 + y)*y2*z12*z);
216 w[22] = -((-1 + x)*x2*y2*(-3 + 2*y)*z12*z);
217 w[23] = +(-1 + x)*x2*(-1 + y)*y2*z12*z;
218 w[24] = -(x12*(1 + 2*x)*y2*(-3 + 2*y)*z12*(1 + 2*z));
219 w[25] = -(x12*x*y2*(-3 + 2*y)*z12*(1 + 2*z));
220 w[26] = +x12*(1 + 2*x)*(-1 + y)*y2*z12*(1 + 2*z);
221 w[27] = -(x12*(1 + 2*x)*y2*(-3 + 2*y)*z12*z);
222 w[28] = +x12*x*(-1 + y)*y2*z12*(1 + 2*z);
223 w[29] = +x12*(1 + 2*x)*(-1 + y)*y2*z12*z;
224 w[30] = -(x12*x*y2*(-3 + 2*y)*z12*z);
225 w[31] = +x12*x*(-1 + y)*y2*z12*z;
226 w[32] = -(x12*(1 + 2*x)*y12*(1 + 2*y)*z2*(-3 + 2*z));
227 w[33] = -(x12*x*y12*(1 + 2*y)*z2*(-3 + 2*z));
228 w[34] = -(x12*(1 + 2*x)*y12*y*z2*(-3 + 2*z));
229 w[35] = +x12*(1 + 2*x)*y12*(1 + 2*y)*(-1 + z)*z2;
230 w[36] = -(x12*x*y12*y*z2*(-3 + 2*z));
231 w[37] = +x12*(1 + 2*x)*y12*y*(-1 + z)*z2;
232 w[38] = +x12*x*y12*(1 + 2*y)*(-1 + z)*z2;
233 w[39] = +x12*x*y12*y*(-1 + z)*z2;
234 w[40] = +x2*(-3 + 2*x)*y12*(1 + 2*y)*z2*(-3 + 2*z);
235 w[41] = -((-1 + x)*x2*y12*(1 + 2*y)*z2*(-3 + 2*z));
236 w[42] = +x2*(-3 + 2*x)*y12*y*z2*(-3 + 2*z);
237 w[43] = -(x2*(-3 + 2*x)*y12*(1 + 2*y)*(-1 + z)*z2);
238 w[44] = -((-1 + x)*x2*y12*y*z2*(-3 + 2*z));
239 w[45] = -(x2*(-3 + 2*x)*y12*y*(-1 + z)*z2);
240 w[46] = +(-1 + x)*x2*y12*(1 + 2*y)*(-1 + z)*z2;
241 w[47] = +(-1 + x)*x2*y12*y*(-1 + z)*z2;
242 w[48] = -(x2*(-3 + 2*x)*y2*(-3 + 2*y)*z2*(-3 + 2*z));
243 w[49] = +(-1 + x)*x2*y2*(-3 + 2*y)*z2*(-3 + 2*z);
244 w[50] = +x2*(-3 + 2*x)*(-1 + y)*y2*z2*(-3 + 2*z);
245 w[51] = +x2*(-3 + 2*x)*y2*(-3 + 2*y)*(-1 + z)*z2;
246 w[52] = -((-1 + x)*x2*(-1 + y)*y2*z2*(-3 + 2*z));
247 w[53] = -(x2*(-3 + 2*x)*(-1 + y)*y2*(-1 + z)*z2);
248 w[54] = -((-1 + x)*x2*y2*(-3 + 2*y)*(-1 + z)*z2);
249 w[55] = +(-1 + x)*x2*(-1 + y)*y2*(-1 + z)*z2;
250 w[56] = +x12*(1 + 2*x)*y2*(-3 + 2*y)*z2*(-3 + 2*z);
251 w[57] = +x12*x*y2*(-3 + 2*y)*z2*(-3 + 2*z);
252 w[58] = -(x12*(1 + 2*x)*(-1 + y)*y2*z2*(-3 + 2*z));
253 w[59] = -(x12*(1 + 2*x)*y2*(-3 + 2*y)*(-1 + z)*z2);
254 w[60] = -(x12*x*(-1 + y)*y2*z2*(-3 + 2*z));
255 w[61] = +x12*(1 + 2*x)*(-1 + y)*y2*(-1 + z)*z2;
256 w[62] = -(x12*x*y2*(-3 + 2*y)*(-1 + z)*z2);
257 w[63] = +x12*x*(-1 + y)*y2*(-1 + z)*z2;
261 template <
class VECTOR>
264 const double x=
static_cast<double>(coords[0]), y=static_cast<double>(coords[1]), z=
static_cast<double>(coords[2]);
268 const double x12=(x-1)*(x-1);
269 const double y12=(y-1)*(y-1);
270 const double z12=(z-1)*(z-1);
272 w[0]=6*(-1 + x)*x*y12*(1 + 2*y)*z12*(1 + 2*z);
273 w[1]=+(1 - 4*x + 3*x2)*y12*(1 + 2*y)*z12*(1 + 2*z);
274 w[2]=+6*(-1 + x)*x*y12*y*z12*(1 + 2*z);
275 w[3]=+6*(-1 + x)*x*y12*(1 + 2*y)*z12*z;
276 w[4]=+(1 - 4*x + 3*x2)*y12*y*z12*(1 + 2*z);
277 w[5]=+6*(-1 + x)*x*y12*y*z12*z;
278 w[6]=+(1 - 4*x + 3*x2)*y12*(1 + 2*y)*z12*z;
279 w[7]=+(1 - 4*x + 3*x2)*y12*y*z12*z;
280 w[8]=-6*(-1 + x)*x*y12*(1 + 2*y)*z12*(1 + 2*z);
281 w[9]=+x*(-2 + 3*x)*y12*(1 + 2*y)*z12*(1 + 2*z);
282 w[10]=-6*(-1 + x)*x*y12*y*z12*(1 + 2*z);
283 w[11]=-6*(-1 + x)*x*y12*(1 + 2*y)*z12*z;
284 w[12]=+x*(-2 + 3*x)*y12*y*z12*(1 + 2*z);
285 w[13]=-6*(-1 + x)*x*y12*y*z12*z;
286 w[14]=+x*(-2 + 3*x)*y12*(1 + 2*y)*z12*z;
287 w[15]=+x*(-2 + 3*x)*y12*y*z12*z;
288 w[16]=+6*(-1 + x)*x*y2*(-3 + 2*y)*z12*(1 + 2*z);
289 w[17]=-(x*(-2 + 3*x)*y2*(-3 + 2*y)*z12*(1 + 2*z));
290 w[18]=-6*(-1 + x)*x*(-1 + y)*y2*z12*(1 + 2*z);
291 w[19]=+6*(-1 + x)*x*y2*(-3 + 2*y)*z12*z;
292 w[20]=+x*(-2 + 3*x)*(-1 + y)*y2*z12*(1 + 2*z);
293 w[21]=-6*(-1 + x)*x*(-1 + y)*y2*z12*z;
294 w[22]=-(x*(-2 + 3*x)*y2*(-3 + 2*y)*z12*z);
295 w[23]=+x*(-2 + 3*x)*(-1 + y)*y2*z12*z;
296 w[24]=-6*(-1 + x)*x*y2*(-3 + 2*y)*z12*(1 + 2*z);
297 w[25]=-((1 - 4*x + 3*x2)*y2*(-3 + 2*y)*z12*(1 + 2*z));
298 w[26]=+6*(-1 + x)*x*(-1 + y)*y2*z12*(1 + 2*z);
299 w[27]=-6*(-1 + x)*x*y2*(-3 + 2*y)*z12*z;
300 w[28]=+(1 - 4*x + 3*x2)*(-1 + y)*y2*z12*(1 + 2*z);
301 w[29]=+6*(-1 + x)*x*(-1 + y)*y2*z12*z;
302 w[30]=-((1 - 4*x + 3*x2)*y2*(-3 + 2*y)*z12*z);
303 w[31]=+(1 - 4*x + 3*x2)*(-1 + y)*y2*z12*z;
304 w[32]=-6*(-1 + x)*x*y12*(1 + 2*y)*z2*(-3 + 2*z);
305 w[33]=-((1 - 4*x + 3*x2)*y12*(1 + 2*y)*z2*(-3 + 2*z));
306 w[34]=-6*(-1 + x)*x*y12*y*z2*(-3 + 2*z);
307 w[35]=+6*(-1 + x)*x*y12*(1 + 2*y)*(-1 + z)*z2;
308 w[36]=-((1 - 4*x + 3*x2)*y12*y*z2*(-3 + 2*z));
309 w[37]=+6*(-1 + x)*x*y12*y*(-1 + z)*z2;
310 w[38]=+(1 - 4*x + 3*x2)*y12*(1 + 2*y)*(-1 + z)*z2;
311 w[39]=+(1 - 4*x + 3*x2)*y12*y*(-1 + z)*z2;
312 w[40]=+6*(-1 + x)*x*y12*(1 + 2*y)*z2*(-3 + 2*z);
313 w[41]=-(x*(-2 + 3*x)*y12*(1 + 2*y)*z2*(-3 + 2*z));
314 w[42]=+6*(-1 + x)*x*y12*y*z2*(-3 + 2*z);
315 w[43]=-6*(-1 + x)*x*y12*(1 + 2*y)*(-1 + z)*z2;
316 w[44]=-(x*(-2 + 3*x)*y12*y*z2*(-3 + 2*z));
317 w[45]=-6*(-1 + x)*x*y12*y*(-1 + z)*z2;
318 w[46]=+x*(-2 + 3*x)*y12*(1 + 2*y)*(-1 + z)*z2;
319 w[47]=+x*(-2 + 3*x)*y12*y*(-1 + z)*z2;
320 w[48]=-6*(-1 + x)*x*y2*(-3 + 2*y)*z2*(-3 + 2*z);
321 w[49]=+x*(-2 + 3*x)*y2*(-3 + 2*y)*z2*(-3 + 2*z);
322 w[50]=+6*(-1 + x)*x*(-1 + y)*y2*z2*(-3 + 2*z);
323 w[51]=+6*(-1 + x)*x*y2*(-3 + 2*y)*(-1 + z)*z2;
324 w[52]=-(x*(-2 + 3*x)*(-1 + y)*y2*z2*(-3 + 2*z));
325 w[53]=-6*(-1 + x)*x*(-1 + y)*y2*(-1 + z)*z2;
326 w[54]=-(x*(-2 + 3*x)*y2*(-3 + 2*y)*(-1 + z)*z2);
327 w[55]=+x*(-2 + 3*x)*(-1 + y)*y2*(-1 + z)*z2;
328 w[56]=+6*(-1 + x)*x*y2*(-3 + 2*y)*z2*(-3 + 2*z);
329 w[57]=+(1 - 4*x + 3*x2)*y2*(-3 + 2*y)*z2*(-3 + 2*z);
330 w[58]=-6*(-1 + x)*x*(-1 + y)*y2*z2*(-3 + 2*z);
331 w[59]=-6*(-1 + x)*x*y2*(-3 + 2*y)*(-1 + z)*z2;
332 w[60]=-((1 - 4*x + 3*x2)*(-1 + y)*y2*z2*(-3 + 2*z));
333 w[61]=+6*(-1 + x)*x*(-1 + y)*y2*(-1 + z)*z2;
334 w[62]=-((1 - 4*x + 3*x2)*y2*(-3 + 2*y)*(-1 + z)*z2);
335 w[63]=+(1 - 4*x + 3*x2)*(-1 + y)*y2*(-1 + z)*z2;
337 w[64]=6*x12*(1 + 2*x)*(-1 + y)*y*z12*(1 + 2*z);
338 w[65]=+6*x12*x*(-1 + y)*y*z12*(1 + 2*z);
339 w[66]=+x12*(1 + 2*x)*(1 - 4*y + 3*y2)*z12*(1 + 2*z);
340 w[67]=+6*x12*(1 + 2*x)*(-1 + y)*y*z12*z;
341 w[68]=+x12*x*(1 - 4*y + 3*y2)*z12*(1 + 2*z);
342 w[69]=+x12*(1 + 2*x)*(1 - 4*y + 3*y2)*z12*z;
343 w[70]=+6*x12*x*(-1 + y)*y*z12*z;
344 w[71]=+x12*x*(1 - 4*y + 3*y2)*z12*z;
345 w[72]=-6*x2*(-3 + 2*x)*(-1 + y)*y*z12*(1 + 2*z);
346 w[73]=+6*(-1 + x)*x2*(-1 + y)*y*z12*(1 + 2*z);
347 w[74]=-(x2*(-3 + 2*x)*(1 - 4*y + 3*y2)*z12*(1 + 2*z));
348 w[75]=-6*x2*(-3 + 2*x)*(-1 + y)*y*z12*z;
349 w[76]=+(-1 + x)*x2*(1 - 4*y + 3*y2)*z12*(1 + 2*z);
350 w[77]=-(x2*(-3 + 2*x)*(1 - 4*y + 3*y2)*z12*z);
351 w[78]=+6*(-1 + x)*x2*(-1 + y)*y*z12*z;
352 w[79]=+(-1 + x)*x2*(1 - 4*y + 3*y2)*z12*z;
353 w[80]=+6*x2*(-3 + 2*x)*(-1 + y)*y*z12*(1 + 2*z);
354 w[81]=-6*(-1 + x)*x2*(-1 + y)*y*z12*(1 + 2*z);
355 w[82]=-(x2*(-3 + 2*x)*y*(-2 + 3*y)*z12*(1 + 2*z));
356 w[83]=+6*x2*(-3 + 2*x)*(-1 + y)*y*z12*z;
357 w[84]=+(-1 + x)*x2*y*(-2 + 3*y)*z12*(1 + 2*z);
358 w[85]=-(x2*(-3 + 2*x)*y*(-2 + 3*y)*z12*z);
359 w[86]=-6*(-1 + x)*x2*(-1 + y)*y*z12*z;
360 w[87]=+(-1 + x)*x2*y*(-2 + 3*y)*z12*z;
361 w[88]=-6*x12*(1 + 2*x)*(-1 + y)*y*z12*(1 + 2*z);
362 w[89]=-6*x12*x*(-1 + y)*y*z12*(1 + 2*z);
363 w[90]=+x12*(1 + 2*x)*y*(-2 + 3*y)*z12*(1 + 2*z);
364 w[91]=-6*x12*(1 + 2*x)*(-1 + y)*y*z12*z;
365 w[92]=+x12*x*y*(-2 + 3*y)*z12*(1 + 2*z);
366 w[93]=+x12*(1 + 2*x)*y*(-2 + 3*y)*z12*z;
367 w[94]=-6*x12*x*(-1 + y)*y*z12*z;
368 w[95]=+x12*x*y*(-2 + 3*y)*z12*z;
369 w[96]=-6*x12*(1 + 2*x)*(-1 + y)*y*z2*(-3 + 2*z);
370 w[97]=-6*x12*x*(-1 + y)*y*z2*(-3 + 2*z);
371 w[98]=-(x12*(1 + 2*x)*(1 - 4*y + 3*y2)*z2*(-3 + 2*z));
372 w[99]=+6*x12*(1 + 2*x)*(-1 + y)*y*(-1 + z)*z2;
373 w[100]=-(x12*x*(1 - 4*y + 3*y2)*z2*(-3 + 2*z));
374 w[101]=+x12*(1 + 2*x)*(1 - 4*y + 3*y2)*(-1 + z)*z2;
375 w[102]=+6*x12*x*(-1 + y)*y*(-1 + z)*z2;
376 w[103]=+x12*x*(1 - 4*y + 3*y2)*(-1 + z)*z2;
377 w[104]=+6*x2*(-3 + 2*x)*(-1 + y)*y*z2*(-3 + 2*z);
378 w[105]=-6*(-1 + x)*x2*(-1 + y)*y*z2*(-3 + 2*z);
379 w[106]=+x2*(-3 + 2*x)*(1 - 4*y + 3*y2)*z2*(-3 + 2*z);
380 w[107]=-6*x2*(-3 + 2*x)*(-1 + y)*y*(-1 + z)*z2;
381 w[108]=-((-1 + x)*x2*(1 - 4*y + 3*y2)*z2*(-3 + 2*z));
382 w[109]=-(x2*(-3 + 2*x)*(1 - 4*y + 3*y2)*(-1 + z)*z2);
383 w[110]=+6*(-1 + x)*x2*(-1 + y)*y*(-1 + z)*z2;
384 w[111]=+(-1 + x)*x2*(1 - 4*y + 3*y2)*(-1 + z)*z2;
385 w[112]=-6*x2*(-3 + 2*x)*(-1 + y)*y*z2*(-3 + 2*z);
386 w[113]=+6*(-1 + x)*x2*(-1 + y)*y*z2*(-3 + 2*z);
387 w[114]=+x2*(-3 + 2*x)*y*(-2 + 3*y)*z2*(-3 + 2*z);
388 w[115]=+6*x2*(-3 + 2*x)*(-1 + y)*y*(-1 + z)*z2;
389 w[116]=-((-1 + x)*x2*y*(-2 + 3*y)*z2*(-3 + 2*z));
390 w[117]=-(x2*(-3 + 2*x)*y*(-2 + 3*y)*(-1 + z)*z2);
391 w[118]=-6*(-1 + x)*x2*(-1 + y)*y*(-1 + z)*z2;
392 w[119]=+(-1 + x)*x2*y*(-2 + 3*y)*(-1 + z)*z2;
393 w[120]=+6*x12*(1 + 2*x)*(-1 + y)*y*z2*(-3 + 2*z);
394 w[121]=+6*x12*x*(-1 + y)*y*z2*(-3 + 2*z);
395 w[122]=-(x12*(1 + 2*x)*y*(-2 + 3*y)*z2*(-3 + 2*z));
396 w[123]=-6*x12*(1 + 2*x)*(-1 + y)*y*(-1 + z)*z2;
397 w[124]=-(x12*x*y*(-2 + 3*y)*z2*(-3 + 2*z));
398 w[125]=+x12*(1 + 2*x)*y*(-2 + 3*y)*(-1 + z)*z2;
399 w[126]=-6*x12*x*(-1 + y)*y*(-1 + z)*z2;
400 w[127]=+x12*x*y*(-2 + 3*y)*(-1 + z)*z2;
402 w[128]=6*x12*(1 + 2*x)*y12*(1 + 2*y)*(-1 + z);
403 w[129]=+6*x12*x*y12*(1 + 2*y)*(-1 + z)*z;
404 w[130]=+6*x12*(1 + 2*x)*y12*y*(-1 + z)*z;
405 w[131]=+x12*(1 + 2*x)*y12*(1 + 2*y)*(1 - 4*z + 3*z2);
406 w[132]=+6*x12*x*y12*y*(-1 + z)*z;
407 w[133]=+x12*(1 + 2*x)*y12*y*(1 - 4*z + 3*z2);
408 w[134]=+x12*x*y12*(1 + 2*y)*(1 - 4*z + 3*z2);
409 w[135]=+x12*x*y12*y*(1 - 4*z + 3*z2);
410 w[136]=-6*x2*(-3 + 2*x)*y12*(1 + 2*y)*(-1 + z)*z;
411 w[137]=+6*(-1 + x)*x2*y12*(1 + 2*y)*(-1 + z)*z;
412 w[138]=-6*x2*(-3 + 2*x)*y12*y*(-1 + z)*z;
413 w[139]=-(x2*(-3 + 2*x)*y12*(1 + 2*y)*(1 - 4*z + 3*z2));
414 w[140]=+6*(-1 + x)*x2*y12*y*(-1 + z)*z;
415 w[141]=-(x2*(-3 + 2*x)*y12*y*(1 - 4*z + 3*z2));
416 w[142]=+(-1 + x)*x2*y12*(1 + 2*y)*(1 - 4*z + 3*z2);
417 w[143]=+(-1 + x)*x2*y12*y*(1 - 4*z + 3*z2);
418 w[144]=+6*x2*(-3 + 2*x)*y2*(-3 + 2*y)*(-1 + z)*z;
419 w[145]=-6*(-1 + x)*x2*y2*(-3 + 2*y)*(-1 + z)*z;
420 w[146]=-6*x2*(-3 + 2*x)*(-1 + y)*y2*(-1 + z)*z;
421 w[147]=+x2*(-3 + 2*x)*y2*(-3 + 2*y)*(1 - 4*z + 3*z2);
422 w[148]=+6*(-1 + x)*x2*(-1 + y)*y2*(-1 + z)*z;
423 w[149]=-(x2*(-3 + 2*x)*(-1 + y)*y2*(1 - 4*z + 3*z2));
424 w[150]=-((-1 + x)*x2*y2*(-3 + 2*y)*(1 - 4*z + 3*z2));
425 w[151]=+(-1 + x)*x2*(-1 + y)*y2*(1 - 4*z + 3*z2);
426 w[152]=-6*x12*(1 + 2*x)*y2*(-3 + 2*y)*(-1 + z)*z;
427 w[153]=-6*x12*x*y2*(-3 + 2*y)*(-1 + z)*z;
428 w[154]=+6*x12*(1 + 2*x)*(-1 + y)*y2*(-1 + z)*z;
429 w[155]=-(x12*(1 + 2*x)*y2*(-3 + 2*y)*(1 - 4*z + 3*z2));
430 w[156]=+6*x12*x*(-1 + y)*y2*(-1 + z)*z;
431 w[157]=+x12*(1 + 2*x)*(-1 + y)*y2*(1 - 4*z + 3*z2);
432 w[158]=-(x12*x*y2*(-3 + 2*y)*(1 - 4*z + 3*z2));
433 w[159]=+x12*x*(-1 + y)*y2*(1 - 4*z + 3*z2);
434 w[160]=-6*x12*(1 + 2*x)*y12*(1 + 2*y)*(-1 + z)*z;
435 w[161]=-6*x12*x*y12*(1 + 2*y)*(-1 + z)*z;
436 w[162]=-6*x12*(1 + 2*x)*y12*y*(-1 + z)*z;
437 w[163]=+x12*(1 + 2*x)*y12*(1 + 2*y)*z*(-2 + 3*z);
438 w[164]=-6*x12*x*y12*y*(-1 + z)*z;
439 w[165]=+x12*(1 + 2*x)*y12*y*z*(-2 + 3*z);
440 w[166]=+x12*x*y12*(1 + 2*y)*z*(-2 + 3*z);
441 w[167]=+x12*x*y12*y*z*(-2 + 3*z);
442 w[168]=+6*x2*(-3 + 2*x)*y12*(1 + 2*y)*(-1 + z)*z;
443 w[169]=-6*(-1 + x)*x2*y12*(1 + 2*y)*(-1 + z)*z;
444 w[170]=+6*x2*(-3 + 2*x)*y12*y*(-1 + z)*z;
445 w[171]=-(x2*(-3 + 2*x)*y12*(1 + 2*y)*z*(-2 + 3*z));
446 w[172]=-6*(-1 + x)*x2*y12*y*(-1 + z)*z;
447 w[173]=-(x2*(-3 + 2*x)*y12*y*z*(-2 + 3*z));
448 w[174]=+(-1 + x)*x2*y12*(1 + 2*y)*z*(-2 + 3*z);
449 w[175]=+(-1 + x)*x2*y12*y*z*(-2 + 3*z);
450 w[176]=-6*x2*(-3 + 2*x)*y2*(-3 + 2*y)*(-1 + z)*z;
451 w[177]=+6*(-1 + x)*x2*y2*(-3 + 2*y)*(-1 + z)*z;
452 w[178]=+6*x2*(-3 + 2*x)*(-1 + y)*y2*(-1 + z)*z;
453 w[179]=+x2*(-3 + 2*x)*y2*(-3 + 2*y)*z*(-2 + 3*z);
454 w[180]=-6*(-1 + x)*x2*(-1 + y)*y2*(-1 + z)*z;
455 w[181]=-(x2*(-3 + 2*x)*(-1 + y)*y2*z*(-2 + 3*z));
456 w[182]=-((-1 + x)*x2*y2*(-3 + 2*y)*z*(-2 + 3*z));
457 w[183]=+(-1 + x)*x2*(-1 + y)*y2*z*(-2 + 3*z);
458 w[184]=+6*x12*(1 + 2*x)*y2*(-3 + 2*y)*(-1 + z)*z;
459 w[185]=+6*x12*x*y2*(-3 + 2*y)*(-1 + z)*z;
460 w[186]=-6*x12*(1 + 2*x)*(-1 + y)*y2*(-1 + z)*z;
461 w[187]=-(x12*(1 + 2*x)*y2*(-3 + 2*y)*z*(-2 + 3*z));
462 w[188]=-6*x12*x*(-1 + y)*y2*(-1 + z)*z;
463 w[189]=+x12*(1 + 2*x)*(-1 + y)*y2*z*(-2 + 3*z);
464 w[190]=-(x12*x*y2*(-3 + 2*y)*z*(-2 + 3*z));
465 w[191]=+x12*x*(-1 + y)*y2*z*(-2 + 3*z);
void get_cubic_derivate_weights(const VECTOR &coords, unsigned int elem, double *w) const
get derivative weight factors at parametric coordinate
Definition: HexElementsWeights.h:262
Definition: HexElementsWeights.h:36
void get_linear_weights(const VECTOR &coords, double *w) const
Definition: HexElementsWeights.h:40
void get_quadratic_weights(const VECTOR &coords, double *w) const
get weight factors at parametric coordinate
Definition: HexElementsWeights.h:87
int num_hderivs()
Definition: HexElementsWeights.h:470
int num_derivs()
Definition: HexElementsWeights.h:469
void get_cubic_weights(const VECTOR &coords, unsigned int elem, double *w) const
Definition: HexElementsWeights.h:184
void get_linear_derivate_weights(const VECTOR &coords, double *w) const
get derivative weight factors at parametric coordinate
Definition: HexElementsWeights.h:55
void get_quadratic_derivate_weights(const VECTOR &coords, double *w) const
get weight factors of derivative at parametric coordinate
Definition: HexElementsWeights.h:114