ParMooN
 All Classes Functions Variables Friends Pages
BF_C_H_Q4_3D.h
1 // ***********************************************************************
2 // Q4 element, conforming, 3D
3 // ***********************************************************************
4 
5 static void C_H_Q4_3D_Funct(double xi, double eta, double zeta,
6  double *values)
7 {
8  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
9  double t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t27, t28, t29;
10  double t30, t31, t32, t36, t37, t39, t40, t42, t43, t45, t46, t47, t48;
11  double t49, t50, t52, t54, t56, t58, t62, t63, t65, t67, t69, t71, t73;
12  double t74, t76, t78, t80, t82, t84, t85, t87, t89, t91, t93, t95, t96;
13  double t97, t98, t99, t127, t153, t179;
14 
15  t1 = xi/6.0;
16  t2 = xi*xi;
17  t3 = t2/6.0;
18  t4 = t2*xi;
19  t5 = 2.0/3.0*t4;
20  t6 = t2*t2;
21  t7 = 2.0/3.0*t6;
22  t8 = t1-t3-t5+t7;
23  t9 = eta/6.0;
24  t10 = eta*eta;
25  t11 = t10/6.0;
26  t12 = t10*eta;
27  t13 = 2.0/3.0*t12;
28  t14 = t10*t10;
29  t15 = 2.0/3.0*t14;
30  t16 = t9-t11-t13+t15;
31  t17 = t8*t16;
32  t18 = zeta/6.0;
33  t19 = zeta*zeta;
34  t20 = t19/6.0;
35  t21 = t19*zeta;
36  t22 = 2.0/3.0*t21;
37  t23 = t19*t19;
38  t24 = 2.0/3.0*t23;
39  t25 = t18-t20-t22+t24;
40  t27 = 4.0/3.0*xi;
41  t28 = 8.0/3.0*t2;
42  t29 = 4.0/3.0*t4;
43  t30 = 8.0/3.0*t6;
44  t31 = -t27+t28+t29-t30;
45  t32 = t31*t16;
46  t36 = 1.0-5.0*t2+4.0*t6;
47  t37 = t36*t16;
48  t39 = t27+t28-t29-t30;
49  t40 = t39*t16;
50  t42 = -t1-t3+t5+t7;
51  t43 = t42*t16;
52  t45 = 4.0/3.0*eta;
53  t46 = 8.0/3.0*t10;
54  t47 = 4.0/3.0*t12;
55  t48 = 8.0/3.0*t14;
56  t49 = -t45+t46+t47-t48;
57  t50 = t8*t49;
58  t52 = t31*t49;
59  t54 = t36*t49;
60  t56 = t39*t49;
61  t58 = t42*t49;
62  t62 = 1.0-5.0*t10+4.0*t14;
63  t63 = t8*t62;
64  t65 = t31*t62;
65  t67 = t36*t62;
66  t69 = t39*t62;
67  t71 = t42*t62;
68  t73 = t45+t46-t47-t48;
69  t74 = t8*t73;
70  t76 = t31*t73;
71  t78 = t36*t73;
72  t80 = t39*t73;
73  t82 = t42*t73;
74  t84 = -t9-t11+t13+t15;
75  t85 = t8*t84;
76  t87 = t31*t84;
77  t89 = t36*t84;
78  t91 = t39*t84;
79  t93 = t42*t84;
80  t95 = 4.0/3.0*zeta;
81  t96 = 8.0/3.0*t19;
82  t97 = 4.0/3.0*t21;
83  t98 = 8.0/3.0*t23;
84  t99 = -t95+t96+t97-t98;
85  t127 = 1.0-5.0*t19+4.0*t23;
86  t153 = t95+t96-t97-t98;
87  t179 = -t18-t20+t22+t24;
88 
89  values[0] = t17*t25;
90  values[1] = t32*t25;
91  values[2] = t37*t25;
92  values[3] = t40*t25;
93  values[4] = t43*t25;
94  values[5] = t50*t25;
95  values[6] = t52*t25;
96  values[7] = t54*t25;
97  values[8] = t56*t25;
98  values[9] = t58*t25;
99  values[10] = t63*t25;
100  values[11] = t65*t25;
101  values[12] = t67*t25;
102  values[13] = t69*t25;
103  values[14] = t71*t25;
104  values[15] = t74*t25;
105  values[16] = t76*t25;
106  values[17] = t78*t25;
107  values[18] = t80*t25;
108  values[19] = t82*t25;
109  values[20] = t85*t25;
110  values[21] = t87*t25;
111  values[22] = t89*t25;
112  values[23] = t91*t25;
113  values[24] = t93*t25;
114  values[25] = t17*t99;
115  values[26] = t32*t99;
116  values[27] = t37*t99;
117  values[28] = t40*t99;
118  values[29] = t43*t99;
119  values[30] = t50*t99;
120  values[31] = t52*t99;
121  values[32] = t54*t99;
122  values[33] = t56*t99;
123  values[34] = t58*t99;
124  values[35] = t63*t99;
125  values[36] = t65*t99;
126  values[37] = t67*t99;
127  values[38] = t69*t99;
128  values[39] = t71*t99;
129  values[40] = t74*t99;
130  values[41] = t76*t99;
131  values[42] = t78*t99;
132  values[43] = t80*t99;
133  values[44] = t82*t99;
134  values[45] = t85*t99;
135  values[46] = t87*t99;
136  values[47] = t89*t99;
137  values[48] = t91*t99;
138  values[49] = t93*t99;
139  values[50] = t17*t127;
140  values[51] = t32*t127;
141  values[52] = t37*t127;
142  values[53] = t40*t127;
143  values[54] = t43*t127;
144  values[55] = t50*t127;
145  values[56] = t52*t127;
146  values[57] = t54*t127;
147  values[58] = t56*t127;
148  values[59] = t58*t127;
149  values[60] = t63*t127;
150  values[61] = t65*t127;
151  values[62] = t67*t127;
152  values[63] = t69*t127;
153  values[64] = t71*t127;
154  values[65] = t74*t127;
155  values[66] = t76*t127;
156  values[67] = t78*t127;
157  values[68] = t80*t127;
158  values[69] = t82*t127;
159  values[70] = t85*t127;
160  values[71] = t87*t127;
161  values[72] = t89*t127;
162  values[73] = t91*t127;
163  values[74] = t93*t127;
164  values[75] = t17*t153;
165  values[76] = t32*t153;
166  values[77] = t37*t153;
167  values[78] = t40*t153;
168  values[79] = t43*t153;
169  values[80] = t50*t153;
170  values[81] = t52*t153;
171  values[82] = t54*t153;
172  values[83] = t56*t153;
173  values[84] = t58*t153;
174  values[85] = t63*t153;
175  values[86] = t65*t153;
176  values[87] = t67*t153;
177  values[88] = t69*t153;
178  values[89] = t71*t153;
179  values[90] = t74*t153;
180  values[91] = t76*t153;
181  values[92] = t78*t153;
182  values[93] = t80*t153;
183  values[94] = t82*t153;
184  values[95] = t85*t153;
185  values[96] = t87*t153;
186  values[97] = t89*t153;
187  values[98] = t91*t153;
188  values[99] = t93*t153;
189  values[100] = t17*t179;
190  values[101] = t32*t179;
191  values[102] = t37*t179;
192  values[103] = t40*t179;
193  values[104] = t43*t179;
194  values[105] = t50*t179;
195  values[106] = t52*t179;
196  values[107] = t54*t179;
197  values[108] = t56*t179;
198  values[109] = t58*t179;
199  values[110] = t63*t179;
200  values[111] = t65*t179;
201  values[112] = t67*t179;
202  values[113] = t69*t179;
203  values[114] = t71*t179;
204  values[115] = t74*t179;
205  values[116] = t76*t179;
206  values[117] = t78*t179;
207  values[118] = t80*t179;
208  values[119] = t82*t179;
209  values[120] = t85*t179;
210  values[121] = t87*t179;
211  values[122] = t89*t179;
212  values[123] = t91*t179;
213  values[124] = t93*t179;
214 }
215 
216 static void C_H_Q4_3D_DeriveXi(double xi, double eta, double zeta,
217  double *values)
218 {
219  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
220  double t16, t17, t18, t19, t20, t21, t22, t23, t25, t26, t27, t28, t29;
221  double t33, t34, t36, t37, t39, t40, t42, t43, t44, t45, t46, t47, t49;
222  double t51, t53, t55, t59, t60, t62, t64, t66, t68, t70, t71, t73, t75;
223  double t77, t79, t81, t82, t84, t86, t88, t90, t92, t93, t94, t95, t96;
224  double t124, t150, t176;
225 
226  t1 = xi/3.0;
227  t2 = xi*xi;
228  t3 = 2.0*t2;
229  t4 = t2*xi;
230  t5 = 8.0/3.0*t4;
231  t6 = 1.0/6.0-t1-t3+t5;
232  t7 = eta/6.0;
233  t8 = eta*eta;
234  t9 = t8/6.0;
235  t10 = t8*eta;
236  t11 = 2.0/3.0*t10;
237  t12 = t8*t8;
238  t13 = 2.0/3.0*t12;
239  t14 = t7-t9-t11+t13;
240  t15 = t6*t14;
241  t16 = zeta/6.0;
242  t17 = zeta*zeta;
243  t18 = t17/6.0;
244  t19 = t17*zeta;
245  t20 = 2.0/3.0*t19;
246  t21 = t17*t17;
247  t22 = 2.0/3.0*t21;
248  t23 = t16-t18-t20+t22;
249  t25 = 16.0/3.0*xi;
250  t26 = 4.0*t2;
251  t27 = 32.0/3.0*t4;
252  t28 = -4.0/3.0+t25+t26-t27;
253  t29 = t28*t14;
254  t33 = -10.0*xi+16.0*t4;
255  t34 = t33*t14;
256  t36 = 4.0/3.0+t25-t26-t27;
257  t37 = t36*t14;
258  t39 = -1.0/6.0-t1+t3+t5;
259  t40 = t39*t14;
260  t42 = 4.0/3.0*eta;
261  t43 = 8.0/3.0*t8;
262  t44 = 4.0/3.0*t10;
263  t45 = 8.0/3.0*t12;
264  t46 = -t42+t43+t44-t45;
265  t47 = t6*t46;
266  t49 = t28*t46;
267  t51 = t33*t46;
268  t53 = t36*t46;
269  t55 = t39*t46;
270  t59 = 1.0-5.0*t8+4.0*t12;
271  t60 = t6*t59;
272  t62 = t28*t59;
273  t64 = t33*t59;
274  t66 = t36*t59;
275  t68 = t39*t59;
276  t70 = t42+t43-t44-t45;
277  t71 = t6*t70;
278  t73 = t28*t70;
279  t75 = t33*t70;
280  t77 = t36*t70;
281  t79 = t39*t70;
282  t81 = -t7-t9+t11+t13;
283  t82 = t6*t81;
284  t84 = t28*t81;
285  t86 = t33*t81;
286  t88 = t36*t81;
287  t90 = t39*t81;
288  t92 = 4.0/3.0*zeta;
289  t93 = 8.0/3.0*t17;
290  t94 = 4.0/3.0*t19;
291  t95 = 8.0/3.0*t21;
292  t96 = -t92+t93+t94-t95;
293  t124 = 1.0-5.0*t17+4.0*t21;
294  t150 = t92+t93-t94-t95;
295  t176 = -t16-t18+t20+t22;
296 
297  values[0] = t15*t23;
298  values[1] = t29*t23;
299  values[2] = t34*t23;
300  values[3] = t37*t23;
301  values[4] = t40*t23;
302  values[5] = t47*t23;
303  values[6] = t49*t23;
304  values[7] = t51*t23;
305  values[8] = t53*t23;
306  values[9] = t55*t23;
307  values[10] = t60*t23;
308  values[11] = t62*t23;
309  values[12] = t64*t23;
310  values[13] = t66*t23;
311  values[14] = t68*t23;
312  values[15] = t71*t23;
313  values[16] = t73*t23;
314  values[17] = t75*t23;
315  values[18] = t77*t23;
316  values[19] = t79*t23;
317  values[20] = t82*t23;
318  values[21] = t84*t23;
319  values[22] = t86*t23;
320  values[23] = t88*t23;
321  values[24] = t90*t23;
322  values[25] = t15*t96;
323  values[26] = t29*t96;
324  values[27] = t34*t96;
325  values[28] = t37*t96;
326  values[29] = t40*t96;
327  values[30] = t47*t96;
328  values[31] = t49*t96;
329  values[32] = t51*t96;
330  values[33] = t53*t96;
331  values[34] = t55*t96;
332  values[35] = t60*t96;
333  values[36] = t62*t96;
334  values[37] = t64*t96;
335  values[38] = t66*t96;
336  values[39] = t68*t96;
337  values[40] = t71*t96;
338  values[41] = t73*t96;
339  values[42] = t75*t96;
340  values[43] = t77*t96;
341  values[44] = t79*t96;
342  values[45] = t82*t96;
343  values[46] = t84*t96;
344  values[47] = t86*t96;
345  values[48] = t88*t96;
346  values[49] = t90*t96;
347  values[50] = t15*t124;
348  values[51] = t29*t124;
349  values[52] = t34*t124;
350  values[53] = t37*t124;
351  values[54] = t40*t124;
352  values[55] = t47*t124;
353  values[56] = t49*t124;
354  values[57] = t51*t124;
355  values[58] = t53*t124;
356  values[59] = t55*t124;
357  values[60] = t60*t124;
358  values[61] = t62*t124;
359  values[62] = t64*t124;
360  values[63] = t66*t124;
361  values[64] = t68*t124;
362  values[65] = t71*t124;
363  values[66] = t73*t124;
364  values[67] = t75*t124;
365  values[68] = t77*t124;
366  values[69] = t79*t124;
367  values[70] = t82*t124;
368  values[71] = t84*t124;
369  values[72] = t86*t124;
370  values[73] = t88*t124;
371  values[74] = t90*t124;
372  values[75] = t15*t150;
373  values[76] = t29*t150;
374  values[77] = t34*t150;
375  values[78] = t37*t150;
376  values[79] = t40*t150;
377  values[80] = t47*t150;
378  values[81] = t49*t150;
379  values[82] = t51*t150;
380  values[83] = t53*t150;
381  values[84] = t55*t150;
382  values[85] = t60*t150;
383  values[86] = t62*t150;
384  values[87] = t64*t150;
385  values[88] = t66*t150;
386  values[89] = t68*t150;
387  values[90] = t71*t150;
388  values[91] = t73*t150;
389  values[92] = t75*t150;
390  values[93] = t77*t150;
391  values[94] = t79*t150;
392  values[95] = t82*t150;
393  values[96] = t84*t150;
394  values[97] = t86*t150;
395  values[98] = t88*t150;
396  values[99] = t90*t150;
397  values[100] = t15*t176;
398  values[101] = t29*t176;
399  values[102] = t34*t176;
400  values[103] = t37*t176;
401  values[104] = t40*t176;
402  values[105] = t47*t176;
403  values[106] = t49*t176;
404  values[107] = t51*t176;
405  values[108] = t53*t176;
406  values[109] = t55*t176;
407  values[110] = t60*t176;
408  values[111] = t62*t176;
409  values[112] = t64*t176;
410  values[113] = t66*t176;
411  values[114] = t68*t176;
412  values[115] = t71*t176;
413  values[116] = t73*t176;
414  values[117] = t75*t176;
415  values[118] = t77*t176;
416  values[119] = t79*t176;
417  values[120] = t82*t176;
418  values[121] = t84*t176;
419  values[122] = t86*t176;
420  values[123] = t88*t176;
421  values[124] = t90*t176;
422 }
423 
424 static void C_H_Q4_3D_DeriveEta(double xi, double eta, double zeta,
425  double *values)
426 {
427  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
428  double t16, t17, t18, t19, t20, t21, t22, t23, t25, t26, t27, t28, t29;
429  double t30, t34, t35, t37, t38, t40, t41, t43, t44, t45, t46, t47, t49;
430  double t51, t53, t55, t59, t60, t62, t64, t66, t68, t70, t71, t73, t75;
431  double t77, t79, t81, t82, t84, t86, t88, t90, t92, t93, t94, t95, t96;
432  double t124, t150, t176;
433 
434  t1 = xi/6.0;
435  t2 = xi*xi;
436  t3 = t2/6.0;
437  t4 = t2*xi;
438  t5 = 2.0/3.0*t4;
439  t6 = t2*t2;
440  t7 = 2.0/3.0*t6;
441  t8 = t1-t3-t5+t7;
442  t9 = eta/3.0;
443  t10 = eta*eta;
444  t11 = 2.0*t10;
445  t12 = t10*eta;
446  t13 = 8.0/3.0*t12;
447  t14 = 1.0/6.0-t9-t11+t13;
448  t15 = t8*t14;
449  t16 = zeta/6.0;
450  t17 = zeta*zeta;
451  t18 = t17/6.0;
452  t19 = t17*zeta;
453  t20 = 2.0/3.0*t19;
454  t21 = t17*t17;
455  t22 = 2.0/3.0*t21;
456  t23 = t16-t18-t20+t22;
457  t25 = 4.0/3.0*xi;
458  t26 = 8.0/3.0*t2;
459  t27 = 4.0/3.0*t4;
460  t28 = 8.0/3.0*t6;
461  t29 = -t25+t26+t27-t28;
462  t30 = t29*t14;
463  t34 = 1.0-5.0*t2+4.0*t6;
464  t35 = t34*t14;
465  t37 = t25+t26-t27-t28;
466  t38 = t37*t14;
467  t40 = -t1-t3+t5+t7;
468  t41 = t40*t14;
469  t43 = 16.0/3.0*eta;
470  t44 = 4.0*t10;
471  t45 = 32.0/3.0*t12;
472  t46 = -4.0/3.0+t43+t44-t45;
473  t47 = t8*t46;
474  t49 = t29*t46;
475  t51 = t34*t46;
476  t53 = t37*t46;
477  t55 = t40*t46;
478  t59 = -10.0*eta+16.0*t12;
479  t60 = t8*t59;
480  t62 = t29*t59;
481  t64 = t34*t59;
482  t66 = t37*t59;
483  t68 = t40*t59;
484  t70 = 4.0/3.0+t43-t44-t45;
485  t71 = t8*t70;
486  t73 = t29*t70;
487  t75 = t34*t70;
488  t77 = t37*t70;
489  t79 = t40*t70;
490  t81 = -1.0/6.0-t9+t11+t13;
491  t82 = t8*t81;
492  t84 = t29*t81;
493  t86 = t34*t81;
494  t88 = t37*t81;
495  t90 = t40*t81;
496  t92 = 4.0/3.0*zeta;
497  t93 = 8.0/3.0*t17;
498  t94 = 4.0/3.0*t19;
499  t95 = 8.0/3.0*t21;
500  t96 = -t92+t93+t94-t95;
501  t124 = 1.0-5.0*t17+4.0*t21;
502  t150 = t92+t93-t94-t95;
503  t176 = -t16-t18+t20+t22;
504 
505  values[0] = t15*t23;
506  values[1] = t30*t23;
507  values[2] = t35*t23;
508  values[3] = t38*t23;
509  values[4] = t41*t23;
510  values[5] = t47*t23;
511  values[6] = t49*t23;
512  values[7] = t51*t23;
513  values[8] = t53*t23;
514  values[9] = t55*t23;
515  values[10] = t60*t23;
516  values[11] = t62*t23;
517  values[12] = t64*t23;
518  values[13] = t66*t23;
519  values[14] = t68*t23;
520  values[15] = t71*t23;
521  values[16] = t73*t23;
522  values[17] = t75*t23;
523  values[18] = t77*t23;
524  values[19] = t79*t23;
525  values[20] = t82*t23;
526  values[21] = t84*t23;
527  values[22] = t86*t23;
528  values[23] = t88*t23;
529  values[24] = t90*t23;
530  values[25] = t15*t96;
531  values[26] = t30*t96;
532  values[27] = t35*t96;
533  values[28] = t38*t96;
534  values[29] = t41*t96;
535  values[30] = t47*t96;
536  values[31] = t49*t96;
537  values[32] = t51*t96;
538  values[33] = t53*t96;
539  values[34] = t55*t96;
540  values[35] = t60*t96;
541  values[36] = t62*t96;
542  values[37] = t64*t96;
543  values[38] = t66*t96;
544  values[39] = t68*t96;
545  values[40] = t71*t96;
546  values[41] = t73*t96;
547  values[42] = t75*t96;
548  values[43] = t77*t96;
549  values[44] = t79*t96;
550  values[45] = t82*t96;
551  values[46] = t84*t96;
552  values[47] = t86*t96;
553  values[48] = t88*t96;
554  values[49] = t90*t96;
555  values[50] = t15*t124;
556  values[51] = t30*t124;
557  values[52] = t35*t124;
558  values[53] = t38*t124;
559  values[54] = t41*t124;
560  values[55] = t47*t124;
561  values[56] = t49*t124;
562  values[57] = t51*t124;
563  values[58] = t53*t124;
564  values[59] = t55*t124;
565  values[60] = t60*t124;
566  values[61] = t62*t124;
567  values[62] = t64*t124;
568  values[63] = t66*t124;
569  values[64] = t68*t124;
570  values[65] = t71*t124;
571  values[66] = t73*t124;
572  values[67] = t75*t124;
573  values[68] = t77*t124;
574  values[69] = t79*t124;
575  values[70] = t82*t124;
576  values[71] = t84*t124;
577  values[72] = t86*t124;
578  values[73] = t88*t124;
579  values[74] = t90*t124;
580  values[75] = t15*t150;
581  values[76] = t30*t150;
582  values[77] = t35*t150;
583  values[78] = t38*t150;
584  values[79] = t41*t150;
585  values[80] = t47*t150;
586  values[81] = t49*t150;
587  values[82] = t51*t150;
588  values[83] = t53*t150;
589  values[84] = t55*t150;
590  values[85] = t60*t150;
591  values[86] = t62*t150;
592  values[87] = t64*t150;
593  values[88] = t66*t150;
594  values[89] = t68*t150;
595  values[90] = t71*t150;
596  values[91] = t73*t150;
597  values[92] = t75*t150;
598  values[93] = t77*t150;
599  values[94] = t79*t150;
600  values[95] = t82*t150;
601  values[96] = t84*t150;
602  values[97] = t86*t150;
603  values[98] = t88*t150;
604  values[99] = t90*t150;
605  values[100] = t15*t176;
606  values[101] = t30*t176;
607  values[102] = t35*t176;
608  values[103] = t38*t176;
609  values[104] = t41*t176;
610  values[105] = t47*t176;
611  values[106] = t49*t176;
612  values[107] = t51*t176;
613  values[108] = t53*t176;
614  values[109] = t55*t176;
615  values[110] = t60*t176;
616  values[111] = t62*t176;
617  values[112] = t64*t176;
618  values[113] = t66*t176;
619  values[114] = t68*t176;
620  values[115] = t71*t176;
621  values[116] = t73*t176;
622  values[117] = t75*t176;
623  values[118] = t77*t176;
624  values[119] = t79*t176;
625  values[120] = t82*t176;
626  values[121] = t84*t176;
627  values[122] = t86*t176;
628  values[123] = t88*t176;
629  values[124] = t90*t176;
630 }
631 
632 static void C_H_Q4_3D_DeriveZeta(double xi, double eta, double zeta,
633  double *values)
634 {
635  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
636  double t16, t17, t18, t19, t20, t21, t22, t23, t25, t26, t27, t28, t29;
637  double t30, t34, t35, t37, t38, t40, t41, t43, t44, t45, t46, t47, t48;
638  double t50, t52, t54, t56, t60, t61, t63, t65, t67, t69, t71, t72, t74;
639  double t76, t78, t80, t82, t83, t85, t87, t89, t91, t93, t94, t95, t96;
640  double t124, t150, t176;
641 
642  t1 = xi/6.0;
643  t2 = xi*xi;
644  t3 = t2/6.0;
645  t4 = t2*xi;
646  t5 = 2.0/3.0*t4;
647  t6 = t2*t2;
648  t7 = 2.0/3.0*t6;
649  t8 = t1-t3-t5+t7;
650  t9 = eta/6.0;
651  t10 = eta*eta;
652  t11 = t10/6.0;
653  t12 = t10*eta;
654  t13 = 2.0/3.0*t12;
655  t14 = t10*t10;
656  t15 = 2.0/3.0*t14;
657  t16 = t9-t11-t13+t15;
658  t17 = t8*t16;
659  t18 = zeta/3.0;
660  t19 = zeta*zeta;
661  t20 = 2.0*t19;
662  t21 = t19*zeta;
663  t22 = 8.0/3.0*t21;
664  t23 = 1.0/6.0-t18-t20+t22;
665  t25 = 4.0/3.0*xi;
666  t26 = 8.0/3.0*t2;
667  t27 = 4.0/3.0*t4;
668  t28 = 8.0/3.0*t6;
669  t29 = -t25+t26+t27-t28;
670  t30 = t29*t16;
671  t34 = 1.0-5.0*t2+4.0*t6;
672  t35 = t34*t16;
673  t37 = t25+t26-t27-t28;
674  t38 = t37*t16;
675  t40 = -t1-t3+t5+t7;
676  t41 = t40*t16;
677  t43 = 4.0/3.0*eta;
678  t44 = 8.0/3.0*t10;
679  t45 = 4.0/3.0*t12;
680  t46 = 8.0/3.0*t14;
681  t47 = -t43+t44+t45-t46;
682  t48 = t8*t47;
683  t50 = t29*t47;
684  t52 = t34*t47;
685  t54 = t37*t47;
686  t56 = t40*t47;
687  t60 = 1.0-5.0*t10+4.0*t14;
688  t61 = t8*t60;
689  t63 = t29*t60;
690  t65 = t34*t60;
691  t67 = t37*t60;
692  t69 = t40*t60;
693  t71 = t43+t44-t45-t46;
694  t72 = t8*t71;
695  t74 = t29*t71;
696  t76 = t34*t71;
697  t78 = t37*t71;
698  t80 = t40*t71;
699  t82 = -t9-t11+t13+t15;
700  t83 = t8*t82;
701  t85 = t29*t82;
702  t87 = t34*t82;
703  t89 = t37*t82;
704  t91 = t40*t82;
705  t93 = 16.0/3.0*zeta;
706  t94 = 4.0*t19;
707  t95 = 32.0/3.0*t21;
708  t96 = -4.0/3.0+t93+t94-t95;
709  t124 = -10.0*zeta+16.0*t21;
710  t150 = 4.0/3.0+t93-t94-t95;
711  t176 = -1.0/6.0-t18+t20+t22;
712 
713  values[0] = t17*t23;
714  values[1] = t30*t23;
715  values[2] = t35*t23;
716  values[3] = t38*t23;
717  values[4] = t41*t23;
718  values[5] = t48*t23;
719  values[6] = t50*t23;
720  values[7] = t52*t23;
721  values[8] = t54*t23;
722  values[9] = t56*t23;
723  values[10] = t61*t23;
724  values[11] = t63*t23;
725  values[12] = t65*t23;
726  values[13] = t67*t23;
727  values[14] = t69*t23;
728  values[15] = t72*t23;
729  values[16] = t74*t23;
730  values[17] = t76*t23;
731  values[18] = t78*t23;
732  values[19] = t80*t23;
733  values[20] = t83*t23;
734  values[21] = t85*t23;
735  values[22] = t87*t23;
736  values[23] = t89*t23;
737  values[24] = t91*t23;
738  values[25] = t17*t96;
739  values[26] = t30*t96;
740  values[27] = t35*t96;
741  values[28] = t38*t96;
742  values[29] = t41*t96;
743  values[30] = t48*t96;
744  values[31] = t50*t96;
745  values[32] = t52*t96;
746  values[33] = t54*t96;
747  values[34] = t56*t96;
748  values[35] = t61*t96;
749  values[36] = t63*t96;
750  values[37] = t65*t96;
751  values[38] = t67*t96;
752  values[39] = t69*t96;
753  values[40] = t72*t96;
754  values[41] = t74*t96;
755  values[42] = t76*t96;
756  values[43] = t78*t96;
757  values[44] = t80*t96;
758  values[45] = t83*t96;
759  values[46] = t85*t96;
760  values[47] = t87*t96;
761  values[48] = t89*t96;
762  values[49] = t91*t96;
763  values[50] = t17*t124;
764  values[51] = t30*t124;
765  values[52] = t35*t124;
766  values[53] = t38*t124;
767  values[54] = t41*t124;
768  values[55] = t48*t124;
769  values[56] = t50*t124;
770  values[57] = t52*t124;
771  values[58] = t54*t124;
772  values[59] = t56*t124;
773  values[60] = t61*t124;
774  values[61] = t63*t124;
775  values[62] = t65*t124;
776  values[63] = t67*t124;
777  values[64] = t69*t124;
778  values[65] = t72*t124;
779  values[66] = t74*t124;
780  values[67] = t76*t124;
781  values[68] = t78*t124;
782  values[69] = t80*t124;
783  values[70] = t83*t124;
784  values[71] = t85*t124;
785  values[72] = t87*t124;
786  values[73] = t89*t124;
787  values[74] = t91*t124;
788  values[75] = t17*t150;
789  values[76] = t30*t150;
790  values[77] = t35*t150;
791  values[78] = t38*t150;
792  values[79] = t41*t150;
793  values[80] = t48*t150;
794  values[81] = t50*t150;
795  values[82] = t52*t150;
796  values[83] = t54*t150;
797  values[84] = t56*t150;
798  values[85] = t61*t150;
799  values[86] = t63*t150;
800  values[87] = t65*t150;
801  values[88] = t67*t150;
802  values[89] = t69*t150;
803  values[90] = t72*t150;
804  values[91] = t74*t150;
805  values[92] = t76*t150;
806  values[93] = t78*t150;
807  values[94] = t80*t150;
808  values[95] = t83*t150;
809  values[96] = t85*t150;
810  values[97] = t87*t150;
811  values[98] = t89*t150;
812  values[99] = t91*t150;
813  values[100] = t17*t176;
814  values[101] = t30*t176;
815  values[102] = t35*t176;
816  values[103] = t38*t176;
817  values[104] = t41*t176;
818  values[105] = t48*t176;
819  values[106] = t50*t176;
820  values[107] = t52*t176;
821  values[108] = t54*t176;
822  values[109] = t56*t176;
823  values[110] = t61*t176;
824  values[111] = t63*t176;
825  values[112] = t65*t176;
826  values[113] = t67*t176;
827  values[114] = t69*t176;
828  values[115] = t72*t176;
829  values[116] = t74*t176;
830  values[117] = t76*t176;
831  values[118] = t78*t176;
832  values[119] = t80*t176;
833  values[120] = t83*t176;
834  values[121] = t85*t176;
835  values[122] = t87*t176;
836  values[123] = t89*t176;
837  values[124] = t91*t176;
838 }
839 
840 static void C_H_Q4_3D_DeriveXiXi(double xi, double eta, double zeta,
841  double *values)
842 {
843  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
844  double t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t29, t30, t32;
845  double t33, t35, t36, t38, t39, t40, t41, t42, t43, t45, t47, t49, t51;
846  double t55, t56, t58, t60, t62, t64, t66, t67, t69, t71, t73, t75, t77;
847  double t78, t80, t82, t84, t86, t88, t89, t90, t91, t92, t120, t146, t172;
848 
849  t1 = 4.0*xi;
850  t2 = xi*xi;
851  t3 = 8.0*t2;
852  t4 = -1.0/3.0-t1+t3;
853  t5 = eta/6.0;
854  t6 = eta*eta;
855  t7 = t6/6.0;
856  t8 = t6*eta;
857  t9 = 2.0/3.0*t8;
858  t10 = t6*t6;
859  t11 = 2.0/3.0*t10;
860  t12 = t5-t7-t9+t11;
861  t13 = t4*t12;
862  t14 = zeta/6.0;
863  t15 = zeta*zeta;
864  t16 = t15/6.0;
865  t17 = t15*zeta;
866  t18 = 2.0/3.0*t17;
867  t19 = t15*t15;
868  t20 = 2.0/3.0*t19;
869  t21 = t14-t16-t18+t20;
870  t23 = 8.0*xi;
871  t24 = 32.0*t2;
872  t25 = 16.0/3.0+t23-t24;
873  t26 = t25*t12;
874  t29 = -10.0+48.0*t2;
875  t30 = t29*t12;
876  t32 = 16.0/3.0-t23-t24;
877  t33 = t32*t12;
878  t35 = -1.0/3.0+t1+t3;
879  t36 = t35*t12;
880  t38 = 4.0/3.0*eta;
881  t39 = 8.0/3.0*t6;
882  t40 = 4.0/3.0*t8;
883  t41 = 8.0/3.0*t10;
884  t42 = -t38+t39+t40-t41;
885  t43 = t4*t42;
886  t45 = t25*t42;
887  t47 = t29*t42;
888  t49 = t32*t42;
889  t51 = t35*t42;
890  t55 = 1.0-5.0*t6+4.0*t10;
891  t56 = t4*t55;
892  t58 = t25*t55;
893  t60 = t29*t55;
894  t62 = t32*t55;
895  t64 = t35*t55;
896  t66 = t38+t39-t40-t41;
897  t67 = t4*t66;
898  t69 = t25*t66;
899  t71 = t29*t66;
900  t73 = t32*t66;
901  t75 = t35*t66;
902  t77 = -t5-t7+t9+t11;
903  t78 = t4*t77;
904  t80 = t25*t77;
905  t82 = t29*t77;
906  t84 = t32*t77;
907  t86 = t35*t77;
908  t88 = 4.0/3.0*zeta;
909  t89 = 8.0/3.0*t15;
910  t90 = 4.0/3.0*t17;
911  t91 = 8.0/3.0*t19;
912  t92 = -t88+t89+t90-t91;
913  t120 = 1.0-5.0*t15+4.0*t19;
914  t146 = t88+t89-t90-t91;
915  t172 = -t14-t16+t18+t20;
916 
917  values[0] = t13*t21;
918  values[1] = t26*t21;
919  values[2] = t30*t21;
920  values[3] = t33*t21;
921  values[4] = t36*t21;
922  values[5] = t43*t21;
923  values[6] = t45*t21;
924  values[7] = t47*t21;
925  values[8] = t49*t21;
926  values[9] = t51*t21;
927  values[10] = t56*t21;
928  values[11] = t58*t21;
929  values[12] = t60*t21;
930  values[13] = t62*t21;
931  values[14] = t64*t21;
932  values[15] = t67*t21;
933  values[16] = t69*t21;
934  values[17] = t71*t21;
935  values[18] = t73*t21;
936  values[19] = t75*t21;
937  values[20] = t78*t21;
938  values[21] = t80*t21;
939  values[22] = t82*t21;
940  values[23] = t84*t21;
941  values[24] = t86*t21;
942  values[25] = t13*t92;
943  values[26] = t26*t92;
944  values[27] = t30*t92;
945  values[28] = t33*t92;
946  values[29] = t36*t92;
947  values[30] = t43*t92;
948  values[31] = t45*t92;
949  values[32] = t47*t92;
950  values[33] = t49*t92;
951  values[34] = t51*t92;
952  values[35] = t56*t92;
953  values[36] = t58*t92;
954  values[37] = t60*t92;
955  values[38] = t62*t92;
956  values[39] = t64*t92;
957  values[40] = t67*t92;
958  values[41] = t69*t92;
959  values[42] = t71*t92;
960  values[43] = t73*t92;
961  values[44] = t75*t92;
962  values[45] = t78*t92;
963  values[46] = t80*t92;
964  values[47] = t82*t92;
965  values[48] = t84*t92;
966  values[49] = t86*t92;
967  values[50] = t13*t120;
968  values[51] = t26*t120;
969  values[52] = t30*t120;
970  values[53] = t33*t120;
971  values[54] = t36*t120;
972  values[55] = t43*t120;
973  values[56] = t45*t120;
974  values[57] = t47*t120;
975  values[58] = t49*t120;
976  values[59] = t51*t120;
977  values[60] = t56*t120;
978  values[61] = t58*t120;
979  values[62] = t60*t120;
980  values[63] = t62*t120;
981  values[64] = t64*t120;
982  values[65] = t67*t120;
983  values[66] = t69*t120;
984  values[67] = t71*t120;
985  values[68] = t73*t120;
986  values[69] = t75*t120;
987  values[70] = t78*t120;
988  values[71] = t80*t120;
989  values[72] = t82*t120;
990  values[73] = t84*t120;
991  values[74] = t86*t120;
992  values[75] = t13*t146;
993  values[76] = t26*t146;
994  values[77] = t30*t146;
995  values[78] = t33*t146;
996  values[79] = t36*t146;
997  values[80] = t43*t146;
998  values[81] = t45*t146;
999  values[82] = t47*t146;
1000  values[83] = t49*t146;
1001  values[84] = t51*t146;
1002  values[85] = t56*t146;
1003  values[86] = t58*t146;
1004  values[87] = t60*t146;
1005  values[88] = t62*t146;
1006  values[89] = t64*t146;
1007  values[90] = t67*t146;
1008  values[91] = t69*t146;
1009  values[92] = t71*t146;
1010  values[93] = t73*t146;
1011  values[94] = t75*t146;
1012  values[95] = t78*t146;
1013  values[96] = t80*t146;
1014  values[97] = t82*t146;
1015  values[98] = t84*t146;
1016  values[99] = t86*t146;
1017  values[100] = t13*t172;
1018  values[101] = t26*t172;
1019  values[102] = t30*t172;
1020  values[103] = t33*t172;
1021  values[104] = t36*t172;
1022  values[105] = t43*t172;
1023  values[106] = t45*t172;
1024  values[107] = t47*t172;
1025  values[108] = t49*t172;
1026  values[109] = t51*t172;
1027  values[110] = t56*t172;
1028  values[111] = t58*t172;
1029  values[112] = t60*t172;
1030  values[113] = t62*t172;
1031  values[114] = t64*t172;
1032  values[115] = t67*t172;
1033  values[116] = t69*t172;
1034  values[117] = t71*t172;
1035  values[118] = t73*t172;
1036  values[119] = t75*t172;
1037  values[120] = t78*t172;
1038  values[121] = t80*t172;
1039  values[122] = t82*t172;
1040  values[123] = t84*t172;
1041  values[124] = t86*t172;
1042 }
1043 
1044 static void C_H_Q4_3D_DeriveXiEta(double xi, double eta, double zeta,
1045  double *values)
1046 {
1047  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1048  double t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t27, t31, t32;
1049  double t34, t35, t37, t38, t40, t41, t42, t43, t44, t46, t48, t50, t52;
1050  double t56, t57, t59, t61, t63, t65, t67, t68, t70, t72, t74, t76, t78;
1051  double t79, t81, t83, t85, t87, t89, t90, t91, t92, t93, t121, t147, t173;
1052 
1053  t1 = xi/3.0;
1054  t2 = xi*xi;
1055  t3 = 2.0*t2;
1056  t4 = t2*xi;
1057  t5 = 8.0/3.0*t4;
1058  t6 = 1.0/6.0-t1-t3+t5;
1059  t7 = eta/3.0;
1060  t8 = eta*eta;
1061  t9 = 2.0*t8;
1062  t10 = t8*eta;
1063  t11 = 8.0/3.0*t10;
1064  t12 = 1.0/6.0-t7-t9+t11;
1065  t13 = t6*t12;
1066  t14 = zeta/6.0;
1067  t15 = zeta*zeta;
1068  t16 = t15/6.0;
1069  t17 = t15*zeta;
1070  t18 = 2.0/3.0*t17;
1071  t19 = t15*t15;
1072  t20 = 2.0/3.0*t19;
1073  t21 = t14-t16-t18+t20;
1074  t23 = 16.0/3.0*xi;
1075  t24 = 4.0*t2;
1076  t25 = 32.0/3.0*t4;
1077  t26 = -4.0/3.0+t23+t24-t25;
1078  t27 = t26*t12;
1079  t31 = -10.0*xi+16.0*t4;
1080  t32 = t31*t12;
1081  t34 = 4.0/3.0+t23-t24-t25;
1082  t35 = t34*t12;
1083  t37 = -1.0/6.0-t1+t3+t5;
1084  t38 = t37*t12;
1085  t40 = 16.0/3.0*eta;
1086  t41 = 4.0*t8;
1087  t42 = 32.0/3.0*t10;
1088  t43 = -4.0/3.0+t40+t41-t42;
1089  t44 = t6*t43;
1090  t46 = t26*t43;
1091  t48 = t31*t43;
1092  t50 = t34*t43;
1093  t52 = t37*t43;
1094  t56 = -10.0*eta+16.0*t10;
1095  t57 = t6*t56;
1096  t59 = t26*t56;
1097  t61 = t31*t56;
1098  t63 = t34*t56;
1099  t65 = t37*t56;
1100  t67 = 4.0/3.0+t40-t41-t42;
1101  t68 = t6*t67;
1102  t70 = t26*t67;
1103  t72 = t31*t67;
1104  t74 = t34*t67;
1105  t76 = t37*t67;
1106  t78 = -1.0/6.0-t7+t9+t11;
1107  t79 = t6*t78;
1108  t81 = t26*t78;
1109  t83 = t31*t78;
1110  t85 = t34*t78;
1111  t87 = t37*t78;
1112  t89 = 4.0/3.0*zeta;
1113  t90 = 8.0/3.0*t15;
1114  t91 = 4.0/3.0*t17;
1115  t92 = 8.0/3.0*t19;
1116  t93 = -t89+t90+t91-t92;
1117  t121 = 1.0-5.0*t15+4.0*t19;
1118  t147 = t89+t90-t91-t92;
1119  t173 = -t14-t16+t18+t20;
1120 
1121  values[0] = t13*t21;
1122  values[1] = t27*t21;
1123  values[2] = t32*t21;
1124  values[3] = t35*t21;
1125  values[4] = t38*t21;
1126  values[5] = t44*t21;
1127  values[6] = t46*t21;
1128  values[7] = t48*t21;
1129  values[8] = t50*t21;
1130  values[9] = t52*t21;
1131  values[10] = t57*t21;
1132  values[11] = t59*t21;
1133  values[12] = t61*t21;
1134  values[13] = t63*t21;
1135  values[14] = t65*t21;
1136  values[15] = t68*t21;
1137  values[16] = t70*t21;
1138  values[17] = t72*t21;
1139  values[18] = t74*t21;
1140  values[19] = t76*t21;
1141  values[20] = t79*t21;
1142  values[21] = t81*t21;
1143  values[22] = t83*t21;
1144  values[23] = t85*t21;
1145  values[24] = t87*t21;
1146  values[25] = t13*t93;
1147  values[26] = t27*t93;
1148  values[27] = t32*t93;
1149  values[28] = t35*t93;
1150  values[29] = t38*t93;
1151  values[30] = t44*t93;
1152  values[31] = t46*t93;
1153  values[32] = t48*t93;
1154  values[33] = t50*t93;
1155  values[34] = t52*t93;
1156  values[35] = t57*t93;
1157  values[36] = t59*t93;
1158  values[37] = t61*t93;
1159  values[38] = t63*t93;
1160  values[39] = t65*t93;
1161  values[40] = t68*t93;
1162  values[41] = t70*t93;
1163  values[42] = t72*t93;
1164  values[43] = t74*t93;
1165  values[44] = t76*t93;
1166  values[45] = t79*t93;
1167  values[46] = t81*t93;
1168  values[47] = t83*t93;
1169  values[48] = t85*t93;
1170  values[49] = t87*t93;
1171  values[50] = t13*t121;
1172  values[51] = t27*t121;
1173  values[52] = t32*t121;
1174  values[53] = t35*t121;
1175  values[54] = t38*t121;
1176  values[55] = t44*t121;
1177  values[56] = t46*t121;
1178  values[57] = t48*t121;
1179  values[58] = t50*t121;
1180  values[59] = t52*t121;
1181  values[60] = t57*t121;
1182  values[61] = t59*t121;
1183  values[62] = t61*t121;
1184  values[63] = t63*t121;
1185  values[64] = t65*t121;
1186  values[65] = t68*t121;
1187  values[66] = t70*t121;
1188  values[67] = t72*t121;
1189  values[68] = t74*t121;
1190  values[69] = t76*t121;
1191  values[70] = t79*t121;
1192  values[71] = t81*t121;
1193  values[72] = t83*t121;
1194  values[73] = t85*t121;
1195  values[74] = t87*t121;
1196  values[75] = t13*t147;
1197  values[76] = t27*t147;
1198  values[77] = t32*t147;
1199  values[78] = t35*t147;
1200  values[79] = t38*t147;
1201  values[80] = t44*t147;
1202  values[81] = t46*t147;
1203  values[82] = t48*t147;
1204  values[83] = t50*t147;
1205  values[84] = t52*t147;
1206  values[85] = t57*t147;
1207  values[86] = t59*t147;
1208  values[87] = t61*t147;
1209  values[88] = t63*t147;
1210  values[89] = t65*t147;
1211  values[90] = t68*t147;
1212  values[91] = t70*t147;
1213  values[92] = t72*t147;
1214  values[93] = t74*t147;
1215  values[94] = t76*t147;
1216  values[95] = t79*t147;
1217  values[96] = t81*t147;
1218  values[97] = t83*t147;
1219  values[98] = t85*t147;
1220  values[99] = t87*t147;
1221  values[100] = t13*t173;
1222  values[101] = t27*t173;
1223  values[102] = t32*t173;
1224  values[103] = t35*t173;
1225  values[104] = t38*t173;
1226  values[105] = t44*t173;
1227  values[106] = t46*t173;
1228  values[107] = t48*t173;
1229  values[108] = t50*t173;
1230  values[109] = t52*t173;
1231  values[110] = t57*t173;
1232  values[111] = t59*t173;
1233  values[112] = t61*t173;
1234  values[113] = t63*t173;
1235  values[114] = t65*t173;
1236  values[115] = t68*t173;
1237  values[116] = t70*t173;
1238  values[117] = t72*t173;
1239  values[118] = t74*t173;
1240  values[119] = t76*t173;
1241  values[120] = t79*t173;
1242  values[121] = t81*t173;
1243  values[122] = t83*t173;
1244  values[123] = t85*t173;
1245  values[124] = t87*t173;
1246 }
1247 
1248 static void C_H_Q4_3D_DeriveXiZeta(double xi, double eta, double zeta,
1249  double *values)
1250 {
1251  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1252  double t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t27, t31, t32;
1253  double t34, t35, t37, t38, t40, t41, t42, t43, t44, t45, t47, t49, t51;
1254  double t53, t57, t58, t60, t62, t64, t66, t68, t69, t71, t73, t75, t77;
1255  double t79, t80, t82, t84, t86, t88, t90, t91, t92, t93, t121, t147, t173;
1256 
1257  t1 = xi/3.0;
1258  t2 = xi*xi;
1259  t3 = 2.0*t2;
1260  t4 = t2*xi;
1261  t5 = 8.0/3.0*t4;
1262  t6 = 1.0/6.0-t1-t3+t5;
1263  t7 = eta/6.0;
1264  t8 = eta*eta;
1265  t9 = t8/6.0;
1266  t10 = t8*eta;
1267  t11 = 2.0/3.0*t10;
1268  t12 = t8*t8;
1269  t13 = 2.0/3.0*t12;
1270  t14 = t7-t9-t11+t13;
1271  t15 = t6*t14;
1272  t16 = zeta/3.0;
1273  t17 = zeta*zeta;
1274  t18 = 2.0*t17;
1275  t19 = t17*zeta;
1276  t20 = 8.0/3.0*t19;
1277  t21 = 1.0/6.0-t16-t18+t20;
1278  t23 = 16.0/3.0*xi;
1279  t24 = 4.0*t2;
1280  t25 = 32.0/3.0*t4;
1281  t26 = -4.0/3.0+t23+t24-t25;
1282  t27 = t26*t14;
1283  t31 = -10.0*xi+16.0*t4;
1284  t32 = t31*t14;
1285  t34 = 4.0/3.0+t23-t24-t25;
1286  t35 = t34*t14;
1287  t37 = -1.0/6.0-t1+t3+t5;
1288  t38 = t37*t14;
1289  t40 = 4.0/3.0*eta;
1290  t41 = 8.0/3.0*t8;
1291  t42 = 4.0/3.0*t10;
1292  t43 = 8.0/3.0*t12;
1293  t44 = -t40+t41+t42-t43;
1294  t45 = t6*t44;
1295  t47 = t26*t44;
1296  t49 = t31*t44;
1297  t51 = t34*t44;
1298  t53 = t37*t44;
1299  t57 = 1.0-5.0*t8+4.0*t12;
1300  t58 = t6*t57;
1301  t60 = t26*t57;
1302  t62 = t31*t57;
1303  t64 = t34*t57;
1304  t66 = t37*t57;
1305  t68 = t40+t41-t42-t43;
1306  t69 = t6*t68;
1307  t71 = t26*t68;
1308  t73 = t31*t68;
1309  t75 = t34*t68;
1310  t77 = t37*t68;
1311  t79 = -t7-t9+t11+t13;
1312  t80 = t6*t79;
1313  t82 = t26*t79;
1314  t84 = t31*t79;
1315  t86 = t34*t79;
1316  t88 = t37*t79;
1317  t90 = 16.0/3.0*zeta;
1318  t91 = 4.0*t17;
1319  t92 = 32.0/3.0*t19;
1320  t93 = -4.0/3.0+t90+t91-t92;
1321  t121 = -10.0*zeta+16.0*t19;
1322  t147 = 4.0/3.0+t90-t91-t92;
1323  t173 = -1.0/6.0-t16+t18+t20;
1324 
1325  values[0] = t15*t21;
1326  values[1] = t27*t21;
1327  values[2] = t32*t21;
1328  values[3] = t35*t21;
1329  values[4] = t38*t21;
1330  values[5] = t45*t21;
1331  values[6] = t47*t21;
1332  values[7] = t49*t21;
1333  values[8] = t51*t21;
1334  values[9] = t53*t21;
1335  values[10] = t58*t21;
1336  values[11] = t60*t21;
1337  values[12] = t62*t21;
1338  values[13] = t64*t21;
1339  values[14] = t66*t21;
1340  values[15] = t69*t21;
1341  values[16] = t71*t21;
1342  values[17] = t73*t21;
1343  values[18] = t75*t21;
1344  values[19] = t77*t21;
1345  values[20] = t80*t21;
1346  values[21] = t82*t21;
1347  values[22] = t84*t21;
1348  values[23] = t86*t21;
1349  values[24] = t88*t21;
1350  values[25] = t15*t93;
1351  values[26] = t27*t93;
1352  values[27] = t32*t93;
1353  values[28] = t35*t93;
1354  values[29] = t38*t93;
1355  values[30] = t45*t93;
1356  values[31] = t47*t93;
1357  values[32] = t49*t93;
1358  values[33] = t51*t93;
1359  values[34] = t53*t93;
1360  values[35] = t58*t93;
1361  values[36] = t60*t93;
1362  values[37] = t62*t93;
1363  values[38] = t64*t93;
1364  values[39] = t66*t93;
1365  values[40] = t69*t93;
1366  values[41] = t71*t93;
1367  values[42] = t73*t93;
1368  values[43] = t75*t93;
1369  values[44] = t77*t93;
1370  values[45] = t80*t93;
1371  values[46] = t82*t93;
1372  values[47] = t84*t93;
1373  values[48] = t86*t93;
1374  values[49] = t88*t93;
1375  values[50] = t15*t121;
1376  values[51] = t27*t121;
1377  values[52] = t32*t121;
1378  values[53] = t35*t121;
1379  values[54] = t38*t121;
1380  values[55] = t45*t121;
1381  values[56] = t47*t121;
1382  values[57] = t49*t121;
1383  values[58] = t51*t121;
1384  values[59] = t53*t121;
1385  values[60] = t58*t121;
1386  values[61] = t60*t121;
1387  values[62] = t62*t121;
1388  values[63] = t64*t121;
1389  values[64] = t66*t121;
1390  values[65] = t69*t121;
1391  values[66] = t71*t121;
1392  values[67] = t73*t121;
1393  values[68] = t75*t121;
1394  values[69] = t77*t121;
1395  values[70] = t80*t121;
1396  values[71] = t82*t121;
1397  values[72] = t84*t121;
1398  values[73] = t86*t121;
1399  values[74] = t88*t121;
1400  values[75] = t15*t147;
1401  values[76] = t27*t147;
1402  values[77] = t32*t147;
1403  values[78] = t35*t147;
1404  values[79] = t38*t147;
1405  values[80] = t45*t147;
1406  values[81] = t47*t147;
1407  values[82] = t49*t147;
1408  values[83] = t51*t147;
1409  values[84] = t53*t147;
1410  values[85] = t58*t147;
1411  values[86] = t60*t147;
1412  values[87] = t62*t147;
1413  values[88] = t64*t147;
1414  values[89] = t66*t147;
1415  values[90] = t69*t147;
1416  values[91] = t71*t147;
1417  values[92] = t73*t147;
1418  values[93] = t75*t147;
1419  values[94] = t77*t147;
1420  values[95] = t80*t147;
1421  values[96] = t82*t147;
1422  values[97] = t84*t147;
1423  values[98] = t86*t147;
1424  values[99] = t88*t147;
1425  values[100] = t15*t173;
1426  values[101] = t27*t173;
1427  values[102] = t32*t173;
1428  values[103] = t35*t173;
1429  values[104] = t38*t173;
1430  values[105] = t45*t173;
1431  values[106] = t47*t173;
1432  values[107] = t49*t173;
1433  values[108] = t51*t173;
1434  values[109] = t53*t173;
1435  values[110] = t58*t173;
1436  values[111] = t60*t173;
1437  values[112] = t62*t173;
1438  values[113] = t64*t173;
1439  values[114] = t66*t173;
1440  values[115] = t69*t173;
1441  values[116] = t71*t173;
1442  values[117] = t73*t173;
1443  values[118] = t75*t173;
1444  values[119] = t77*t173;
1445  values[120] = t80*t173;
1446  values[121] = t82*t173;
1447  values[122] = t84*t173;
1448  values[123] = t86*t173;
1449  values[124] = t88*t173;
1450 }
1451 
1452 static void C_H_Q4_3D_DeriveEtaEta(double xi, double eta, double zeta,
1453  double *values)
1454 {
1455  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1456  double t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t27, t28, t32;
1457  double t33, t35, t36, t38, t39, t41, t42, t43, t44, t46, t48, t50, t52;
1458  double t55, t56, t58, t60, t62, t64, t66, t67, t69, t71, t73, t75, t77;
1459  double t78, t80, t82, t84, t86, t88, t89, t90, t91, t92, t120, t146, t172;
1460 
1461  t1 = xi/6.0;
1462  t2 = xi*xi;
1463  t3 = t2/6.0;
1464  t4 = t2*xi;
1465  t5 = 2.0/3.0*t4;
1466  t6 = t2*t2;
1467  t7 = 2.0/3.0*t6;
1468  t8 = t1-t3-t5+t7;
1469  t9 = 4.0*eta;
1470  t10 = eta*eta;
1471  t11 = 8.0*t10;
1472  t12 = -1.0/3.0-t9+t11;
1473  t13 = t8*t12;
1474  t14 = zeta/6.0;
1475  t15 = zeta*zeta;
1476  t16 = t15/6.0;
1477  t17 = t15*zeta;
1478  t18 = 2.0/3.0*t17;
1479  t19 = t15*t15;
1480  t20 = 2.0/3.0*t19;
1481  t21 = t14-t16-t18+t20;
1482  t23 = 4.0/3.0*xi;
1483  t24 = 8.0/3.0*t2;
1484  t25 = 4.0/3.0*t4;
1485  t26 = 8.0/3.0*t6;
1486  t27 = -t23+t24+t25-t26;
1487  t28 = t27*t12;
1488  t32 = 1.0-5.0*t2+4.0*t6;
1489  t33 = t32*t12;
1490  t35 = t23+t24-t25-t26;
1491  t36 = t35*t12;
1492  t38 = -t1-t3+t5+t7;
1493  t39 = t38*t12;
1494  t41 = 8.0*eta;
1495  t42 = 32.0*t10;
1496  t43 = 16.0/3.0+t41-t42;
1497  t44 = t8*t43;
1498  t46 = t27*t43;
1499  t48 = t32*t43;
1500  t50 = t35*t43;
1501  t52 = t38*t43;
1502  t55 = -10.0+48.0*t10;
1503  t56 = t8*t55;
1504  t58 = t27*t55;
1505  t60 = t32*t55;
1506  t62 = t35*t55;
1507  t64 = t38*t55;
1508  t66 = 16.0/3.0-t41-t42;
1509  t67 = t8*t66;
1510  t69 = t27*t66;
1511  t71 = t32*t66;
1512  t73 = t35*t66;
1513  t75 = t38*t66;
1514  t77 = -1.0/3.0+t9+t11;
1515  t78 = t8*t77;
1516  t80 = t27*t77;
1517  t82 = t32*t77;
1518  t84 = t35*t77;
1519  t86 = t38*t77;
1520  t88 = 4.0/3.0*zeta;
1521  t89 = 8.0/3.0*t15;
1522  t90 = 4.0/3.0*t17;
1523  t91 = 8.0/3.0*t19;
1524  t92 = -t88+t89+t90-t91;
1525  t120 = 1.0-5.0*t15+4.0*t19;
1526  t146 = t88+t89-t90-t91;
1527  t172 = -t14-t16+t18+t20;
1528 
1529  values[0] = t13*t21;
1530  values[1] = t28*t21;
1531  values[2] = t33*t21;
1532  values[3] = t36*t21;
1533  values[4] = t39*t21;
1534  values[5] = t44*t21;
1535  values[6] = t46*t21;
1536  values[7] = t48*t21;
1537  values[8] = t50*t21;
1538  values[9] = t52*t21;
1539  values[10] = t56*t21;
1540  values[11] = t58*t21;
1541  values[12] = t60*t21;
1542  values[13] = t62*t21;
1543  values[14] = t64*t21;
1544  values[15] = t67*t21;
1545  values[16] = t69*t21;
1546  values[17] = t71*t21;
1547  values[18] = t73*t21;
1548  values[19] = t75*t21;
1549  values[20] = t78*t21;
1550  values[21] = t80*t21;
1551  values[22] = t82*t21;
1552  values[23] = t84*t21;
1553  values[24] = t86*t21;
1554  values[25] = t13*t92;
1555  values[26] = t28*t92;
1556  values[27] = t33*t92;
1557  values[28] = t36*t92;
1558  values[29] = t39*t92;
1559  values[30] = t44*t92;
1560  values[31] = t46*t92;
1561  values[32] = t48*t92;
1562  values[33] = t50*t92;
1563  values[34] = t52*t92;
1564  values[35] = t56*t92;
1565  values[36] = t58*t92;
1566  values[37] = t60*t92;
1567  values[38] = t62*t92;
1568  values[39] = t64*t92;
1569  values[40] = t67*t92;
1570  values[41] = t69*t92;
1571  values[42] = t71*t92;
1572  values[43] = t73*t92;
1573  values[44] = t75*t92;
1574  values[45] = t78*t92;
1575  values[46] = t80*t92;
1576  values[47] = t82*t92;
1577  values[48] = t84*t92;
1578  values[49] = t86*t92;
1579  values[50] = t13*t120;
1580  values[51] = t28*t120;
1581  values[52] = t33*t120;
1582  values[53] = t36*t120;
1583  values[54] = t39*t120;
1584  values[55] = t44*t120;
1585  values[56] = t46*t120;
1586  values[57] = t48*t120;
1587  values[58] = t50*t120;
1588  values[59] = t52*t120;
1589  values[60] = t56*t120;
1590  values[61] = t58*t120;
1591  values[62] = t60*t120;
1592  values[63] = t62*t120;
1593  values[64] = t64*t120;
1594  values[65] = t67*t120;
1595  values[66] = t69*t120;
1596  values[67] = t71*t120;
1597  values[68] = t73*t120;
1598  values[69] = t75*t120;
1599  values[70] = t78*t120;
1600  values[71] = t80*t120;
1601  values[72] = t82*t120;
1602  values[73] = t84*t120;
1603  values[74] = t86*t120;
1604  values[75] = t13*t146;
1605  values[76] = t28*t146;
1606  values[77] = t33*t146;
1607  values[78] = t36*t146;
1608  values[79] = t39*t146;
1609  values[80] = t44*t146;
1610  values[81] = t46*t146;
1611  values[82] = t48*t146;
1612  values[83] = t50*t146;
1613  values[84] = t52*t146;
1614  values[85] = t56*t146;
1615  values[86] = t58*t146;
1616  values[87] = t60*t146;
1617  values[88] = t62*t146;
1618  values[89] = t64*t146;
1619  values[90] = t67*t146;
1620  values[91] = t69*t146;
1621  values[92] = t71*t146;
1622  values[93] = t73*t146;
1623  values[94] = t75*t146;
1624  values[95] = t78*t146;
1625  values[96] = t80*t146;
1626  values[97] = t82*t146;
1627  values[98] = t84*t146;
1628  values[99] = t86*t146;
1629  values[100] = t13*t172;
1630  values[101] = t28*t172;
1631  values[102] = t33*t172;
1632  values[103] = t36*t172;
1633  values[104] = t39*t172;
1634  values[105] = t44*t172;
1635  values[106] = t46*t172;
1636  values[107] = t48*t172;
1637  values[108] = t50*t172;
1638  values[109] = t52*t172;
1639  values[110] = t56*t172;
1640  values[111] = t58*t172;
1641  values[112] = t60*t172;
1642  values[113] = t62*t172;
1643  values[114] = t64*t172;
1644  values[115] = t67*t172;
1645  values[116] = t69*t172;
1646  values[117] = t71*t172;
1647  values[118] = t73*t172;
1648  values[119] = t75*t172;
1649  values[120] = t78*t172;
1650  values[121] = t80*t172;
1651  values[122] = t82*t172;
1652  values[123] = t84*t172;
1653  values[124] = t86*t172;
1654 }
1655 
1656 static void C_H_Q4_3D_DeriveEtaZeta(double xi, double eta, double zeta,
1657  double *values)
1658 {
1659  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1660  double t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t27, t28, t32;
1661  double t33, t35, t36, t38, t39, t41, t42, t43, t44, t45, t47, t49, t51;
1662  double t53, t57, t58, t60, t62, t64, t66, t68, t69, t71, t73, t75, t77;
1663  double t79, t80, t82, t84, t86, t88, t90, t91, t92, t93, t121, t147, t173;
1664 
1665  t1 = xi/6.0;
1666  t2 = xi*xi;
1667  t3 = t2/6.0;
1668  t4 = t2*xi;
1669  t5 = 2.0/3.0*t4;
1670  t6 = t2*t2;
1671  t7 = 2.0/3.0*t6;
1672  t8 = t1-t3-t5+t7;
1673  t9 = eta/3.0;
1674  t10 = eta*eta;
1675  t11 = 2.0*t10;
1676  t12 = t10*eta;
1677  t13 = 8.0/3.0*t12;
1678  t14 = 1.0/6.0-t9-t11+t13;
1679  t15 = t8*t14;
1680  t16 = zeta/3.0;
1681  t17 = zeta*zeta;
1682  t18 = 2.0*t17;
1683  t19 = t17*zeta;
1684  t20 = 8.0/3.0*t19;
1685  t21 = 1.0/6.0-t16-t18+t20;
1686  t23 = 4.0/3.0*xi;
1687  t24 = 8.0/3.0*t2;
1688  t25 = 4.0/3.0*t4;
1689  t26 = 8.0/3.0*t6;
1690  t27 = -t23+t24+t25-t26;
1691  t28 = t27*t14;
1692  t32 = 1.0-5.0*t2+4.0*t6;
1693  t33 = t32*t14;
1694  t35 = t23+t24-t25-t26;
1695  t36 = t35*t14;
1696  t38 = -t1-t3+t5+t7;
1697  t39 = t38*t14;
1698  t41 = 16.0/3.0*eta;
1699  t42 = 4.0*t10;
1700  t43 = 32.0/3.0*t12;
1701  t44 = -4.0/3.0+t41+t42-t43;
1702  t45 = t8*t44;
1703  t47 = t27*t44;
1704  t49 = t32*t44;
1705  t51 = t35*t44;
1706  t53 = t38*t44;
1707  t57 = -10.0*eta+16.0*t12;
1708  t58 = t8*t57;
1709  t60 = t27*t57;
1710  t62 = t32*t57;
1711  t64 = t35*t57;
1712  t66 = t38*t57;
1713  t68 = 4.0/3.0+t41-t42-t43;
1714  t69 = t8*t68;
1715  t71 = t27*t68;
1716  t73 = t32*t68;
1717  t75 = t35*t68;
1718  t77 = t38*t68;
1719  t79 = -1.0/6.0-t9+t11+t13;
1720  t80 = t8*t79;
1721  t82 = t27*t79;
1722  t84 = t32*t79;
1723  t86 = t35*t79;
1724  t88 = t38*t79;
1725  t90 = 16.0/3.0*zeta;
1726  t91 = 4.0*t17;
1727  t92 = 32.0/3.0*t19;
1728  t93 = -4.0/3.0+t90+t91-t92;
1729  t121 = -10.0*zeta+16.0*t19;
1730  t147 = 4.0/3.0+t90-t91-t92;
1731  t173 = -1.0/6.0-t16+t18+t20;
1732 
1733  values[0] = t15*t21;
1734  values[1] = t28*t21;
1735  values[2] = t33*t21;
1736  values[3] = t36*t21;
1737  values[4] = t39*t21;
1738  values[5] = t45*t21;
1739  values[6] = t47*t21;
1740  values[7] = t49*t21;
1741  values[8] = t51*t21;
1742  values[9] = t53*t21;
1743  values[10] = t58*t21;
1744  values[11] = t60*t21;
1745  values[12] = t62*t21;
1746  values[13] = t64*t21;
1747  values[14] = t66*t21;
1748  values[15] = t69*t21;
1749  values[16] = t71*t21;
1750  values[17] = t73*t21;
1751  values[18] = t75*t21;
1752  values[19] = t77*t21;
1753  values[20] = t80*t21;
1754  values[21] = t82*t21;
1755  values[22] = t84*t21;
1756  values[23] = t86*t21;
1757  values[24] = t88*t21;
1758  values[25] = t15*t93;
1759  values[26] = t28*t93;
1760  values[27] = t33*t93;
1761  values[28] = t36*t93;
1762  values[29] = t39*t93;
1763  values[30] = t45*t93;
1764  values[31] = t47*t93;
1765  values[32] = t49*t93;
1766  values[33] = t51*t93;
1767  values[34] = t53*t93;
1768  values[35] = t58*t93;
1769  values[36] = t60*t93;
1770  values[37] = t62*t93;
1771  values[38] = t64*t93;
1772  values[39] = t66*t93;
1773  values[40] = t69*t93;
1774  values[41] = t71*t93;
1775  values[42] = t73*t93;
1776  values[43] = t75*t93;
1777  values[44] = t77*t93;
1778  values[45] = t80*t93;
1779  values[46] = t82*t93;
1780  values[47] = t84*t93;
1781  values[48] = t86*t93;
1782  values[49] = t88*t93;
1783  values[50] = t15*t121;
1784  values[51] = t28*t121;
1785  values[52] = t33*t121;
1786  values[53] = t36*t121;
1787  values[54] = t39*t121;
1788  values[55] = t45*t121;
1789  values[56] = t47*t121;
1790  values[57] = t49*t121;
1791  values[58] = t51*t121;
1792  values[59] = t53*t121;
1793  values[60] = t58*t121;
1794  values[61] = t60*t121;
1795  values[62] = t62*t121;
1796  values[63] = t64*t121;
1797  values[64] = t66*t121;
1798  values[65] = t69*t121;
1799  values[66] = t71*t121;
1800  values[67] = t73*t121;
1801  values[68] = t75*t121;
1802  values[69] = t77*t121;
1803  values[70] = t80*t121;
1804  values[71] = t82*t121;
1805  values[72] = t84*t121;
1806  values[73] = t86*t121;
1807  values[74] = t88*t121;
1808  values[75] = t15*t147;
1809  values[76] = t28*t147;
1810  values[77] = t33*t147;
1811  values[78] = t36*t147;
1812  values[79] = t39*t147;
1813  values[80] = t45*t147;
1814  values[81] = t47*t147;
1815  values[82] = t49*t147;
1816  values[83] = t51*t147;
1817  values[84] = t53*t147;
1818  values[85] = t58*t147;
1819  values[86] = t60*t147;
1820  values[87] = t62*t147;
1821  values[88] = t64*t147;
1822  values[89] = t66*t147;
1823  values[90] = t69*t147;
1824  values[91] = t71*t147;
1825  values[92] = t73*t147;
1826  values[93] = t75*t147;
1827  values[94] = t77*t147;
1828  values[95] = t80*t147;
1829  values[96] = t82*t147;
1830  values[97] = t84*t147;
1831  values[98] = t86*t147;
1832  values[99] = t88*t147;
1833  values[100] = t15*t173;
1834  values[101] = t28*t173;
1835  values[102] = t33*t173;
1836  values[103] = t36*t173;
1837  values[104] = t39*t173;
1838  values[105] = t45*t173;
1839  values[106] = t47*t173;
1840  values[107] = t49*t173;
1841  values[108] = t51*t173;
1842  values[109] = t53*t173;
1843  values[110] = t58*t173;
1844  values[111] = t60*t173;
1845  values[112] = t62*t173;
1846  values[113] = t64*t173;
1847  values[114] = t66*t173;
1848  values[115] = t69*t173;
1849  values[116] = t71*t173;
1850  values[117] = t73*t173;
1851  values[118] = t75*t173;
1852  values[119] = t77*t173;
1853  values[120] = t80*t173;
1854  values[121] = t82*t173;
1855  values[122] = t84*t173;
1856  values[123] = t86*t173;
1857  values[124] = t88*t173;
1858 }
1859 
1860 static void C_H_Q4_3D_DeriveZetaZeta(double xi, double eta, double zeta,
1861  double *values)
1862 {
1863  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1864  double t16, t17, t18, t19, t20, t21, t23, t24, t25, t26, t27, t28, t32;
1865  double t33, t35, t36, t38, t39, t41, t42, t43, t44, t45, t46, t48, t50;
1866  double t52, t54, t58, t59, t61, t63, t65, t67, t69, t70, t72, t74, t76;
1867  double t78, t80, t81, t83, t85, t87, t89, t91, t92, t93, t120, t146, t172;
1868 
1869  t1 = xi/6.0;
1870  t2 = xi*xi;
1871  t3 = t2/6.0;
1872  t4 = t2*xi;
1873  t5 = 2.0/3.0*t4;
1874  t6 = t2*t2;
1875  t7 = 2.0/3.0*t6;
1876  t8 = t1-t3-t5+t7;
1877  t9 = eta/6.0;
1878  t10 = eta*eta;
1879  t11 = t10/6.0;
1880  t12 = t10*eta;
1881  t13 = 2.0/3.0*t12;
1882  t14 = t10*t10;
1883  t15 = 2.0/3.0*t14;
1884  t16 = t9-t11-t13+t15;
1885  t17 = t8*t16;
1886  t18 = 4.0*zeta;
1887  t19 = zeta*zeta;
1888  t20 = 8.0*t19;
1889  t21 = -1.0/3.0-t18+t20;
1890  t23 = 4.0/3.0*xi;
1891  t24 = 8.0/3.0*t2;
1892  t25 = 4.0/3.0*t4;
1893  t26 = 8.0/3.0*t6;
1894  t27 = -t23+t24+t25-t26;
1895  t28 = t27*t16;
1896  t32 = 1.0-5.0*t2+4.0*t6;
1897  t33 = t32*t16;
1898  t35 = t23+t24-t25-t26;
1899  t36 = t35*t16;
1900  t38 = -t1-t3+t5+t7;
1901  t39 = t38*t16;
1902  t41 = 4.0/3.0*eta;
1903  t42 = 8.0/3.0*t10;
1904  t43 = 4.0/3.0*t12;
1905  t44 = 8.0/3.0*t14;
1906  t45 = -t41+t42+t43-t44;
1907  t46 = t8*t45;
1908  t48 = t27*t45;
1909  t50 = t32*t45;
1910  t52 = t35*t45;
1911  t54 = t38*t45;
1912  t58 = 1.0-5.0*t10+4.0*t14;
1913  t59 = t8*t58;
1914  t61 = t27*t58;
1915  t63 = t32*t58;
1916  t65 = t35*t58;
1917  t67 = t38*t58;
1918  t69 = t41+t42-t43-t44;
1919  t70 = t8*t69;
1920  t72 = t27*t69;
1921  t74 = t32*t69;
1922  t76 = t35*t69;
1923  t78 = t38*t69;
1924  t80 = -t9-t11+t13+t15;
1925  t81 = t8*t80;
1926  t83 = t27*t80;
1927  t85 = t32*t80;
1928  t87 = t35*t80;
1929  t89 = t38*t80;
1930  t91 = 8.0*zeta;
1931  t92 = 32.0*t19;
1932  t93 = 16.0/3.0+t91-t92;
1933  t120 = -10.0+48.0*t19;
1934  t146 = 16.0/3.0-t91-t92;
1935  t172 = -1.0/3.0+t18+t20;
1936 
1937  values[0] = t17*t21;
1938  values[1] = t28*t21;
1939  values[2] = t33*t21;
1940  values[3] = t36*t21;
1941  values[4] = t39*t21;
1942  values[5] = t46*t21;
1943  values[6] = t48*t21;
1944  values[7] = t50*t21;
1945  values[8] = t52*t21;
1946  values[9] = t54*t21;
1947  values[10] = t59*t21;
1948  values[11] = t61*t21;
1949  values[12] = t63*t21;
1950  values[13] = t65*t21;
1951  values[14] = t67*t21;
1952  values[15] = t70*t21;
1953  values[16] = t72*t21;
1954  values[17] = t74*t21;
1955  values[18] = t76*t21;
1956  values[19] = t78*t21;
1957  values[20] = t81*t21;
1958  values[21] = t83*t21;
1959  values[22] = t85*t21;
1960  values[23] = t87*t21;
1961  values[24] = t89*t21;
1962  values[25] = t17*t93;
1963  values[26] = t28*t93;
1964  values[27] = t33*t93;
1965  values[28] = t36*t93;
1966  values[29] = t39*t93;
1967  values[30] = t46*t93;
1968  values[31] = t48*t93;
1969  values[32] = t50*t93;
1970  values[33] = t52*t93;
1971  values[34] = t54*t93;
1972  values[35] = t59*t93;
1973  values[36] = t61*t93;
1974  values[37] = t63*t93;
1975  values[38] = t65*t93;
1976  values[39] = t67*t93;
1977  values[40] = t70*t93;
1978  values[41] = t72*t93;
1979  values[42] = t74*t93;
1980  values[43] = t76*t93;
1981  values[44] = t78*t93;
1982  values[45] = t81*t93;
1983  values[46] = t83*t93;
1984  values[47] = t85*t93;
1985  values[48] = t87*t93;
1986  values[49] = t89*t93;
1987  values[50] = t17*t120;
1988  values[51] = t28*t120;
1989  values[52] = t33*t120;
1990  values[53] = t36*t120;
1991  values[54] = t39*t120;
1992  values[55] = t46*t120;
1993  values[56] = t48*t120;
1994  values[57] = t50*t120;
1995  values[58] = t52*t120;
1996  values[59] = t54*t120;
1997  values[60] = t59*t120;
1998  values[61] = t61*t120;
1999  values[62] = t63*t120;
2000  values[63] = t65*t120;
2001  values[64] = t67*t120;
2002  values[65] = t70*t120;
2003  values[66] = t72*t120;
2004  values[67] = t74*t120;
2005  values[68] = t76*t120;
2006  values[69] = t78*t120;
2007  values[70] = t81*t120;
2008  values[71] = t83*t120;
2009  values[72] = t85*t120;
2010  values[73] = t87*t120;
2011  values[74] = t89*t120;
2012  values[75] = t17*t146;
2013  values[76] = t28*t146;
2014  values[77] = t33*t146;
2015  values[78] = t36*t146;
2016  values[79] = t39*t146;
2017  values[80] = t46*t146;
2018  values[81] = t48*t146;
2019  values[82] = t50*t146;
2020  values[83] = t52*t146;
2021  values[84] = t54*t146;
2022  values[85] = t59*t146;
2023  values[86] = t61*t146;
2024  values[87] = t63*t146;
2025  values[88] = t65*t146;
2026  values[89] = t67*t146;
2027  values[90] = t70*t146;
2028  values[91] = t72*t146;
2029  values[92] = t74*t146;
2030  values[93] = t76*t146;
2031  values[94] = t78*t146;
2032  values[95] = t81*t146;
2033  values[96] = t83*t146;
2034  values[97] = t85*t146;
2035  values[98] = t87*t146;
2036  values[99] = t89*t146;
2037  values[100] = t17*t172;
2038  values[101] = t28*t172;
2039  values[102] = t33*t172;
2040  values[103] = t36*t172;
2041  values[104] = t39*t172;
2042  values[105] = t46*t172;
2043  values[106] = t48*t172;
2044  values[107] = t50*t172;
2045  values[108] = t52*t172;
2046  values[109] = t54*t172;
2047  values[110] = t59*t172;
2048  values[111] = t61*t172;
2049  values[112] = t63*t172;
2050  values[113] = t65*t172;
2051  values[114] = t67*t172;
2052  values[115] = t70*t172;
2053  values[116] = t72*t172;
2054  values[117] = t74*t172;
2055  values[118] = t76*t172;
2056  values[119] = t78*t172;
2057  values[120] = t81*t172;
2058  values[121] = t83*t172;
2059  values[122] = t85*t172;
2060  values[123] = t87*t172;
2061  values[124] = t89*t172;
2062 }
2063 
2064 TBaseFunct3D *BF_C_H_Q4_3D_Obj =
2065 new TBaseFunct3D(125, BF_C_H_Q4_3D, BFUnitHexahedron,
2066  C_H_Q4_3D_Funct, C_H_Q4_3D_DeriveXi,
2067  C_H_Q4_3D_DeriveEta, C_H_Q4_3D_DeriveZeta,
2068  C_H_Q4_3D_DeriveXiXi, C_H_Q4_3D_DeriveXiEta,
2069  C_H_Q4_3D_DeriveXiZeta, C_H_Q4_3D_DeriveEtaEta,
2070  C_H_Q4_3D_DeriveEtaZeta, C_H_Q4_3D_DeriveZetaZeta,
2071  4, 4,
2072  0, NULL);
Definition: BaseFunct3D.h:27