ParMooN
 All Classes Functions Variables Friends Pages
BF_C_Q_M5_2D.h
1 // ***********************************************************************
2 // Q5 element with bubbles, conforming, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void C_Q_M5_2D_Funct(double xi, double eta, double *values)
7 {
8  double t1 = 2083.0/4608.0*xi;
9  double t2 = 2083.0/4608.0*eta;
10  double t3 = xi*xi;
11  double t4 = 3181.0/6912.0*t3;
12  double t5 = xi*eta;
13  double t6 = 93.0/128.0*t5;
14  double t7 = eta*eta;
15  double t8 = 3181.0/6912.0*t7;
16  double t9 = t3*xi;
17  double t10 = 2903.0/2304.0*t9;
18  double t11 = t3*eta;
19  double t12 = 1403.0/2304.0*t11;
20  double t13 = xi*t7;
21  double t14 = 1403.0/2304.0*t13;
22  double t15 = t7*eta;
23  double t16 = 2903.0/2304.0*t15;
24  double t17 = t3*t3;
25  double t18 = 625.0/1536.0*t17;
26  double t19 = 409.0/6912.0-t1-t2-t4-t6-t8+t10+t12+t14+t16+t18;
27  double t20 = t9*eta;
28  double t21 = 125.0/256.0*t20;
29  double t22 = t3*t7;
30  double t23 = 257.0/864.0*t22;
31  double t24 = xi*t15;
32  double t25 = 125.0/256.0*t24;
33  double t26 = t7*t7;
34  double t27 = 625.0/1536.0*t26;
35  double t28 = t17*xi;
36  double t29 = 625.0/768.0*t28;
37  double t30 = t17*eta;
38  double t31 = 625.0/1536.0*t30;
39  double t32 = t9*t7;
40  double t33 = 257.0/576.0*t32;
41  double t34 = t3*t15;
42  double t35 = 257.0/576.0*t34;
43  double t36 = xi*t26;
44  double t37 = 625.0/1536.0*t36;
45  double t38 = t26*eta;
46  double t39 = 625.0/768.0*t38;
47  double t46 = (1.0-t3)*(5.0/2.0*t9-3.0/2.0*xi)*(1.0+eta);
48  double t47 = 125.0/768.0*t46;
49  double t54 = (1.0-t7)*(5.0/2.0*t15-3.0/2.0*eta)*(1.0+xi);
50  double t55 = 125.0/768.0*t54;
51  double t56 = t21+t23+t25+t27-t29-t31-t33-t35-t37-t39-t47-t55;
52  double t58 = 875.0/576.0*xi;
53  double t59 = 925.0/4608.0*eta;
54  double t60 = 9325.0/6912.0*t3;
55  double t61 = 875.0/768.0*t5;
56  double t62 = 275.0/3456.0*t7;
57  double t63 = 12875.0/2304.0*t9;
58  double t64 = 3275.0/2304.0*t11;
59  double t65 = 125.0/576.0*t13;
60  double t66 = 175.0/1152.0*t15;
61  double t67 = 625.0/512.0*t17;
62  double t68 = 875.0/768.0*t20;
63  double t69 = 275.0/3456.0*t22;
64  double t70 = 3125.0/768.0*t28;
65  double t71 = 625.0/512.0*t30;
66  double t72 = 125.0/576.0*t32;
67  double t73 = 175.0/1152.0*t34;
68  double t74 = 625.0/768.0*t46;
69  double t75 = -1775.0/13824.0+t58+t59+t60+t61+t62-t63-t64-t65-t66-t67-t68-t69+t70+t71+t72+t73+t74;
70  double t76 = 1375.0/576.0*xi;
71  double t77 = 725.0/2304.0*eta;
72  double t78 = 3475.0/3456.0*t3;
73  double t79 = 125.0/128.0*t5;
74  double t80 = 175.0/1728.0*t7;
75  double t81 = 12125.0/1152.0*t9;
76  double t82 = 575.0/1152.0*t11;
77  double t83 = 875.0/576.0*t13;
78  double t84 = 175.0/288.0*t15;
79  double t85 = 625.0/768.0*t17;
80  double t86 = 125.0/128.0*t20;
81  double t87 = 175.0/1728.0*t22;
82  double t88 = 3125.0/384.0*t28;
83  double t89 = 625.0/768.0*t30;
84  double t90 = 875.0/576.0*t32;
85  double t91 = 175.0/288.0*t34;
86  double t92 = 625.0/384.0*t46;
87  double t93 = 1325.0/6912.0-t76+t77-t78-t79+t80+t81+t82-t83-t84+t85+t86-t87-t88-t89+t90+t91-t92;
88  double t94 = 1025.0/2304.0*eta;
89  double t95 = 325.0/432.0*t3;
90  double t96 = 1225.0/3456.0*t7;
91  double t97 = 725.0/576.0*t11;
92  double t98 = 1225.0/3456.0*t22;
93  double t99 = -425.0/6912.0+t76-t94-t95+t79+t96-t81+t97+t83+t66+t85-t86-t98+t88-t89-t90-t73+t92;
94  double t100 = 425.0/4608.0*eta;
95  double t101 = 9575.0/6912.0*t3;
96  double t102 = 25.0/216.0*t7;
97  double t103 = 3025.0/2304.0*t11;
98  double t104 = 25.0/576.0*t15;
99  double t105 = 25.0/216.0*t22;
100  double t106 = 25.0/576.0*t34;
101  double t107 = -2275.0/13824.0-t58+t100+t101-t61+t102+t63-t103+t65-t104-t67+t68-t105-t70+t71-t72+t106-t74;
102  double t108 = 1195.0/4608.0*eta;
103  double t109 = 3695.0/6912.0*t3;
104  double t110 = 3695.0/6912.0*t7;
105  double t111 = 889.0/2304.0*t11;
106  double t112 = 611.0/2304.0*t15;
107  double t113 = 923.0/6912.0+t1+t108-t109+t6-t110-t10+t111-t14-t112+t18;
108  double t114 = 1285.0/3456.0*t22;
109  double t115 = 257.0/1152.0*t34;
110  double t116 = -t21+t114-t25+t27+t29-t31+t33-t115+t37+t47+t55;
111  double t118 = 925.0/4608.0*xi;
112  double t119 = 2375.0/2304.0*eta;
113  double t120 = 25.0/216.0*t3;
114  double t121 = 9575.0/6912.0*t7;
115  double t122 = 175.0/1152.0*t9;
116  double t123 = 125.0/1152.0*t11;
117  double t124 = 3275.0/2304.0*t13;
118  double t125 = 2375.0/2304.0*t15;
119  double t126 = 875.0/768.0*t24;
120  double t127 = 625.0/512.0*t26;
121  double t128 = 175.0/1152.0*t32;
122  double t129 = 125.0/1152.0*t34;
123  double t130 = 625.0/512.0*t36;
124  double t131 = 625.0/768.0*t54;
125  double t132 = -2275.0/13824.0-t118-t119+t120-t61+t121+t122-t123+t124+t125-t105+t126-t127-t128+t129-t130-t131;
126  double t133 = 725.0/2304.0*xi;
127  double t134 = 125.0/72.0*eta;
128  double t135 = 1225.0/3456.0*t3;
129  double t136 = 325.0/432.0*t7;
130  double t137 = 175.0/288.0*t9;
131  double t138 = 875.0/1152.0*t11;
132  double t139 = 575.0/1152.0*t13;
133  double t140 = 125.0/72.0*t15;
134  double t141 = 125.0/128.0*t24;
135  double t142 = 625.0/768.0*t26;
136  double t143 = 175.0/288.0*t32;
137  double t144 = 875.0/1152.0*t34;
138  double t145 = 625.0/768.0*t36;
139  double t146 = 625.0/384.0*t54;
140  double t147 = -425.0/6912.0-t133+t134+t135+t79-t136+t137-t138-t139-t140-t98-t141+t142-t143+t144+t145+t146;
141  double t148 = 1025.0/2304.0*xi;
142  double t149 = 175.0/1728.0*t3;
143  double t150 = 3475.0/3456.0*t7;
144  double t151 = 725.0/576.0*t13;
145  double t152 = 1325.0/6912.0+t148-t134+t149-t79-t150-t122+t138-t151+t140-t87+t141+t142+t128-t144+t145-t146;
146  double t153 = 425.0/4608.0*xi;
147  double t154 = 275.0/3456.0*t3;
148  double t155 = 9325.0/6912.0*t7;
149  double t156 = 25.0/576.0*t9;
150  double t157 = 3025.0/2304.0*t13;
151  double t158 = 25.0/576.0*t32;
152  double t159 = -1775.0/13824.0-t153+t119+t154+t61+t155+t156+t123+t157-t125-t69-t126-t127-t158-t129-t130+t131;
153  double t160 = 1195.0/4608.0*xi;
154  double t161 = 611.0/2304.0*t9;
155  double t162 = 889.0/2304.0*t13;
156  double t164 = 257.0/1152.0*t32;
157  double t165 = t18+t21+t23+t25+t27+t31+t164+t115+t37-t47-t55;
158  double t167 = 2375.0/2304.0*xi;
159  double t168 = 2375.0/2304.0*t9;
160  double t169 = 125.0/1152.0*t13;
161  double t170 = 125.0/1152.0*t32;
162  double t171 = -1775.0/13824.0+t167-t100+t60+t61+t62-t168+t103+t169+t104-t67-t68-t69-t71-t170-t106+t74;
163  double t172 = 125.0/72.0*xi;
164  double t173 = 125.0/72.0*t9;
165  double t174 = 875.0/1152.0*t13;
166  double t175 = 875.0/1152.0*t32;
167  double t176 = 1325.0/6912.0-t172+t94-t78-t79+t80+t173-t97+t174-t66+t85+t86-t87+t89-t175+t73-t92;
168  double t177 = -425.0/6912.0+t172-t77-t95+t79+t96-t173-t82-t174+t84+t85-t86-t98+t89+t175-t91+t92;
169  double t178 = -2275.0/13824.0-t167-t59+t101-t61+t102+t168+t64-t169+t66-t67+t68-t105-t71+t170-t73-t74;
170  double t179 = 923.0/6912.0+t160+t2-t109+t6-t110-t161-t12+t162-t16+t18;
171  double t180 = -t21+t114-t25+t27+t31-t164+t35-t37+t39+t47+t55;
172  double t182 = 875.0/576.0*eta;
173  double t183 = 125.0/576.0*t11;
174  double t184 = 12875.0/2304.0*t15;
175  double t185 = 125.0/576.0*t34;
176  double t186 = 3125.0/768.0*t38;
177  double t187 = -2275.0/13824.0+t153-t182+t120-t61+t121-t156+t183-t157+t184-t105+t126-t127+t158-t185+t130-t186-t131;
178  double t188 = 1375.0/576.0*eta;
179  double t189 = 875.0/576.0*t11;
180  double t190 = 12125.0/1152.0*t15;
181  double t191 = 875.0/576.0*t34;
182  double t192 = 3125.0/384.0*t38;
183  double t193 = -425.0/6912.0-t148+t188+t135+t79-t136+t122+t189+t151-t190-t98-t141+t142-t128-t191-t145+t192+t146;
184  double t194 = 1325.0/6912.0+t133-t188+t149-t79-t150-t137-t189+t139+t190-t87+t141+t142+t143+t191-t145-t192-t146;
185  double t195 = -1775.0/13824.0+t118+t182+t154+t61+t155-t122-t183-t124-t184-t69-t126-t127+t128+t185+t130+t186+t131;
186  double t198 = 81.0/128.0*t3;
187  double t199 = 81.0/128.0*t7;
188  double t202 = 81.0/128.0*t22;
189 
190  values[0] = t19+t56;
191  values[1] = t75;
192  values[2] = t93;
193  values[3] = t99;
194  values[4] = t107;
195  values[5] = t113+t116;
196  values[6] = t132;
197  values[7] = t147;
198  values[8] = t152;
199  values[9] = t159;
200  values[10] = 409.0/6912.0-t160-t108-t4-t6-t8+t161-t111-t162+t112+t165;
201  values[11] = t171;
202  values[12] = t176;
203  values[13] = t177;
204  values[14] = t178;
205  values[15] = t179+t180;
206  values[16] = t187;
207  values[17] = t193;
208  values[18] = t194;
209  values[19] = t195;
210  values[20] = -243.0/128.0*xi-243.0/128.0*eta+243.0/128.0*t9+243.0/128.0*t11+243.0/128.0*t13+243.0/128.0*t15-243.0/128.0*t32-243.0/128.0*t34;
211  values[21] = 81.0/128.0+243.0/128.0*xi-t198-t199-243.0/128.0*t9-243.0/128.0*t13+t202+243.0/128.0*t32;
212  values[22] = 81.0/128.0+243.0/128.0*eta-t198-t199-243.0/128.0*t11-243.0/128.0*t15+t202+243.0/128.0*t34;
213 }
214 
215 // values of the derivatives in xi direction
216 static void C_Q_M5_2D_DeriveXi(double xi, double eta, double *values)
217 {
218  double t1 = 3181.0/3456.0*xi;
219  double t2 = 93.0/128.0*eta;
220  double t3 = xi*xi;
221  double t4 = 2903.0/768.0*t3;
222  double t5 = xi*eta;
223  double t6 = 1403.0/1152.0*t5;
224  double t7 = eta*eta;
225  double t8 = 1403.0/2304.0*t7;
226  double t9 = t3*xi;
227  double t10 = 625.0/384.0*t9;
228  double t11 = t3*eta;
229  double t12 = 375.0/256.0*t11;
230  double t13 = xi*t7;
231  double t14 = 257.0/432.0*t13;
232  double t15 = t7*eta;
233  double t16 = 125.0/256.0*t15;
234  double t17 = t3*t3;
235  double t18 = 3125.0/768.0*t17;
236  double t19 = t9*eta;
237  double t20 = 625.0/384.0*t19;
238  double t21 = t3*t7;
239  double t22 = 257.0/192.0*t21;
240  double t23 = xi*t15;
241  double t24 = 257.0/288.0*t23;
242  double t25 = t7*t7;
243  double t26 = 625.0/1536.0*t25;
244  double t31 = 1.0+eta;
245  double t32 = xi*(5.0/2.0*t9-3.0/2.0*xi)*t31;
246  double t33 = 125.0/384.0*t32;
247  double t38 = (1.0-t3)*(15.0/2.0*t3-3.0/2.0)*t31;
248  double t39 = 125.0/768.0*t38;
249  double t44 = (1.0-t7)*(5.0/2.0*t15-3.0/2.0*eta);
250  double t45 = 125.0/768.0*t44;
251  double t46 = -2083.0/4608.0-t1-t2+t4+t6+t8+t10+t12+t14+t16-t18-t20-t22-t24-t26+t33-t39-t45;
252  double t47 = 9325.0/3456.0*xi;
253  double t48 = 875.0/768.0*eta;
254  double t49 = 12875.0/768.0*t3;
255  double t50 = 3275.0/1152.0*t5;
256  double t51 = 125.0/576.0*t7;
257  double t52 = 625.0/128.0*t9;
258  double t53 = 875.0/256.0*t11;
259  double t54 = 275.0/1728.0*t13;
260  double t55 = 15625.0/768.0*t17;
261  double t56 = 625.0/128.0*t19;
262  double t57 = 125.0/192.0*t21;
263  double t58 = 175.0/576.0*t23;
264  double t59 = 625.0/384.0*t32;
265  double t60 = 625.0/768.0*t38;
266  double t61 = 875.0/576.0+t47+t48-t49-t50-t51-t52-t53-t54+t55+t56+t57+t58-t59+t60;
267  double t62 = 3475.0/1728.0*xi;
268  double t63 = 125.0/128.0*eta;
269  double t64 = 12125.0/384.0*t3;
270  double t65 = 575.0/576.0*t5;
271  double t66 = 875.0/576.0*t7;
272  double t67 = 625.0/192.0*t9;
273  double t68 = 375.0/128.0*t11;
274  double t69 = 175.0/864.0*t13;
275  double t70 = 15625.0/384.0*t17;
276  double t71 = 625.0/192.0*t19;
277  double t72 = 875.0/192.0*t21;
278  double t73 = 175.0/144.0*t23;
279  double t74 = 625.0/192.0*t32;
280  double t75 = 625.0/384.0*t38;
281  double t76 = -1375.0/576.0-t62-t63+t64+t65-t66+t67+t68-t69-t70-t71+t72+t73+t74-t75;
282  double t77 = 325.0/216.0*xi;
283  double t78 = 725.0/288.0*t5;
284  double t79 = 1225.0/1728.0*t13;
285  double t80 = 1375.0/576.0-t77+t63-t64+t78+t66+t67-t68-t79+t70-t71-t72-t58-t74+t75;
286  double t81 = 9575.0/3456.0*xi;
287  double t82 = 3025.0/1152.0*t5;
288  double t83 = 25.0/108.0*t13;
289  double t84 = 25.0/288.0*t23;
290  double t85 = -875.0/576.0+t81-t48+t49-t82+t51-t52+t53-t83-t55+t56-t57+t84+t59-t60;
291  double t86 = 3695.0/3456.0*xi;
292  double t87 = 889.0/1152.0*t5;
293  double t88 = 1285.0/1728.0*t13;
294  double t89 = 257.0/576.0*t23;
295  double t90 = 2083.0/4608.0-t86+t2-t4+t87-t8+t10-t12+t88-t16+t18-t20+t22-t89+t26-t33+t39+t45;
296  double t91 = 25.0/108.0*xi;
297  double t92 = 175.0/384.0*t3;
298  double t93 = 125.0/576.0*t5;
299  double t94 = 3275.0/2304.0*t7;
300  double t95 = 875.0/768.0*t15;
301  double t96 = 175.0/384.0*t21;
302  double t97 = 125.0/576.0*t23;
303  double t98 = 625.0/512.0*t25;
304  double t99 = 625.0/768.0*t44;
305  double t100 = -925.0/4608.0+t91-t48+t92-t93+t94-t83+t95-t96+t97-t98-t99;
306  double t101 = 1225.0/1728.0*xi;
307  double t102 = 175.0/96.0*t3;
308  double t103 = 875.0/576.0*t5;
309  double t104 = 575.0/1152.0*t7;
310  double t105 = 125.0/128.0*t15;
311  double t106 = 175.0/96.0*t21;
312  double t107 = 875.0/576.0*t23;
313  double t108 = 625.0/768.0*t25;
314  double t109 = 625.0/384.0*t44;
315  double t110 = -725.0/2304.0+t101+t63+t102-t103-t104-t79-t105-t106+t107+t108+t109;
316  double t111 = 175.0/864.0*xi;
317  double t112 = 725.0/576.0*t7;
318  double t113 = 1025.0/2304.0+t111-t63-t92+t103-t112-t69+t105+t96-t107+t108-t109;
319  double t114 = 275.0/1728.0*xi;
320  double t115 = 25.0/192.0*t3;
321  double t116 = 3025.0/2304.0*t7;
322  double t117 = 25.0/192.0*t21;
323  double t118 = -425.0/4608.0+t114+t48+t115+t93+t116-t54-t95-t117-t97-t98+t99;
324  double t119 = 611.0/768.0*t3;
325  double t120 = 889.0/2304.0*t7;
326  double t121 = 257.0/384.0*t21;
327  double t122 = -1195.0/4608.0-t1-t2+t119-t87-t120+t10+t12+t14+t16+t20+t121+t89+t26+t33-t39-t45;
328  double t123 = 2375.0/768.0*t3;
329  double t124 = 125.0/1152.0*t7;
330  double t125 = 125.0/384.0*t21;
331  double t126 = 2375.0/2304.0+t47+t48-t123+t82+t124-t52-t53-t54-t56-t125-t84-t59+t60;
332  double t127 = 125.0/24.0*t3;
333  double t128 = 875.0/1152.0*t7;
334  double t129 = 875.0/384.0*t21;
335  double t130 = -125.0/72.0-t62-t63+t127-t78+t128+t67+t68-t69+t71-t129+t58+t74-t75;
336  double t131 = 125.0/72.0-t77+t63-t127-t65-t128+t67-t68-t79+t71+t129-t73-t74+t75;
337  double t132 = -2375.0/2304.0+t81-t48+t123+t50-t124-t52+t53-t83-t56+t125-t58+t59-t60;
338  double t133 = 1195.0/4608.0-t86+t2-t119-t6+t120+t10-t12+t88-t16+t20-t121+t24-t26-t33+t39+t45;
339  double t134 = 125.0/288.0*t5;
340  double t135 = 125.0/288.0*t23;
341  double t136 = 425.0/4608.0+t91-t48-t115+t134-t116-t83+t95+t117-t135+t98-t99;
342  double t137 = 875.0/288.0*t5;
343  double t138 = 875.0/288.0*t23;
344  double t139 = -1025.0/2304.0+t101+t63+t92+t137+t112-t79-t105-t96-t138-t108+t109;
345  double t140 = 725.0/2304.0+t111-t63-t102-t137+t104-t69+t105+t106+t138-t108-t109;
346  double t141 = 925.0/4608.0+t114+t48-t92-t134-t94-t54-t95+t96+t135+t98+t99;
347  double t142 = 729.0/128.0*t3;
348  double t143 = 243.0/64.0*t5;
349  double t144 = 243.0/128.0*t7;
350  double t145 = 729.0/128.0*t21;
351  double t146 = 243.0/64.0*t23;
352  double t148 = 81.0/64.0*xi;
353  double t149 = 81.0/64.0*t13;
354 
355  values[0] = t46;
356  values[1] = t61;
357  values[2] = t76;
358  values[3] = t80;
359  values[4] = t85;
360  values[5] = t90;
361  values[6] = t100;
362  values[7] = t110;
363  values[8] = t113;
364  values[9] = t118;
365  values[10] = t122;
366  values[11] = t126;
367  values[12] = t130;
368  values[13] = t131;
369  values[14] = t132;
370  values[15] = t133;
371  values[16] = t136;
372  values[17] = t139;
373  values[18] = t140;
374  values[19] = t141;
375  values[20] = -243.0/128.0+t142+t143+t144-t145-t146;
376  values[21] = 243.0/128.0-t148-t142-t144+t149+t145;
377  values[22] = -t148-t143+t149+t146;
378 }
379 
380 // values of the derivatives in eta direction
381 static void C_Q_M5_2D_DeriveEta(double xi, double eta, double *values)
382 {
383  double t1 = 93.0/128.0*xi;
384  double t2 = 3181.0/3456.0*eta;
385  double t3 = xi*xi;
386  double t4 = 1403.0/2304.0*t3;
387  double t5 = xi*eta;
388  double t6 = 1403.0/1152.0*t5;
389  double t7 = eta*eta;
390  double t8 = 2903.0/768.0*t7;
391  double t9 = t3*xi;
392  double t10 = 125.0/256.0*t9;
393  double t11 = t3*eta;
394  double t12 = 257.0/432.0*t11;
395  double t13 = xi*t7;
396  double t14 = 375.0/256.0*t13;
397  double t15 = t7*eta;
398  double t16 = 625.0/384.0*t15;
399  double t17 = t3*t3;
400  double t18 = 625.0/1536.0*t17;
401  double t19 = t9*eta;
402  double t20 = 257.0/288.0*t19;
403  double t21 = t3*t7;
404  double t22 = 257.0/192.0*t21;
405  double t23 = xi*t15;
406  double t24 = 625.0/384.0*t23;
407  double t25 = t7*t7;
408  double t26 = 3125.0/768.0*t25;
409  double t31 = (1.0-t3)*(5.0/2.0*t9-3.0/2.0*xi);
410  double t32 = 125.0/768.0*t31;
411  double t37 = 1.0+xi;
412  double t38 = eta*(5.0/2.0*t15-3.0/2.0*eta)*t37;
413  double t39 = 125.0/384.0*t38;
414  double t44 = (1.0-t7)*(15.0/2.0*t7-3.0/2.0)*t37;
415  double t45 = 125.0/768.0*t44;
416  double t46 = -2083.0/4608.0-t1-t2+t4+t6+t8+t10+t12+t14+t16-t18-t20-t22-t24-t26-t32+t39-t45;
417  double t47 = 875.0/768.0*xi;
418  double t48 = 275.0/1728.0*eta;
419  double t49 = 3275.0/2304.0*t3;
420  double t50 = 125.0/288.0*t5;
421  double t51 = 175.0/384.0*t7;
422  double t52 = 875.0/768.0*t9;
423  double t53 = 275.0/1728.0*t11;
424  double t54 = 625.0/512.0*t17;
425  double t55 = 125.0/288.0*t19;
426  double t56 = 175.0/384.0*t21;
427  double t57 = 625.0/768.0*t31;
428  double t58 = 925.0/4608.0+t47+t48-t49-t50-t51-t52-t53+t54+t55+t56+t57;
429  double t59 = 125.0/128.0*xi;
430  double t60 = 175.0/864.0*eta;
431  double t61 = 575.0/1152.0*t3;
432  double t62 = 875.0/288.0*t5;
433  double t63 = 175.0/96.0*t7;
434  double t64 = 125.0/128.0*t9;
435  double t65 = 175.0/864.0*t11;
436  double t66 = 625.0/768.0*t17;
437  double t67 = 875.0/288.0*t19;
438  double t68 = 175.0/96.0*t21;
439  double t69 = 625.0/384.0*t31;
440  double t70 = 725.0/2304.0-t59+t60+t61-t62-t63+t64-t65-t66+t67+t68-t69;
441  double t71 = 1225.0/1728.0*eta;
442  double t72 = 725.0/576.0*t3;
443  double t73 = 1225.0/1728.0*t11;
444  double t74 = -1025.0/2304.0+t59+t71+t72+t62+t51-t64-t73-t66-t67-t56+t69;
445  double t75 = 25.0/108.0*eta;
446  double t76 = 3025.0/2304.0*t3;
447  double t77 = 25.0/192.0*t7;
448  double t78 = 25.0/108.0*t11;
449  double t79 = 25.0/192.0*t21;
450  double t80 = 425.0/4608.0-t47+t75-t76+t50-t77+t52-t78+t54-t55+t79-t57;
451  double t81 = 3695.0/3456.0*eta;
452  double t82 = 889.0/2304.0*t3;
453  double t83 = 611.0/768.0*t7;
454  double t84 = 1285.0/1728.0*t11;
455  double t85 = 257.0/384.0*t21;
456  double t86 = 1195.0/4608.0+t1-t81+t82-t6-t83-t10+t84-t14+t16-t18+t20-t85+t24+t32-t39+t45;
457  double t87 = 9575.0/3456.0*eta;
458  double t88 = 125.0/1152.0*t3;
459  double t89 = 3275.0/1152.0*t5;
460  double t90 = 2375.0/768.0*t7;
461  double t91 = 875.0/256.0*t13;
462  double t92 = 625.0/128.0*t15;
463  double t93 = 175.0/576.0*t19;
464  double t94 = 125.0/384.0*t21;
465  double t95 = 625.0/128.0*t23;
466  double t96 = 625.0/384.0*t38;
467  double t97 = 625.0/768.0*t44;
468  double t98 = -2375.0/2304.0-t47+t87-t88+t89+t90-t78+t91-t92-t93+t94-t95+t96-t97;
469  double t99 = 325.0/216.0*eta;
470  double t100 = 875.0/1152.0*t3;
471  double t101 = 575.0/576.0*t5;
472  double t102 = 125.0/24.0*t7;
473  double t103 = 375.0/128.0*t13;
474  double t104 = 625.0/192.0*t15;
475  double t105 = 175.0/144.0*t19;
476  double t106 = 875.0/384.0*t21;
477  double t107 = 625.0/192.0*t23;
478  double t108 = 625.0/192.0*t38;
479  double t109 = 625.0/384.0*t44;
480  double t110 = 125.0/72.0+t59-t99-t100-t101-t102-t73-t103+t104-t105+t106+t107-t108+t109;
481  double t111 = 3475.0/1728.0*eta;
482  double t112 = 725.0/288.0*t5;
483  double t113 = -125.0/72.0-t59-t111+t100-t112+t102-t65+t103+t104+t93-t106+t107+t108-t109;
484  double t114 = 9325.0/3456.0*eta;
485  double t115 = 3025.0/1152.0*t5;
486  double t116 = 25.0/288.0*t19;
487  double t117 = 2375.0/2304.0+t47+t114+t88+t115-t90-t53-t91-t92-t116-t94-t95-t96+t97;
488  double t118 = 889.0/1152.0*t5;
489  double t119 = 257.0/576.0*t19;
490  double t120 = -1195.0/4608.0-t1-t2-t82-t118+t83+t10+t12+t14+t16+t18+t119+t85+t24-t32+t39-t45;
491  double t121 = 125.0/576.0*t5;
492  double t122 = 125.0/576.0*t19;
493  double t123 = -425.0/4608.0+t47+t48+t76+t121+t77-t52-t53-t54-t122-t79+t57;
494  double t124 = 875.0/576.0*t5;
495  double t125 = 875.0/576.0*t19;
496  double t126 = 1025.0/2304.0-t59+t60-t72+t124-t51+t64-t65+t66-t125+t56-t69;
497  double t127 = -725.0/2304.0+t59+t71-t61-t124+t63-t64-t73+t66+t125-t68+t69;
498  double t128 = -925.0/4608.0-t47+t75+t49-t121+t51+t52-t78-t54+t122-t56-t57;
499  double t129 = 2083.0/4608.0+t1-t81-t4+t118-t8-t10+t84-t14+t16+t18-t119+t22-t24+t26+t32-t39+t45;
500  double t130 = 125.0/576.0*t3;
501  double t131 = 12875.0/768.0*t7;
502  double t132 = 125.0/192.0*t21;
503  double t133 = 15625.0/768.0*t25;
504  double t134 = -875.0/576.0-t47+t87+t130-t115+t131-t78+t91-t92+t116-t132+t95-t133+t96-t97;
505  double t135 = 875.0/576.0*t3;
506  double t136 = 12125.0/384.0*t7;
507  double t137 = 875.0/192.0*t21;
508  double t138 = 15625.0/384.0*t25;
509  double t139 = 1375.0/576.0+t59-t99+t135+t112-t136-t73-t103+t104-t93-t137-t107+t138-t108+t109;
510  double t140 = -1375.0/576.0-t59-t111-t135+t101+t136-t65+t103+t104+t105+t137-t107-t138+t108-t109;
511  double t141 = 875.0/576.0+t47+t114-t130-t89-t131-t53-t91-t92+t93+t132+t95+t133-t96+t97;
512  double t142 = 243.0/128.0*t3;
513  double t143 = 243.0/64.0*t5;
514  double t144 = 729.0/128.0*t7;
515  double t145 = 243.0/64.0*t19;
516  double t146 = 729.0/128.0*t21;
517  double t148 = 81.0/64.0*eta;
518  double t149 = 81.0/64.0*t11;
519 
520  values[0] = t46;
521  values[1] = t58;
522  values[2] = t70;
523  values[3] = t74;
524  values[4] = t80;
525  values[5] = t86;
526  values[6] = t98;
527  values[7] = t110;
528  values[8] = t113;
529  values[9] = t117;
530  values[10] = t120;
531  values[11] = t123;
532  values[12] = t126;
533  values[13] = t127;
534  values[14] = t128;
535  values[15] = t129;
536  values[16] = t134;
537  values[17] = t139;
538  values[18] = t140;
539  values[19] = t141;
540  values[20] = -243.0/128.0+t142+t143+t144-t145-t146;
541  values[21] = -t148-t143+t149+t145;
542  values[22] = 243.0/128.0-t148-t142-t144+t149+t146;
543 }
544 
545 // values of the derivatives in xi-xi direction
546 static void C_Q_M5_2D_DeriveXiXi(double xi, double eta, double *values)
547 {
548  double t1 = 2903.0/384.0*xi;
549  double t2 = 1403.0/1152.0*eta;
550  double t3 = xi*xi;
551  double t4 = 625.0/128.0*t3;
552  double t5 = xi*eta;
553  double t6 = 375.0/128.0*t5;
554  double t7 = eta*eta;
555  double t8 = 257.0/432.0*t7;
556  double t9 = t3*xi;
557  double t10 = 3125.0/192.0*t9;
558  double t11 = t3*eta;
559  double t12 = 625.0/128.0*t11;
560  double t13 = xi*t7;
561  double t14 = 257.0/96.0*t13;
562  double t15 = t7*eta;
563  double t16 = 257.0/288.0*t15;
564  double t20 = 1.0+eta;
565  double t21 = (5.0/2.0*t9-3.0/2.0*xi)*t20;
566  double t22 = 125.0/384.0*t21;
567  double t26 = xi*(15.0/2.0*t3-3.0/2.0)*t20;
568  double t27 = 125.0/192.0*t26;
569  double t30 = (1.0-t3)*xi*t20;
570  double t31 = 625.0/256.0*t30;
571  double t32 = -3181.0/3456.0+t1+t2+t4+t6+t8-t10-t12-t14-t16+t22+t27-t31;
572  double t33 = 12875.0/384.0*xi;
573  double t34 = 3275.0/1152.0*eta;
574  double t35 = 1875.0/128.0*t3;
575  double t36 = 875.0/128.0*t5;
576  double t37 = 275.0/1728.0*t7;
577  double t38 = 15625.0/192.0*t9;
578  double t39 = 1875.0/128.0*t11;
579  double t40 = 125.0/96.0*t13;
580  double t41 = 175.0/576.0*t15;
581  double t42 = 625.0/384.0*t21;
582  double t43 = 625.0/192.0*t26;
583  double t44 = 3125.0/256.0*t30;
584  double t45 = 9325.0/3456.0-t33-t34-t35-t36-t37+t38+t39+t40+t41-t42-t43+t44;
585  double t46 = 12125.0/192.0*xi;
586  double t47 = 575.0/576.0*eta;
587  double t48 = 625.0/64.0*t3;
588  double t49 = 375.0/64.0*t5;
589  double t50 = 175.0/864.0*t7;
590  double t51 = 15625.0/96.0*t9;
591  double t52 = 625.0/64.0*t11;
592  double t53 = 875.0/96.0*t13;
593  double t54 = 175.0/144.0*t15;
594  double t55 = 625.0/192.0*t21;
595  double t56 = 625.0/96.0*t26;
596  double t57 = 3125.0/128.0*t30;
597  double t58 = -3475.0/1728.0+t46+t47+t48+t49-t50-t51-t52+t53+t54+t55+t56-t57;
598  double t59 = 725.0/288.0*eta;
599  double t60 = 1225.0/1728.0*t7;
600  double t61 = -325.0/216.0-t46+t59+t48-t49-t60+t51-t52-t53-t41-t55-t56+t57;
601  double t62 = 3025.0/1152.0*eta;
602  double t63 = 25.0/108.0*t7;
603  double t64 = 25.0/288.0*t15;
604  double t65 = 9575.0/3456.0+t33-t62-t35+t36-t63-t38+t39-t40+t64+t42+t43-t44;
605  double t66 = 889.0/1152.0*eta;
606  double t67 = 1285.0/1728.0*t7;
607  double t68 = 257.0/576.0*t15;
608  double t69 = -3695.0/3456.0-t1+t66+t4-t6+t67+t10-t12+t14-t68-t22-t27+t31;
609  double t70 = 175.0/192.0*xi;
610  double t71 = 125.0/576.0*eta;
611  double t72 = 175.0/192.0*t13;
612  double t73 = 125.0/576.0*t15;
613  double t75 = 175.0/48.0*xi;
614  double t76 = 875.0/576.0*eta;
615  double t77 = 175.0/48.0*t13;
616  double t78 = 875.0/576.0*t15;
617  double t81 = 25.0/96.0*xi;
618  double t82 = 25.0/96.0*t13;
619  double t84 = 611.0/384.0*xi;
620  double t85 = 257.0/192.0*t13;
621  double t86 = -3181.0/3456.0+t84-t66+t4+t6+t8+t12+t85+t68+t22+t27-t31;
622  double t87 = 2375.0/384.0*xi;
623  double t88 = 125.0/192.0*t13;
624  double t89 = 9325.0/3456.0-t87+t62-t35-t36-t37-t39-t88-t64-t42-t43+t44;
625  double t90 = 125.0/12.0*xi;
626  double t91 = 875.0/192.0*t13;
627  double t92 = -3475.0/1728.0+t90-t59+t48+t49-t50+t52-t91+t41+t55+t56-t57;
628  double t93 = -325.0/216.0-t90-t47+t48-t49-t60+t52+t91-t54-t55-t56+t57;
629  double t94 = 9575.0/3456.0+t87+t34-t35+t36-t63-t39+t88-t41+t42+t43-t44;
630  double t95 = -3695.0/3456.0-t84-t2+t4-t6+t67+t12-t85+t16-t22-t27+t31;
631  double t96 = 125.0/288.0*eta;
632  double t97 = 125.0/288.0*t15;
633  double t99 = 875.0/288.0*eta;
634  double t100 = 875.0/288.0*t15;
635  double t104 = 729.0/64.0*xi;
636  double t105 = 243.0/64.0*eta;
637  double t106 = 729.0/64.0*t13;
638  double t107 = 243.0/64.0*t15;
639  double t109 = 81.0/64.0*t7;
640 
641  values[0] = t32;
642  values[1] = t45;
643  values[2] = t58;
644  values[3] = t61;
645  values[4] = t65;
646  values[5] = t69;
647  values[6] = 25.0/108.0+t70-t71-t63-t72+t73;
648  values[7] = 1225.0/1728.0+t75-t76-t60-t77+t78;
649  values[8] = 175.0/864.0-t70+t76-t50+t72-t78;
650  values[9] = 275.0/1728.0+t81+t71-t37-t82-t73;
651  values[10] = t86;
652  values[11] = t89;
653  values[12] = t92;
654  values[13] = t93;
655  values[14] = t94;
656  values[15] = t95;
657  values[16] = 25.0/108.0-t81+t96-t63+t82-t97;
658  values[17] = 1225.0/1728.0+t70+t99-t60-t72-t100;
659  values[18] = 175.0/864.0-t75-t99-t50+t77+t100;
660  values[19] = 275.0/1728.0-t70-t96-t37+t72+t97;
661  values[20] = t104+t105-t106-t107;
662  values[21] = -81.0/64.0-t104+t109+t106;
663  values[22] = -81.0/64.0-t105+t109+t107;
664 }
665 
666 // values of the derivatives in xi-eta direction
667 static void C_Q_M5_2D_DeriveXiEta(double xi, double eta, double *values)
668 {
669  double t1 = 1403.0/1152.0*xi;
670  double t2 = 1403.0/1152.0*eta;
671  double t3 = xi*xi;
672  double t4 = 375.0/256.0*t3;
673  double t5 = xi*eta;
674  double t6 = 257.0/216.0*t5;
675  double t7 = eta*eta;
676  double t8 = 375.0/256.0*t7;
677  double t9 = t3*xi;
678  double t10 = 625.0/384.0*t9;
679  double t11 = t3*eta;
680  double t12 = 257.0/96.0*t11;
681  double t13 = xi*t7;
682  double t14 = 257.0/96.0*t13;
683  double t15 = t7*eta;
684  double t16 = 625.0/384.0*t15;
685  double t20 = xi*(5.0/2.0*t9-3.0/2.0*xi);
686  double t21 = 125.0/384.0*t20;
687  double t25 = (1.0-t3)*(15.0/2.0*t3-3.0/2.0);
688  double t26 = 125.0/768.0*t25;
689  double t30 = eta*(5.0/2.0*t15-3.0/2.0*eta);
690  double t31 = 125.0/384.0*t30;
691  double t35 = (1.0-t7)*(15.0/2.0*t7-3.0/2.0);
692  double t36 = 125.0/768.0*t35;
693  double t37 = -93.0/128.0+t1+t2+t4+t6+t8-t10-t12-t14-t16+t21-t26+t31-t36;
694  double t38 = 3275.0/1152.0*xi;
695  double t39 = 125.0/288.0*eta;
696  double t40 = 875.0/256.0*t3;
697  double t41 = 275.0/864.0*t5;
698  double t42 = 625.0/128.0*t9;
699  double t43 = 125.0/96.0*t11;
700  double t44 = 175.0/192.0*t13;
701  double t45 = 625.0/384.0*t20;
702  double t46 = 625.0/768.0*t25;
703  double t48 = 575.0/576.0*xi;
704  double t49 = 875.0/288.0*eta;
705  double t50 = 375.0/128.0*t3;
706  double t51 = 175.0/432.0*t5;
707  double t52 = 625.0/192.0*t9;
708  double t53 = 875.0/96.0*t11;
709  double t54 = 175.0/48.0*t13;
710  double t55 = 625.0/192.0*t20;
711  double t56 = 625.0/384.0*t25;
712  double t58 = 725.0/288.0*xi;
713  double t59 = 1225.0/864.0*t5;
714  double t61 = 3025.0/1152.0*xi;
715  double t62 = 25.0/54.0*t5;
716  double t63 = 25.0/96.0*t13;
717  double t65 = 889.0/1152.0*xi;
718  double t66 = 1285.0/864.0*t5;
719  double t67 = 257.0/192.0*t13;
720  double t68 = 93.0/128.0+t65-t2-t4+t66-t8-t10+t12-t67+t16-t21+t26-t31+t36;
721  double t69 = 125.0/576.0*xi;
722  double t70 = 3275.0/1152.0*eta;
723  double t71 = 875.0/256.0*t7;
724  double t72 = 175.0/192.0*t11;
725  double t73 = 125.0/192.0*t13;
726  double t74 = 625.0/128.0*t15;
727  double t75 = 625.0/384.0*t30;
728  double t76 = 625.0/768.0*t35;
729  double t78 = 875.0/576.0*xi;
730  double t79 = 575.0/576.0*eta;
731  double t80 = 375.0/128.0*t7;
732  double t81 = 175.0/48.0*t11;
733  double t82 = 875.0/192.0*t13;
734  double t83 = 625.0/192.0*t15;
735  double t84 = 625.0/192.0*t30;
736  double t85 = 625.0/384.0*t35;
737  double t87 = 725.0/288.0*eta;
738  double t89 = 3025.0/1152.0*eta;
739  double t90 = 25.0/96.0*t11;
740  double t92 = 889.0/1152.0*eta;
741  double t93 = 257.0/192.0*t11;
742  double t94 = -93.0/128.0-t65-t92+t4+t6+t8+t10+t93+t67+t16+t21-t26+t31-t36;
743  double t95 = 125.0/576.0*eta;
744  double t96 = 125.0/192.0*t11;
745  double t98 = 875.0/576.0*eta;
746  double t99 = 875.0/192.0*t11;
747  double t103 = 93.0/128.0-t1+t92-t4+t66-t8+t10-t93+t14-t16-t21+t26-t31+t36;
748  double t104 = 125.0/288.0*xi;
749  double t105 = 125.0/96.0*t13;
750  double t107 = 875.0/288.0*xi;
751  double t108 = 875.0/96.0*t13;
752  double t112 = 243.0/64.0*xi;
753  double t113 = 243.0/64.0*eta;
754  double t114 = 729.0/64.0*t11;
755  double t115 = 729.0/64.0*t13;
756  double t117 = 81.0/32.0*t5;
757 
758  values[0] = t37;
759  values[1] = 875.0/768.0-t38-t39-t40-t41+t42+t43+t44-t45+t46;
760  values[2] = -125.0/128.0+t48-t49+t50-t51-t52+t53+t54+t55-t56;
761  values[3] = 125.0/128.0+t58+t49-t50-t59-t52-t53-t44-t55+t56;
762  values[4] = -875.0/768.0-t61+t39+t40-t62+t42-t43+t63+t45-t46;
763  values[5] = t68;
764  values[6] = -875.0/768.0-t69+t70-t62+t71-t72+t73-t74+t75-t76;
765  values[7] = 125.0/128.0-t78-t79-t59-t80-t81+t82+t83-t84+t85;
766  values[8] = -125.0/128.0+t78-t87-t51+t80+t72-t82+t83+t84-t85;
767  values[9] = 875.0/768.0+t69+t89-t41-t71-t90-t73-t74-t75+t76;
768  values[10] = t94;
769  values[11] = 875.0/768.0+t61+t95-t40-t41-t42-t96-t63-t45+t46;
770  values[12] = -125.0/128.0-t58+t98+t50-t51+t52-t99+t44+t55-t56;
771  values[13] = 125.0/128.0-t48-t98-t50-t59+t52+t99-t54-t55+t56;
772  values[14] = -875.0/768.0+t38-t95+t40-t62-t42+t96-t44+t45-t46;
773  values[15] = t103;
774  values[16] = -875.0/768.0+t104-t89-t62+t71+t90-t105+t74+t75-t76;
775  values[17] = 125.0/128.0+t107+t87-t59-t80-t72-t108-t83-t84+t85;
776  values[18] = -125.0/128.0-t107+t79-t51+t80+t81+t108-t83+t84-t85;
777  values[19] = 875.0/768.0-t104-t70-t41-t71+t72+t105+t74-t75+t76;
778  values[20] = t112+t113-t114-t115;
779  values[21] = -t113+t117+t114;
780  values[22] = -t112+t117+t115;
781 }
782 
783 // values of the derivatives in eta-eta direction
784 static void C_Q_M5_2D_DeriveEtaEta(double xi, double eta, double *values)
785 {
786  double t1 = 1403.0/1152.0*xi;
787  double t2 = 2903.0/384.0*eta;
788  double t3 = xi*xi;
789  double t4 = 257.0/432.0*t3;
790  double t5 = xi*eta;
791  double t6 = 375.0/128.0*t5;
792  double t7 = eta*eta;
793  double t8 = 625.0/128.0*t7;
794  double t9 = t3*xi;
795  double t10 = 257.0/288.0*t9;
796  double t11 = t3*eta;
797  double t12 = 257.0/96.0*t11;
798  double t13 = xi*t7;
799  double t14 = 625.0/128.0*t13;
800  double t15 = t7*eta;
801  double t16 = 3125.0/192.0*t15;
802  double t20 = 1.0+xi;
803  double t21 = (5.0/2.0*t15-3.0/2.0*eta)*t20;
804  double t22 = 125.0/384.0*t21;
805  double t26 = eta*(15.0/2.0*t7-3.0/2.0)*t20;
806  double t27 = 125.0/192.0*t26;
807  double t30 = (1.0-t7)*eta*t20;
808  double t31 = 625.0/256.0*t30;
809  double t32 = -3181.0/3456.0+t1+t2+t4+t6+t8-t10-t12-t14-t16+t22+t27-t31;
810  double t33 = 125.0/288.0*xi;
811  double t34 = 175.0/192.0*eta;
812  double t35 = 275.0/1728.0*t3;
813  double t36 = 125.0/288.0*t9;
814  double t37 = 175.0/192.0*t11;
815  double t39 = 875.0/288.0*xi;
816  double t40 = 175.0/48.0*eta;
817  double t41 = 175.0/864.0*t3;
818  double t42 = 875.0/288.0*t9;
819  double t43 = 175.0/48.0*t11;
820  double t45 = 1225.0/1728.0*t3;
821  double t47 = 25.0/96.0*eta;
822  double t48 = 25.0/108.0*t3;
823  double t49 = 25.0/96.0*t11;
824  double t51 = 611.0/384.0*eta;
825  double t52 = 1285.0/1728.0*t3;
826  double t53 = 257.0/192.0*t11;
827  double t54 = -3695.0/3456.0-t1-t51+t52-t6+t8+t10-t53+t14-t22-t27+t31;
828  double t55 = 3275.0/1152.0*xi;
829  double t56 = 2375.0/384.0*eta;
830  double t57 = 875.0/128.0*t5;
831  double t58 = 1875.0/128.0*t7;
832  double t59 = 175.0/576.0*t9;
833  double t60 = 125.0/192.0*t11;
834  double t61 = 1875.0/128.0*t13;
835  double t62 = 625.0/384.0*t21;
836  double t63 = 625.0/192.0*t26;
837  double t64 = 3125.0/256.0*t30;
838  double t65 = 9575.0/3456.0+t55+t56-t48+t57-t58-t59+t60-t61+t62+t63-t64;
839  double t66 = 575.0/576.0*xi;
840  double t67 = 125.0/12.0*eta;
841  double t68 = 375.0/64.0*t5;
842  double t69 = 625.0/64.0*t7;
843  double t70 = 175.0/144.0*t9;
844  double t71 = 875.0/192.0*t11;
845  double t72 = 625.0/64.0*t13;
846  double t73 = 625.0/192.0*t21;
847  double t74 = 625.0/96.0*t26;
848  double t75 = 3125.0/128.0*t30;
849  double t76 = -325.0/216.0-t66-t67-t45-t68+t69-t70+t71+t72-t73-t74+t75;
850  double t77 = 725.0/288.0*xi;
851  double t78 = -3475.0/1728.0-t77+t67-t41+t68+t69+t59-t71+t72+t73+t74-t75;
852  double t79 = 3025.0/1152.0*xi;
853  double t80 = 25.0/288.0*t9;
854  double t81 = 9325.0/3456.0+t79-t56-t35-t57-t58-t80-t60-t61-t62-t63+t64;
855  double t82 = 889.0/1152.0*xi;
856  double t83 = 257.0/576.0*t9;
857  double t84 = -3181.0/3456.0-t82+t51+t4+t6+t8+t83+t53+t14+t22+t27-t31;
858  double t85 = 125.0/576.0*xi;
859  double t86 = 125.0/576.0*t9;
860  double t88 = 875.0/576.0*xi;
861  double t89 = 875.0/576.0*t9;
862  double t93 = -3695.0/3456.0+t82-t2+t52-t6+t8-t83+t12-t14+t16-t22-t27+t31;
863  double t94 = 12875.0/384.0*eta;
864  double t95 = 125.0/96.0*t11;
865  double t96 = 15625.0/192.0*t15;
866  double t97 = 9575.0/3456.0-t79+t94-t48+t57-t58+t80-t95+t61-t96+t62+t63-t64;
867  double t98 = 12125.0/192.0*eta;
868  double t99 = 875.0/96.0*t11;
869  double t100 = 15625.0/96.0*t15;
870  double t101 = -325.0/216.0+t77-t98-t45-t68+t69-t59-t99-t72+t100-t73-t74+t75;
871  double t102 = -3475.0/1728.0+t66+t98-t41+t68+t69+t70+t99-t72-t100+t73+t74-t75;
872  double t103 = 9325.0/3456.0-t55-t94-t35-t57-t58+t59+t95+t61+t96-t62-t63+t64;
873  double t104 = 243.0/64.0*xi;
874  double t105 = 729.0/64.0*eta;
875  double t106 = 243.0/64.0*t9;
876  double t107 = 729.0/64.0*t11;
877  double t109 = 81.0/64.0*t3;
878 
879  values[0] = t32;
880  values[1] = 275.0/1728.0-t33-t34-t35+t36+t37;
881  values[2] = 175.0/864.0-t39-t40-t41+t42+t43;
882  values[3] = 1225.0/1728.0+t39+t34-t45-t42-t37;
883  values[4] = 25.0/108.0+t33-t47-t48-t36+t49;
884  values[5] = t54;
885  values[6] = t65;
886  values[7] = t76;
887  values[8] = t78;
888  values[9] = t81;
889  values[10] = t84;
890  values[11] = 275.0/1728.0+t85+t47-t35-t86-t49;
891  values[12] = 175.0/864.0+t88-t34-t41-t89+t37;
892  values[13] = 1225.0/1728.0-t88+t40-t45+t89-t43;
893  values[14] = 25.0/108.0-t85+t34-t48+t86-t37;
894  values[15] = t93;
895  values[16] = t97;
896  values[17] = t101;
897  values[18] = t102;
898  values[19] = t103;
899  values[20] = t104+t105-t106-t107;
900  values[21] = -81.0/64.0-t104+t109+t106;
901  values[22] = -81.0/64.0-t105+t109+t107;
902 }
903 
904 // ***********************************************************************
905 
906 TBaseFunct2D *BF_C_Q_M5_2D_Obj = new TBaseFunct2D
907  (23, BF_C_Q_M5_2D, BFUnitSquare,
908  C_Q_M5_2D_Funct, C_Q_M5_2D_DeriveXi,
909  C_Q_M5_2D_DeriveEta, C_Q_M5_2D_DeriveXiXi,
910  C_Q_M5_2D_DeriveXiEta, C_Q_M5_2D_DeriveEtaEta, 5, 5,
911  0, NULL);
Definition: BaseFunct2D.h:27