ParMooN
 All Classes Functions Variables Friends Pages
BF_N_Q_Q5_2D.h
1 // ***********************************************************************
2 // Q5 element, nonconforming, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void N_Q_Q5_2D_Funct(double xi, double eta, 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, t26, t27, t28;
10  double t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41;
11  double t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54;
12  double t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66, t67;
13  double t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80;
14  double t81, t82, t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93;
15  double t94, t95, t96, t97, t98, t99, t100, t101, t102, t103, t104, t105;
16  double t106, t107, t108, t109, t110, t111, t112, t113, t114, t115, t116;
17  double t117, t118, t119, t120, t121, t122, t123, t124, t125, t126, t127;
18  double t128, t129, t130, t131, t132, t133, t134, t135, t136, t137, t138;
19  double t139, t140, t165, t166, t167, t172;
20 
21  t1 = xi*xi;
22  t2 = eta*eta;
23  t3 = t1*t2;
24  t4 = 297.0/128.0*t3;
25  t5 = t1*t1;
26  t6 = t1-t2;
27  t7 = t5*t6;
28  t8 = 2541.0/1024.0*t7;
29  t9 = t2*t2;
30  t10 = t9*t6;
31  t11 = 4851.0/1024.0*t10;
32  t12 = 297.0/128.0*t1;
33  t13 = 123.0/128.0*t2;
34  t14 = t2*eta;
35  t15 = 35.0/8.0*t14;
36  t16 = 1155.0/256.0*t5;
37  t17 = 1365.0/256.0*t9;
38  t18 = t9*eta;
39  t19 = 63.0/16.0*t18;
40  t20 = t3*t6;
41  t21 = 231.0/64.0*t20;
42  t22 = 15.0/16.0*eta;
43  t23 = 3.0/16.0+t4-t8-t11-t12+t13+t15+t16-t17-t19-t21-t22;
44  t24 = 15.0/16.0*xi;
45  t25 = 4851.0/1024.0*t7;
46  t26 = 2541.0/1024.0*t10;
47  t27 = 123.0/128.0*t1;
48  t28 = 297.0/128.0*t2;
49  t29 = t1*xi;
50  t30 = 35.0/8.0*t29;
51  t31 = 1365.0/256.0*t5;
52  t32 = 1155.0/256.0*t9;
53  t33 = t5*xi;
54  t34 = 63.0/16.0*t33;
55  t35 = 3.0/16.0+t24+t4+t25+t26+t27-t28-t30-t31+t32+t34+t21;
56  t36 = 3.0/16.0+t4-t8-t11-t12+t13-t15+t16-t17+t19-t21+t22;
57  t37 = 3.0/16.0-t24+t4+t25+t26+t27-t28+t30-t31+t32-t34+t21;
58  t38 = 563.0/1360.0*xi;
59  t39 = xi*eta;
60  t40 = 237.0/352.0*t39;
61  t41 = xi*t2;
62  t42 = 2163.0/2720.0*t41;
63  t43 = t29*eta;
64  t44 = 945.0/352.0*t43;
65  t45 = xi*t14;
66  t46 = 595.0/352.0*t45;
67  t47 = t29*t2;
68  t48 = 693.0/136.0*t47;
69  t49 = xi*t9;
70  t50 = 2121.0/544.0*t49;
71  t51 = 693.0/544.0*t29;
72  t52 = 2079.0/2720.0*t33;
73  t53 = t43*t6;
74  t54 = 3969.0/2816.0*t53;
75  t55 = t49*t6;
76  t56 = 3003.0/680.0*t55;
77  t57 = t47*t6;
78  t58 = 6237.0/2720.0*t57;
79  t59 = t45*t6;
80  t60 = 7119.0/2816.0*t59;
81  t61 = t38+t40-t42-t44+t46+t48-t50-t51+t52+t54-t56-t58+t60;
82  t62 = t1*eta;
83  t63 = 2163.0/2720.0*t62;
84  t64 = 595.0/352.0*t43;
85  t65 = 945.0/352.0*t45;
86  t66 = t5*eta;
87  t67 = 2121.0/544.0*t66;
88  t68 = t1*t14;
89  t69 = 693.0/136.0*t68;
90  t70 = 693.0/544.0*t14;
91  t71 = 2079.0/2720.0*t18;
92  t72 = 7119.0/2816.0*t53;
93  t73 = t68*t6;
94  t74 = 6237.0/2720.0*t73;
95  t75 = t66*t6;
96  t76 = 3003.0/680.0*t75;
97  t77 = 3969.0/2816.0*t59;
98  t78 = 563.0/1360.0*eta;
99  t79 = -t40-t63-t64+t65-t67+t69-t70+t71+t72+t74+t76+t77+t78;
100  t80 = -t38+t40+t42-t44+t46-t48+t50+t51-t52+t54+t56+t58+t60;
101  t81 = -t40+t63-t64+t65+t67-t69+t70-t71+t72-t74-t76+t77-t78;
102  t82 = 5247.0/2720.0*t62;
103  t83 = 9.0/16.0*t3;
104  t84 = 1323.0/272.0*t66;
105  t85 = 651.0/272.0*t68;
106  t86 = 231.0/64.0*t7;
107  t87 = 231.0/64.0*t10;
108  t88 = 99.0/32.0*t1;
109  t89 = 87.0/32.0*t2;
110  t90 = 623.0/544.0*t14;
111  t91 = 105.0/16.0*t5;
112  t92 = 105.0/16.0*t9;
113  t93 = 1827.0/1360.0*t18;
114  t94 = 5481.0/1360.0*t73;
115  t95 = 6237.0/2720.0*t75;
116  t96 = 21.0/4.0*t20;
117  t97 = 3.0/1360.0*eta;
118  t98 = 1.0/16.0+t82+t83-t84+t85-t86-t87-t88+t89-t90+t91-t92+t93+t94+t95-t96+t97;
119  t99 = 3.0/1360.0*xi;
120  t100 = 5247.0/2720.0*t41;
121  t101 = 651.0/272.0*t47;
122  t102 = 1323.0/272.0*t49;
123  t103 = 87.0/32.0*t1;
124  t104 = 99.0/32.0*t2;
125  t105 = 623.0/544.0*t29;
126  t106 = 1827.0/1360.0*t33;
127  t107 = 6237.0/2720.0*t55;
128  t108 = 5481.0/1360.0*t57;
129  t109 = -t99+1.0/16.0-t100+t83-t101+t102+t86+t87+t103-t104+t105-t91+t92-t106+t107+t108+t96;
130  t110 = 1.0/16.0-t82+t83+t84-t85-t86-t87-t88+t89+t90+t91-t92-t93-t94-t95-t96-t97;
131  t111 = t99+1.0/16.0+t100+t83+t101-t102+t86+t87+t103-t104-t105-t91+t92+t106-t107-t108+t96;
132  t112 = 513.0/1360.0*xi;
133  t113 = 27.0/352.0*t39;
134  t114 = 2187.0/2720.0*t41;
135  t115 = 1035.0/352.0*t43;
136  t116 = 1161.0/272.0*t47;
137  t117 = 963.0/544.0*t29;
138  t118 = t112+t113+t114-t115+t65+t116-t102-t117+t106+t72-t107-t108+t77;
139  t119 = 2187.0/2720.0*t62;
140  t120 = 1035.0/352.0*t45;
141  t121 = 1161.0/272.0*t68;
142  t122 = 963.0/544.0*t14;
143  t123 = 513.0/1360.0*eta;
144  t124 = -t113+t119-t44+t120-t84+t121-t122+t93+t54+t94+t95+t60+t123;
145  t125 = -t112+t113-t114-t115+t65-t116+t102+t117-t106+t72+t107+t108+t77;
146  t126 = -t113-t119-t44+t120+t84-t121+t122-t93+t54-t94-t95+t60-t123;
147  t127 = 2937.0/2720.0*t62;
148  t128 = 3311.0/544.0*t66;
149  t129 = 363.0/128.0*t1;
150  t130 = 1925.0/256.0*t5;
151  t131 = 77.0/340.0*eta;
152  t132 = t127-t4-t128+t69-t25-t26-t129+t28-t70+t130-t32+t71+t74+t76-t21+t131;
153  t133 = 77.0/340.0*xi;
154  t134 = 2937.0/2720.0*t41;
155  t135 = 3311.0/544.0*t49;
156  t136 = 363.0/128.0*t2;
157  t137 = 1925.0/256.0*t9;
158  t138 = -t133-t134-t4-t48+t135+t8+t11+t12-t136+t51-t16+t137-t52+t56+t58+t21;
159  t139 = -t127-t4+t128-t69-t25-t26-t129+t28+t70+t130-t32-t71-t74-t76-t21-t131;
160  t140 = t133+t134-t4+t48-t135+t8+t11+t12-t136-t51-t16+t137+t52-t56-t58+t21;
161  t165 = 369.0/64.0*t3;
162  t166 = 1155.0/512.0*t7;
163  t167 = 1155.0/512.0*t10;
164  t172 = 105.0/32.0*t20;
165 
166  values[0] = t23;
167  values[1] = t35;
168  values[2] = t36;
169  values[3] = t37;
170  values[4] = t61;
171  values[5] = t79;
172  values[6] = t80;
173  values[7] = t81;
174  values[8] = t98;
175  values[9] = t109;
176  values[10] = t110;
177  values[11] = t111;
178  values[12] = t118;
179  values[13] = t124;
180  values[14] = t125;
181  values[15] = t126;
182  values[16] = t132;
183  values[17] = t138;
184  values[18] = t139;
185  values[19] = t140;
186  values[20] = -297.0/32.0*t3-1155.0/256.0*t7+1155.0/256.0*t10+t103+t89+105.0/64.0*t5+105.0/64.0*t9+1.0/4.0;
187  values[21] = -579.0/340.0*xi+2163.0/1360.0*t41-693.0/68.0*t47+2121.0/272.0*t49+3073.0/272.0*t29-12789.0/1360.0*t33+3003.0/340.0*t55+6237.0/1360.0*t57;
188  values[22] = 2163.0/1360.0*t62+2121.0/272.0*t66-693.0/68.0*t68+3073.0/272.0*t14-12789.0/1360.0*t18-6237.0/1360.0*t73-3003.0/340.0*t75-579.0/340.0*eta;
189  values[23] = -1.0-t165-t166+t167+369.0/64.0*t1-51.0/64.0*t2-315.0/128.0*t5+525.0/128.0*t9+t172;
190  values[24] = 325.0/88.0*t39-175.0/88.0*t43-175.0/88.0*t45-1575.0/704.0*t53+1575.0/704.0*t59;
191  values[25] = -1.0-t165-t166+t167-51.0/64.0*t1+369.0/64.0*t2+525.0/128.0*t5-315.0/128.0*t9-t172;
192  values[26] = -351.0/85.0*xi-2187.0/1360.0*t41-1161.0/136.0*t47+1323.0/136.0*t49+4023.0/272.0*t29-3591.0/340.0*t33+6237.0/1360.0*t55+5481.0/680.0*t57;
193  values[27] = 945.0/136.0*t62-525.0/272.0*t66-735.0/136.0*t68+35.0/136.0*t14+315.0/272.0*t18+945.0/272.0*t73-1155.0/272.0*t75-45.0/34.0*eta;
194  values[28] = -45.0/34.0*xi+945.0/136.0*t41-735.0/136.0*t47-525.0/272.0*t49+35.0/136.0*t29+315.0/272.0*t33+1155.0/272.0*t55-945.0/272.0*t57;
195  values[29] = -2187.0/1360.0*t62+1323.0/136.0*t66-1161.0/136.0*t68+4023.0/272.0*t14-3591.0/340.0*t18-5481.0/680.0*t73-6237.0/1360.0*t75-351.0/85.0*eta;
196 }
197 
198 static void N_Q_Q5_2D_DeriveXi(double xi, double eta, double *values)
199 {
200  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
201  double t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28;
202  double t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41;
203  double t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54;
204  double t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66, t67;
205  double t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80;
206  double t81, t82, t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93;
207  double t94, t95, t96, t97, t98, t99, t100, t101, t102, t103, t104, t105;
208  double t106, t107, t108, t109, t110, t111, t112, t113, t114, t115, t116;
209  double t117, t118, t119, t120, t121, t122, t123, t124, t125, t126, t127;
210  double t128, t129, t130, t131, t132, t157, t158, t159, t160, t163, t164;
211 
212  t1 = eta*eta;
213  t2 = xi*t1;
214  t3 = 297.0/64.0*t2;
215  t4 = xi*xi;
216  t5 = t4*xi;
217  t6 = t4-t1;
218  t7 = t5*t6;
219  t8 = 2541.0/256.0*t7;
220  t9 = t4*t4;
221  t10 = t9*xi;
222  t11 = 2541.0/512.0*t10;
223  t12 = t1*t1;
224  t13 = xi*t12;
225  t14 = 4851.0/512.0*t13;
226  t15 = 297.0/64.0*xi;
227  t16 = 1155.0/64.0*t5;
228  t17 = t2*t6;
229  t18 = 231.0/32.0*t17;
230  t19 = t5*t1;
231  t20 = 231.0/32.0*t19;
232  t21 = t3-t8-t11-t14-t15+t16-t18-t20;
233  t22 = 4851.0/256.0*t7;
234  t23 = 4851.0/512.0*t10;
235  t24 = 2541.0/512.0*t13;
236  t25 = 123.0/64.0*xi;
237  t26 = 105.0/8.0*t4;
238  t27 = 1365.0/64.0*t5;
239  t28 = 315.0/16.0*t9;
240  t29 = 15.0/16.0+t3+t22+t23+t24+t25-t26-t27+t28+t18+t20;
241  t30 = -15.0/16.0+t3+t22+t23+t24+t25+t26-t27-t28+t18+t20;
242  t31 = 237.0/352.0*eta;
243  t32 = 2163.0/2720.0*t1;
244  t33 = t4*eta;
245  t34 = 2835.0/352.0*t33;
246  t35 = t1*eta;
247  t36 = 595.0/352.0*t35;
248  t37 = t4*t1;
249  t38 = 2079.0/136.0*t37;
250  t39 = 2121.0/544.0*t12;
251  t40 = 2079.0/544.0*t4;
252  t41 = 2079.0/544.0*t9;
253  t42 = t33*t6;
254  t43 = 11907.0/2816.0*t42;
255  t44 = t9*eta;
256  t45 = 3969.0/1408.0*t44;
257  t46 = t12*t6;
258  t47 = 3003.0/680.0*t46;
259  t48 = t4*t12;
260  t49 = 3003.0/340.0*t48;
261  t50 = t37*t6;
262  t51 = 18711.0/2720.0*t50;
263  t52 = t9*t1;
264  t53 = 6237.0/1360.0*t52;
265  t54 = t35*t6;
266  t55 = 7119.0/2816.0*t54;
267  t56 = t4*t35;
268  t57 = 7119.0/1408.0*t56;
269  t58 = 563.0/1360.0+t31-t32-t34+t36+t38-t39-t40+t41+t43+t45-t47-t49-t51-t53+t55+t57;
270  t59 = xi*eta;
271  t60 = 2163.0/1360.0*t59;
272  t61 = 1785.0/352.0*t33;
273  t62 = 945.0/352.0*t35;
274  t63 = t5*eta;
275  t64 = 2121.0/136.0*t63;
276  t65 = xi*t35;
277  t66 = 693.0/68.0*t65;
278  t67 = 21357.0/2816.0*t42;
279  t68 = 7119.0/1408.0*t44;
280  t69 = t65*t6;
281  t70 = 6237.0/1360.0*t69;
282  t71 = t5*t35;
283  t72 = 6237.0/1360.0*t71;
284  t73 = t63*t6;
285  t74 = 3003.0/170.0*t73;
286  t75 = t10*eta;
287  t76 = 3003.0/340.0*t75;
288  t77 = 3969.0/2816.0*t54;
289  t78 = 3969.0/1408.0*t56;
290  t79 = -t31-t60-t61+t62-t64+t66+t67+t68+t70+t72+t74+t76+t77+t78;
291  t80 = -563.0/1360.0+t31+t32-t34+t36-t38+t39+t40-t41+t43+t45+t47+t49+t51+t53+t55+t57;
292  t81 = -t31+t60-t61+t62+t64-t66+t67+t68-t70-t72-t74-t76+t77+t78;
293  t82 = 5247.0/1360.0*t59;
294  t83 = 9.0/8.0*t2;
295  t84 = 1323.0/68.0*t63;
296  t85 = 651.0/136.0*t65;
297  t86 = 231.0/16.0*t7;
298  t87 = 231.0/32.0*t10;
299  t88 = 231.0/32.0*t13;
300  t89 = 99.0/16.0*xi;
301  t90 = 105.0/4.0*t5;
302  t91 = 5481.0/680.0*t69;
303  t92 = 5481.0/680.0*t71;
304  t93 = 6237.0/680.0*t73;
305  t94 = 6237.0/1360.0*t75;
306  t95 = 21.0/2.0*t17;
307  t96 = 21.0/2.0*t19;
308  t97 = t82+t83-t84+t85-t86-t87-t88-t89+t90+t91+t92+t93+t94-t95-t96;
309  t98 = 5247.0/2720.0*t1;
310  t99 = 1953.0/272.0*t37;
311  t100 = 1323.0/272.0*t12;
312  t101 = 87.0/16.0*xi;
313  t102 = 1869.0/544.0*t4;
314  t103 = 1827.0/272.0*t9;
315  t104 = 6237.0/2720.0*t46;
316  t105 = 6237.0/1360.0*t48;
317  t106 = 16443.0/1360.0*t50;
318  t107 = 5481.0/680.0*t52;
319  t108 = -3.0/1360.0-t98+t83-t99+t100+t86+t87+t88+t101+t102-t90-t103+t104+t105+t106+t107+t95+t96;
320  t109 = -t82+t83+t84-t85-t86-t87-t88-t89+t90-t91-t92-t93-t94-t95-t96;
321  t110 = 3.0/1360.0+t98+t83+t99-t100+t86+t87+t88+t101-t102-t90+t103-t104-t105-t106-t107+t95+t96;
322  t111 = 27.0/352.0*eta;
323  t112 = 2187.0/2720.0*t1;
324  t113 = 3105.0/352.0*t33;
325  t114 = 3483.0/272.0*t37;
326  t115 = 2889.0/544.0*t4;
327  t116 = 513.0/1360.0+t111+t112-t113+t62+t114-t100-t115+t103+t67+t68-t104-t105-t106-t107+t77+t78;
328  t117 = 2187.0/1360.0*t59;
329  t118 = 1035.0/352.0*t35;
330  t119 = 1161.0/136.0*t65;
331  t120 = -t111+t117-t34+t118-t84+t119+t43+t45+t91+t92+t93+t94+t55+t57;
332  t121 = -513.0/1360.0+t111-t112-t113+t62-t114+t100+t115-t103+t67+t68+t104+t105+t106+t107+t77+t78;
333  t122 = -t111-t117-t34+t118+t84-t119+t43+t45-t91-t92-t93-t94+t55+t57;
334  t123 = 2937.0/1360.0*t59;
335  t124 = 3311.0/136.0*t63;
336  t125 = 363.0/64.0*xi;
337  t126 = 1925.0/64.0*t5;
338  t127 = t123-t3-t124+t66-t22-t23-t24-t125+t126+t70+t72+t74+t76-t18-t20;
339  t128 = 2937.0/2720.0*t1;
340  t129 = 3311.0/544.0*t12;
341  t130 = -77.0/340.0-t128-t3-t38+t129+t8+t11+t14+t15+t40-t16-t41+t47+t49+t51+t53+t18+t20;
342  t131 = -t123-t3+t124-t66-t22-t23-t24-t125+t126-t70-t72-t74-t76-t18-t20;
343  t132 = 77.0/340.0+t128-t3+t38-t129+t8+t11+t14+t15-t40-t16+t41-t47-t49-t51-t53+t18+t20;
344  t157 = 369.0/32.0*t2;
345  t158 = 1155.0/128.0*t7;
346  t159 = 1155.0/256.0*t10;
347  t160 = 1155.0/256.0*t13;
348  t163 = 105.0/16.0*t17;
349  t164 = 105.0/16.0*t19;
350 
351  values[0] = t21;
352  values[1] = t29;
353  values[2] = t21;
354  values[3] = t30;
355  values[4] = t58;
356  values[5] = t79;
357  values[6] = t80;
358  values[7] = t81;
359  values[8] = t97;
360  values[9] = t108;
361  values[10] = t109;
362  values[11] = t110;
363  values[12] = t116;
364  values[13] = t120;
365  values[14] = t121;
366  values[15] = t122;
367  values[16] = t127;
368  values[17] = t130;
369  values[18] = t131;
370  values[19] = t132;
371  values[20] = -297.0/16.0*t2-1155.0/64.0*t7-1155.0/128.0*t10+1155.0/128.0*t13+t101+105.0/16.0*t5;
372  values[21] = -579.0/340.0+2163.0/1360.0*t1-2079.0/68.0*t37+2121.0/272.0*t12+9219.0/272.0*t4-12789.0/272.0*t9+3003.0/340.0*t46+3003.0/170.0*t48+18711.0/1360.0*t50+6237.0/680.0*t52;
373  values[22] = 2163.0/680.0*t59+2121.0/68.0*t63-693.0/34.0*t65-6237.0/680.0*t69-6237.0/680.0*t71-3003.0/85.0*t73-3003.0/170.0*t75;
374  values[23] = -t157-t158-t159+t160+369.0/32.0*xi-315.0/32.0*t5+t163+t164;
375  values[24] = 325.0/88.0*eta-525.0/88.0*t33-175.0/88.0*t35-4725.0/704.0*t42-1575.0/352.0*t44+1575.0/704.0*t54+1575.0/352.0*t56;
376  values[25] = -t157-t158-t159+t160-51.0/32.0*xi+525.0/32.0*t5-t163-t164;
377  values[26] = -351.0/85.0-2187.0/1360.0*t1-3483.0/136.0*t37+1323.0/136.0*t12+12069.0/272.0*t4-3591.0/68.0*t9+6237.0/1360.0*t46+6237.0/680.0*t48+16443.0/680.0*t50+5481.0/340.0*t52;
378  values[27] = 945.0/68.0*t59-525.0/68.0*t63-735.0/68.0*t65+945.0/136.0*t69+945.0/136.0*t71-1155.0/68.0*t73-1155.0/136.0*t75;
379  values[28] = -45.0/34.0+945.0/136.0*t1-2205.0/136.0*t37-525.0/272.0*t12+105.0/136.0*t4+1575.0/272.0*t9+1155.0/272.0*t46+1155.0/136.0*t48-2835.0/272.0*t50-945.0/136.0*t52;
380  values[29] = -2187.0/680.0*t59+1323.0/34.0*t63-1161.0/68.0*t65-5481.0/340.0*t69-5481.0/340.0*t71-6237.0/340.0*t73-6237.0/680.0*t75;
381 }
382 
383 static void N_Q_Q5_2D_DeriveEta(double xi, double eta, double *values)
384 {
385  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
386  double t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28;
387  double t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41;
388  double t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54;
389  double t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66, t67;
390  double t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80;
391  double t81, t82, t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93;
392  double t94, t95, t96, t97, t98, t99, t100, t101, t102, t103, t104, t105;
393  double t106, t107, t108, t109, t110, t111, t112, t113, t114, t115, t116;
394  double t117, t118, t119, t120, t121, t122, t123, t124, t125, t126, t127;
395  double t128, t129, t130, t131, t132, t157, t158, t159, t160, t163, t164;
396 
397  t1 = xi*xi;
398  t2 = t1*eta;
399  t3 = 297.0/64.0*t2;
400  t4 = t1*t1;
401  t5 = t4*eta;
402  t6 = 2541.0/512.0*t5;
403  t7 = eta*eta;
404  t8 = t7*eta;
405  t9 = t1-t7;
406  t10 = t8*t9;
407  t11 = 4851.0/256.0*t10;
408  t12 = t7*t7;
409  t13 = t12*eta;
410  t14 = 4851.0/512.0*t13;
411  t15 = 123.0/64.0*eta;
412  t16 = 105.0/8.0*t7;
413  t17 = 1365.0/64.0*t8;
414  t18 = 315.0/16.0*t12;
415  t19 = t2*t9;
416  t20 = 231.0/32.0*t19;
417  t21 = t1*t8;
418  t22 = 231.0/32.0*t21;
419  t23 = t3+t6-t11+t14+t15+t16-t17-t18-t20+t22-15.0/16.0;
420  t24 = 4851.0/512.0*t5;
421  t25 = 2541.0/256.0*t10;
422  t26 = 2541.0/512.0*t13;
423  t27 = 297.0/64.0*eta;
424  t28 = 1155.0/64.0*t8;
425  t29 = t3-t24+t25-t26-t27+t28+t20-t22;
426  t30 = t3+t6-t11+t14+t15-t16-t17+t18-t20+t22+15.0/16.0;
427  t31 = 237.0/352.0*xi;
428  t32 = xi*eta;
429  t33 = 2163.0/1360.0*t32;
430  t34 = t1*xi;
431  t35 = 945.0/352.0*t34;
432  t36 = xi*t7;
433  t37 = 1785.0/352.0*t36;
434  t38 = t34*eta;
435  t39 = 693.0/68.0*t38;
436  t40 = xi*t8;
437  t41 = 2121.0/136.0*t40;
438  t42 = t34*t9;
439  t43 = 3969.0/2816.0*t42;
440  t44 = t34*t7;
441  t45 = 3969.0/1408.0*t44;
442  t46 = t40*t9;
443  t47 = 3003.0/170.0*t46;
444  t48 = xi*t13;
445  t49 = 3003.0/340.0*t48;
446  t50 = t38*t9;
447  t51 = 6237.0/1360.0*t50;
448  t52 = t34*t8;
449  t53 = 6237.0/1360.0*t52;
450  t54 = t36*t9;
451  t55 = 21357.0/2816.0*t54;
452  t56 = xi*t12;
453  t57 = 7119.0/1408.0*t56;
454  t58 = t31-t33-t35+t37+t39-t41+t43-t45-t47+t49-t51+t53+t55-t57;
455  t59 = 2163.0/2720.0*t1;
456  t60 = 595.0/352.0*t34;
457  t61 = 2835.0/352.0*t36;
458  t62 = 2121.0/544.0*t4;
459  t63 = t1*t7;
460  t64 = 2079.0/136.0*t63;
461  t65 = 2079.0/544.0*t7;
462  t66 = 2079.0/544.0*t12;
463  t67 = 7119.0/2816.0*t42;
464  t68 = 7119.0/1408.0*t44;
465  t69 = t63*t9;
466  t70 = 18711.0/2720.0*t69;
467  t71 = t1*t12;
468  t72 = 6237.0/1360.0*t71;
469  t73 = t4*t9;
470  t74 = 3003.0/680.0*t73;
471  t75 = t4*t7;
472  t76 = 3003.0/340.0*t75;
473  t77 = 11907.0/2816.0*t54;
474  t78 = 3969.0/1408.0*t56;
475  t79 = -t31-t59-t60+t61-t62+t64-t65+t66+t67-t68+t70-t72+t74-t76+t77-t78+563.0/1360.0;
476  t80 = t31+t33-t35+t37-t39+t41+t43-t45+t47-t49+t51-t53+t55-t57;
477  t81 = -t31+t59-t60+t61+t62-t64+t65-t66+t67-t68-t70+t72-t74+t76+t77-t78-563.0/1360.0;
478  t82 = 5247.0/2720.0*t1;
479  t83 = 9.0/8.0*t2;
480  t84 = 1323.0/272.0*t4;
481  t85 = 1953.0/272.0*t63;
482  t86 = 231.0/32.0*t5;
483  t87 = 231.0/16.0*t10;
484  t88 = 231.0/32.0*t13;
485  t89 = 87.0/16.0*eta;
486  t90 = 1869.0/544.0*t7;
487  t91 = 105.0/4.0*t8;
488  t92 = 1827.0/272.0*t12;
489  t93 = 16443.0/1360.0*t69;
490  t94 = 5481.0/680.0*t71;
491  t95 = 6237.0/2720.0*t73;
492  t96 = 6237.0/1360.0*t75;
493  t97 = 21.0/2.0*t19;
494  t98 = 21.0/2.0*t21;
495  t99 = t82+t83-t84+t85+t86-t87+t88+t89-t90-t91+t92+t93-t94+t95-t96-t97+t98+3.0/1360.0;
496  t100 = 5247.0/1360.0*t32;
497  t101 = 651.0/136.0*t38;
498  t102 = 1323.0/68.0*t40;
499  t103 = 99.0/16.0*eta;
500  t104 = 6237.0/680.0*t46;
501  t105 = 6237.0/1360.0*t48;
502  t106 = 5481.0/680.0*t50;
503  t107 = 5481.0/680.0*t52;
504  t108 = -t100+t83-t101+t102-t86+t87-t88-t103+t91+t104-t105+t106-t107+t97-t98;
505  t109 = -t82+t83+t84-t85+t86-t87+t88+t89+t90-t91-t92-t93+t94-t95+t96-t97+t98-3.0/1360.0;
506  t110 = t100+t83+t101-t102-t86+t87-t88-t103+t91-t104+t105-t106+t107+t97-t98;
507  t111 = 27.0/352.0*xi;
508  t112 = 2187.0/1360.0*t32;
509  t113 = 1035.0/352.0*t34;
510  t114 = 1161.0/136.0*t38;
511  t115 = t111+t112-t113+t61+t114-t102+t67-t68-t104+t105-t106+t107+t77-t78;
512  t116 = 2187.0/2720.0*t1;
513  t117 = 3105.0/352.0*t36;
514  t118 = 3483.0/272.0*t63;
515  t119 = 2889.0/544.0*t7;
516  t120 = -t111+t116-t35+t117-t84+t118-t119+t92+t43-t45+t93-t94+t95-t96+t55-t57+513.0/1360.0;
517  t121 = t111-t112-t113+t61-t114+t102+t67-t68+t104-t105+t106-t107+t77-t78;
518  t122 = -t111-t116-t35+t117+t84-t118+t119-t92+t43-t45-t93+t94-t95+t96+t55-t57-513.0/1360.0;
519  t123 = 2937.0/2720.0*t1;
520  t124 = 3311.0/544.0*t4;
521  t125 = t123-t3-t124+t64+t24-t25+t26+t27-t65-t28+t66+t70-t72+t74-t76-t20+t22+77.0/340.0;
522  t126 = 2937.0/1360.0*t32;
523  t127 = 3311.0/136.0*t40;
524  t128 = 363.0/64.0*eta;
525  t129 = 1925.0/64.0*t8;
526  t130 = -t126-t3-t39+t127-t6+t11-t14-t128+t129+t47-t49+t51-t53+t20-t22;
527  t131 = -t123-t3+t124-t64+t24-t25+t26+t27+t65-t28-t66-t70+t72-t74+t76-t20+t22-77.0/340.0;
528  t132 = t126-t3+t39-t127-t6+t11-t14-t128+t129-t47+t49-t51+t53+t20-t22;
529  t157 = 369.0/32.0*t2;
530  t158 = 1155.0/256.0*t5;
531  t159 = 1155.0/128.0*t10;
532  t160 = 1155.0/256.0*t13;
533  t163 = 105.0/16.0*t19;
534  t164 = 105.0/16.0*t21;
535 
536  values[0] = t23;
537  values[1] = t29;
538  values[2] = t30;
539  values[3] = t29;
540  values[4] = t58;
541  values[5] = t79;
542  values[6] = t80;
543  values[7] = t81;
544  values[8] = t99;
545  values[9] = t108;
546  values[10] = t109;
547  values[11] = t110;
548  values[12] = t115;
549  values[13] = t120;
550  values[14] = t121;
551  values[15] = t122;
552  values[16] = t125;
553  values[17] = t130;
554  values[18] = t131;
555  values[19] = t132;
556  values[20] = -297.0/16.0*t2+1155.0/128.0*t5+1155.0/64.0*t10-1155.0/128.0*t13+t89+105.0/16.0*t8;
557  values[21] = 2163.0/680.0*t32-693.0/34.0*t38+2121.0/68.0*t40+3003.0/85.0*t46-3003.0/170.0*t48+6237.0/680.0*t50-6237.0/680.0*t52;
558  values[22] = 2163.0/1360.0*t1+2121.0/272.0*t4-2079.0/68.0*t63+9219.0/272.0*t7-12789.0/272.0*t12-18711.0/1360.0*t69+6237.0/680.0*t71-3003.0/340.0*t73+3003.0/170.0*t75-579.0/340.0;
559  values[23] = -t157+t158+t159-t160-51.0/32.0*eta+525.0/32.0*t8+t163-t164;
560  values[24] = 325.0/88.0*xi-175.0/88.0*t34-525.0/88.0*t36-1575.0/704.0*t42+1575.0/352.0*t44+4725.0/704.0*t54-1575.0/352.0*t56;
561  values[25] = -t157+t158+t159-t160+369.0/32.0*eta-315.0/32.0*t8-t163+t164;
562  values[26] = -2187.0/680.0*t32-1161.0/68.0*t38+1323.0/34.0*t40+6237.0/340.0*t46-6237.0/680.0*t48+5481.0/340.0*t50-5481.0/340.0*t52;
563  values[27] = 945.0/136.0*t1-525.0/272.0*t4-2205.0/136.0*t63+105.0/136.0*t7+1575.0/272.0*t12+2835.0/272.0*t69-945.0/136.0*t71-1155.0/272.0*t73+1155.0/136.0*t75-45.0/34.0;
564  values[28] = 945.0/68.0*t32-735.0/68.0*t38-525.0/68.0*t40+1155.0/68.0*t46-1155.0/136.0*t48-945.0/136.0*t50+945.0/136.0*t52;
565  values[29] = -2187.0/1360.0*t1+1323.0/136.0*t4-3483.0/136.0*t63+12069.0/272.0*t7-3591.0/68.0*t12-16443.0/680.0*t69+5481.0/340.0*t71-6237.0/1360.0*t73+6237.0/680.0*t75-351.0/85.0;
566 }
567 
568 static void N_Q_Q5_2D_DeriveXiXi(double xi, double eta, double *values)
569 {
570  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
571  double t16, t17, t18, t19, t20, t21, t22, t23, t26, t27, t28, t29, t30;
572  double t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43;
573  double t44, t46, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57;
574  double t58, t59, t60, t61, t62, t64, t65, t66, t67, t68, t69, t70, t71;
575  double t72, t73, t74, t75, t76, t77, t78, t79, t80, t81, t82, t83, t84;
576  double t85, t86, t87, t88, t89, t90, t91, t93, t94, t95, t97, t98, t99;
577  double t100, t101, t102, t103, t104, t126, t127, t128, t129, t131, t132;
578 
579  t1 = eta*eta;
580  t2 = 297.0/64.0*t1;
581  t3 = xi*xi;
582  t4 = t3-t1;
583  t5 = t3*t4;
584  t6 = 7623.0/256.0*t5;
585  t7 = t3*t3;
586  t8 = 22869.0/512.0*t7;
587  t9 = t1*t1;
588  t10 = 4851.0/512.0*t9;
589  t11 = 3465.0/64.0*t3;
590  t12 = t1*t4;
591  t13 = 231.0/32.0*t12;
592  t14 = t3*t1;
593  t15 = 1155.0/32.0*t14;
594  t16 = t2-t6-t8-t10-297.0/64.0+t11-t13-t15;
595  t17 = 14553.0/256.0*t5;
596  t18 = 43659.0/512.0*t7;
597  t19 = 2541.0/512.0*t9;
598  t20 = 105.0/4.0*xi;
599  t21 = 4095.0/64.0*t3;
600  t22 = t3*xi;
601  t23 = 315.0/4.0*t22;
602  t26 = xi*eta;
603  t27 = 2835.0/176.0*t26;
604  t28 = xi*t1;
605  t29 = 2079.0/68.0*t28;
606  t30 = 2079.0/272.0*xi;
607  t31 = 2079.0/136.0*t22;
608  t32 = t26*t4;
609  t33 = 11907.0/1408.0*t32;
610  t34 = t22*eta;
611  t35 = 27783.0/1408.0*t34;
612  t36 = xi*t9;
613  t37 = 9009.0/340.0*t36;
614  t38 = t28*t4;
615  t39 = 18711.0/1360.0*t38;
616  t40 = t22*t1;
617  t41 = 43659.0/1360.0*t40;
618  t42 = t1*eta;
619  t43 = xi*t42;
620  t44 = 21357.0/1408.0*t43;
621  t46 = 2163.0/1360.0*eta;
622  t47 = 1785.0/176.0*t26;
623  t48 = t3*eta;
624  t49 = 6363.0/136.0*t48;
625  t50 = 693.0/68.0*t42;
626  t51 = 21357.0/1408.0*t32;
627  t52 = 49833.0/1408.0*t34;
628  t53 = t42*t4;
629  t54 = 6237.0/1360.0*t53;
630  t55 = t3*t42;
631  t56 = 6237.0/272.0*t55;
632  t57 = t48*t4;
633  t58 = 9009.0/170.0*t57;
634  t59 = t7*eta;
635  t60 = 27027.0/340.0*t59;
636  t61 = 11907.0/1408.0*t43;
637  t62 = -t46-t47-t49+t50+t51+t52+t54+t56+t58+t60+t61;
638  t64 = t46-t47+t49-t50+t51+t52-t54-t56-t58-t60+t61;
639  t65 = 5247.0/1360.0*eta;
640  t66 = 9.0/8.0*t1;
641  t67 = 3969.0/68.0*t48;
642  t68 = 651.0/136.0*t42;
643  t69 = 693.0/16.0*t5;
644  t70 = 2079.0/32.0*t7;
645  t71 = 231.0/32.0*t9;
646  t72 = 315.0/4.0*t3;
647  t73 = 5481.0/680.0*t53;
648  t74 = 5481.0/136.0*t55;
649  t75 = 18711.0/680.0*t57;
650  t76 = 56133.0/1360.0*t59;
651  t77 = 21.0/2.0*t12;
652  t78 = 105.0/2.0*t14;
653  t79 = t65+t66-t67+t68-t69-t70-t71-99.0/16.0+t72+t73+t74+t75+t76-t77-t78;
654  t80 = 1953.0/136.0*t28;
655  t81 = 1869.0/272.0*xi;
656  t82 = 1827.0/68.0*t22;
657  t83 = 18711.0/1360.0*t36;
658  t84 = 16443.0/680.0*t38;
659  t85 = 38367.0/680.0*t40;
660  t86 = t66-t80+t69+t70+t71+87.0/16.0+t81-t72-t82+t83+t84+t85+t77+t78;
661  t87 = -t65+t66+t67-t68-t69-t70-t71-99.0/16.0+t72-t73-t74-t75-t76-t77-t78;
662  t88 = t66+t80+t69+t70+t71+87.0/16.0-t81-t72+t82-t83-t84-t85+t77+t78;
663  t89 = 3105.0/176.0*t26;
664  t90 = 3483.0/136.0*t28;
665  t91 = 2889.0/272.0*xi;
666  t93 = 2187.0/1360.0*eta;
667  t94 = 1161.0/136.0*t42;
668  t95 = t93-t27-t67+t94+t33+t35+t73+t74+t75+t76+t44;
669  t97 = -t93-t27+t67-t94+t33+t35-t73-t74-t75-t76+t44;
670  t98 = 2937.0/1360.0*eta;
671  t99 = 9933.0/136.0*t48;
672  t100 = 5775.0/64.0*t3;
673  t101 = t98-t2-t99+t50-t17-t18-t19-363.0/64.0+t100+t54+t56+t58+t60-t13-t15;
674  t102 = -t2-t29+t6+t8+t10+297.0/64.0+t30-t11-t31+t37+t39+t41+t13+t15;
675  t103 = -t98-t2+t99-t50-t17-t18-t19-363.0/64.0+t100-t54-t56-t58-t60-t13-t15;
676  t104 = -t2+t29+t6+t8+t10+297.0/64.0-t30-t11+t31-t37-t39-t41+t13+t15;
677  t126 = 369.0/32.0*t1;
678  t127 = 3465.0/128.0*t5;
679  t128 = 10395.0/256.0*t7;
680  t129 = 1155.0/256.0*t9;
681  t131 = 105.0/16.0*t12;
682  t132 = 525.0/16.0*t14;
683 
684  values[0] = t16;
685  values[1] = t2+t17+t18+t19+123.0/64.0-t20-t21+t23+t13+t15;
686  values[2] = t16;
687  values[3] = t2+t17+t18+t19+123.0/64.0+t20-t21-t23+t13+t15;
688  values[4] = -t27+t29-t30+t31+t33+t35-t37-t39-t41+t44;
689  values[5] = t62;
690  values[6] = -t27-t29+t30-t31+t33+t35+t37+t39+t41+t44;
691  values[7] = t64;
692  values[8] = t79;
693  values[9] = t86;
694  values[10] = t87;
695  values[11] = t88;
696  values[12] = -t89+t90-t91+t82+t51+t52-t83-t84-t85+t61;
697  values[13] = t95;
698  values[14] = -t89-t90+t91-t82+t51+t52+t83+t84+t85+t61;
699  values[15] = t97;
700  values[16] = t101;
701  values[17] = t102;
702  values[18] = t103;
703  values[19] = t104;
704  values[20] = -297.0/16.0*t1-3465.0/64.0*t5-10395.0/128.0*t7+1155.0/128.0*t9+87.0/16.0+315.0/16.0*t3;
705  values[21] = -2079.0/34.0*t28+9219.0/136.0*xi-12789.0/68.0*t22+9009.0/170.0*t36+18711.0/680.0*t38+43659.0/680.0*t40;
706  values[22] = 2163.0/680.0*eta+6363.0/68.0*t48-693.0/34.0*t42-6237.0/680.0*t53-6237.0/136.0*t55-9009.0/85.0*t57-27027.0/170.0*t59;
707  values[23] = -t126-t127-t128+t129+369.0/32.0-945.0/32.0*t3+t131+t132;
708  values[24] = -525.0/44.0*t26-4725.0/352.0*t32-11025.0/352.0*t34+4725.0/352.0*t43;
709  values[25] = -t126-t127-t128+t129-51.0/32.0+1575.0/32.0*t3-t131-t132;
710  values[26] = -3483.0/68.0*t28+12069.0/136.0*xi-3591.0/17.0*t22+18711.0/680.0*t36+16443.0/340.0*t38+38367.0/340.0*t40;
711  values[27] = 945.0/68.0*eta-1575.0/68.0*t48-735.0/68.0*t42+945.0/136.0*t53+4725.0/136.0*t55-3465.0/68.0*t57-10395.0/136.0*t59;
712  values[28] = -2205.0/68.0*t28+105.0/68.0*xi+1575.0/68.0*t22+3465.0/136.0*t36-2835.0/136.0*t38-6615.0/136.0*t40;
713  values[29] = -2187.0/680.0*eta+3969.0/34.0*t48-1161.0/68.0*t42-5481.0/340.0*t53-5481.0/68.0*t55-18711.0/340.0*t57-56133.0/680.0*t59;
714 }
715 
716 static void N_Q_Q5_2D_DeriveXiEta(double xi, double eta, double *values)
717 {
718  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
719  double t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28;
720  double t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41;
721  double t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54;
722  double t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66, t67;
723  double t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80;
724  double t81, t82, t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93;
725  double t94, t95, t96, t97, t98, t99, t100, t101, t102, t103, t104, t105;
726  double t106, t107, t108, t109, t132, t135;
727 
728  t1 = xi*eta;
729  t2 = 297.0/32.0*t1;
730  t3 = xi*xi;
731  t4 = t3*xi;
732  t5 = t4*eta;
733  t6 = 693.0/128.0*t5;
734  t7 = eta*eta;
735  t8 = t7*eta;
736  t9 = xi*t8;
737  t10 = 3003.0/128.0*t9;
738  t11 = t3-t7;
739  t12 = t1*t11;
740  t13 = 231.0/16.0*t12;
741  t14 = t2+t6-t10-t13;
742  t15 = 3003.0/128.0*t5;
743  t16 = 693.0/128.0*t9;
744  t17 = t2-t15+t16+t13;
745  t18 = 2163.0/1360.0*eta;
746  t19 = 2835.0/352.0*t3;
747  t20 = 1785.0/352.0*t7;
748  t21 = t3*eta;
749  t22 = 2079.0/68.0*t21;
750  t23 = 2121.0/136.0*t8;
751  t24 = t3*t11;
752  t25 = 11907.0/2816.0*t24;
753  t26 = t3*t7;
754  t27 = 4725.0/704.0*t26;
755  t28 = t3*t3;
756  t29 = 3969.0/1408.0*t28;
757  t30 = t8*t11;
758  t31 = 3003.0/170.0*t30;
759  t32 = t7*t7;
760  t33 = t32*eta;
761  t34 = 3003.0/340.0*t33;
762  t35 = t3*t8;
763  t36 = 29337.0/1360.0*t35;
764  t37 = t21*t11;
765  t38 = 18711.0/1360.0*t37;
766  t39 = t28*eta;
767  t40 = 6237.0/680.0*t39;
768  t41 = t7*t11;
769  t42 = 21357.0/2816.0*t41;
770  t43 = 7119.0/1408.0*t32;
771  t44 = 237.0/352.0-t18-t19+t20+t22-t23+t25+t27+t29-t31+t34-t36-t38-t40+t42-t43;
772  t45 = 2163.0/1360.0*xi;
773  t46 = 1785.0/352.0*t3;
774  t47 = 2835.0/352.0*t7;
775  t48 = 2121.0/136.0*t4;
776  t49 = xi*t7;
777  t50 = 2079.0/68.0*t49;
778  t51 = 21357.0/2816.0*t24;
779  t52 = 7119.0/1408.0*t28;
780  t53 = t49*t11;
781  t54 = 18711.0/1360.0*t53;
782  t55 = xi*t32;
783  t56 = 6237.0/680.0*t55;
784  t57 = t4*t7;
785  t58 = 29337.0/1360.0*t57;
786  t59 = t4*t11;
787  t60 = 3003.0/170.0*t59;
788  t61 = t28*xi;
789  t62 = 3003.0/340.0*t61;
790  t63 = 11907.0/2816.0*t41;
791  t64 = 3969.0/1408.0*t32;
792  t65 = -237.0/352.0-t45-t46+t47-t48+t50+t51-t27+t52+t54-t56-t58+t60+t62+t63-t64;
793  t66 = 237.0/352.0+t18-t19+t20-t22+t23+t25+t27+t29+t31-t34+t36+t38+t40+t42-t43;
794  t67 = -237.0/352.0+t45-t46+t47+t48-t50+t51-t27+t52-t54+t56+t58-t60-t62+t63-t64;
795  t68 = 5247.0/1360.0*xi;
796  t69 = 9.0/4.0*t1;
797  t70 = 1323.0/68.0*t4;
798  t71 = 1953.0/136.0*t49;
799  t72 = 63.0/8.0*t5;
800  t73 = 63.0/8.0*t9;
801  t74 = 16443.0/680.0*t53;
802  t75 = 5481.0/340.0*t55;
803  t76 = 3969.0/680.0*t57;
804  t77 = 6237.0/680.0*t59;
805  t78 = 6237.0/1360.0*t61;
806  t79 = 21.0*t12;
807  t80 = t68+t69-t70+t71+t72-t73+t74-t75+t76+t77+t78-t79;
808  t81 = 5247.0/1360.0*eta;
809  t82 = 1953.0/136.0*t21;
810  t83 = 1323.0/68.0*t8;
811  t84 = 6237.0/680.0*t30;
812  t85 = 6237.0/1360.0*t33;
813  t86 = 3969.0/680.0*t35;
814  t87 = 16443.0/680.0*t37;
815  t88 = 5481.0/340.0*t39;
816  t89 = -t81+t69-t82+t83-t72+t73+t84-t85-t86+t87+t88+t79;
817  t90 = -t68+t69+t70-t71+t72-t73-t74+t75-t76-t77-t78-t79;
818  t91 = t81+t69+t82-t83-t72+t73-t84+t85+t86-t87-t88+t79;
819  t92 = 2187.0/1360.0*eta;
820  t93 = 3105.0/352.0*t3;
821  t94 = 3483.0/136.0*t21;
822  t95 = 27.0/352.0+t92-t93+t47+t94-t83+t51-t27+t52-t84+t85+t86-t87-t88+t63-t64;
823  t96 = 2187.0/1360.0*xi;
824  t97 = 3105.0/352.0*t7;
825  t98 = 3483.0/136.0*t49;
826  t99 = -27.0/352.0+t96-t19+t97-t70+t98+t25+t27+t29+t74-t75+t76+t77+t78+t42-t43;
827  t100 = 27.0/352.0-t92-t93+t47-t94+t83+t51-t27+t52+t84-t85-t86+t87+t88+t63-t64;
828  t101 = -27.0/352.0-t96-t19+t97+t70-t98+t25+t27+t29-t74+t75-t76-t77-t78+t42-t43;
829  t102 = 2937.0/1360.0*xi;
830  t103 = 3311.0/136.0*t4;
831  t104 = t102-t2-t103+t50+t15-t16+t54-t56-t58+t60+t62-t13;
832  t105 = 2937.0/1360.0*eta;
833  t106 = 3311.0/136.0*t8;
834  t107 = -t105-t2-t22+t106-t6+t10+t31-t34+t36+t38+t40+t13;
835  t108 = -t102-t2+t103-t50+t15-t16-t54+t56+t58-t60-t62-t13;
836  t109 = t105-t2+t22-t106-t6+t10-t31+t34-t36-t38-t40+t13;
837  t132 = 369.0/16.0*t1;
838  t135 = 105.0/8.0*t12;
839 
840  values[0] = t14;
841  values[1] = t17;
842  values[2] = t14;
843  values[3] = t17;
844  values[4] = t44;
845  values[5] = t65;
846  values[6] = t66;
847  values[7] = t67;
848  values[8] = t80;
849  values[9] = t89;
850  values[10] = t90;
851  values[11] = t91;
852  values[12] = t95;
853  values[13] = t99;
854  values[14] = t100;
855  values[15] = t101;
856  values[16] = t104;
857  values[17] = t107;
858  values[18] = t108;
859  values[19] = t109;
860  values[20] = -297.0/8.0*t1+1155.0/32.0*t5+1155.0/32.0*t9;
861  values[21] = 2163.0/680.0*eta-2079.0/34.0*t21+2121.0/68.0*t8+3003.0/85.0*t30-3003.0/170.0*t33+29337.0/680.0*t35+18711.0/680.0*t37+6237.0/340.0*t39;
862  values[22] = 2163.0/680.0*xi+2121.0/68.0*t4-2079.0/34.0*t49-18711.0/680.0*t53+6237.0/340.0*t55+29337.0/680.0*t57-3003.0/85.0*t59-3003.0/170.0*t61;
863  values[23] = -t132+1995.0/64.0*t5+315.0/64.0*t9+t135;
864  values[24] = 325.0/88.0-525.0/88.0*t3-525.0/88.0*t7-4725.0/704.0*t24+4725.0/176.0*t26-1575.0/352.0*t28+4725.0/704.0*t41-1575.0/352.0*t32;
865  values[25] = -t132+315.0/64.0*t5+1995.0/64.0*t9-t135;
866  values[26] = -2187.0/680.0*eta-3483.0/68.0*t21+1323.0/34.0*t8+6237.0/340.0*t30-6237.0/680.0*t33-3969.0/340.0*t35+16443.0/340.0*t37+5481.0/170.0*t39;
867  values[27] = 945.0/68.0*xi-525.0/68.0*t4-2205.0/68.0*t49+2835.0/136.0*t53-945.0/68.0*t55+7455.0/136.0*t57-1155.0/68.0*t59-1155.0/136.0*t61;
868  values[28] = 945.0/68.0*eta-2205.0/68.0*t21-525.0/68.0*t8+1155.0/68.0*t30-1155.0/136.0*t33+7455.0/136.0*t35-2835.0/136.0*t37-945.0/68.0*t39;
869  values[29] = -2187.0/680.0*xi+1323.0/34.0*t4-3483.0/68.0*t49-16443.0/340.0*t53+5481.0/170.0*t55-3969.0/340.0*t57-6237.0/340.0*t59-6237.0/680.0*t61;
870 }
871 
872 static void N_Q_Q5_2D_DeriveEtaEta(double xi, double eta, double *values)
873 {
874  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
875  double t16, t17, t18, t20, t21, t22, t23, t24, t26, t27, t28, t29, t30;
876  double t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43;
877  double t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56;
878  double t57, t58, t59, t60, t61, t63, t65, t66, t67, t68, t69, t70, t71;
879  double t72, t73, t74, t75, t76, t77, t78, t79, t80, t81, t82, t83, t84;
880  double t85, t86, t87, t88, t89, t90, t91, t92, t93, t94, t96, t98, t99;
881  double t100, t101, t102, t103, t104, t126, t127, t128, t129, t131, t132;
882 
883  t1 = xi*xi;
884  t2 = 297.0/64.0*t1;
885  t3 = t1*t1;
886  t4 = 2541.0/512.0*t3;
887  t5 = eta*eta;
888  t6 = t1-t5;
889  t7 = t5*t6;
890  t8 = 14553.0/256.0*t7;
891  t9 = t5*t5;
892  t10 = 43659.0/512.0*t9;
893  t11 = 105.0/4.0*eta;
894  t12 = 4095.0/64.0*t5;
895  t13 = t5*eta;
896  t14 = 315.0/4.0*t13;
897  t15 = t1*t6;
898  t16 = 231.0/32.0*t15;
899  t17 = t1*t5;
900  t18 = 1155.0/32.0*t17;
901  t20 = 4851.0/512.0*t3;
902  t21 = 7623.0/256.0*t7;
903  t22 = 22869.0/512.0*t9;
904  t23 = 3465.0/64.0*t5;
905  t24 = t2-t20+t21-t22-297.0/64.0+t23+t16-t18;
906  t26 = 2163.0/1360.0*xi;
907  t27 = xi*eta;
908  t28 = 1785.0/176.0*t27;
909  t29 = t1*xi;
910  t30 = 693.0/68.0*t29;
911  t31 = xi*t5;
912  t32 = 6363.0/136.0*t31;
913  t33 = t29*eta;
914  t34 = 11907.0/1408.0*t33;
915  t35 = t31*t6;
916  t36 = 9009.0/170.0*t35;
917  t37 = xi*t9;
918  t38 = 27027.0/340.0*t37;
919  t39 = t29*t6;
920  t40 = 6237.0/1360.0*t39;
921  t41 = t29*t5;
922  t42 = 6237.0/272.0*t41;
923  t43 = t27*t6;
924  t44 = 21357.0/1408.0*t43;
925  t45 = xi*t13;
926  t46 = 49833.0/1408.0*t45;
927  t47 = -t26+t28+t30-t32-t34-t36+t38-t40+t42+t44-t46;
928  t48 = 2835.0/176.0*t27;
929  t49 = t1*eta;
930  t50 = 2079.0/68.0*t49;
931  t51 = 2079.0/272.0*eta;
932  t52 = 2079.0/136.0*t13;
933  t53 = 21357.0/1408.0*t33;
934  t54 = t49*t6;
935  t55 = 18711.0/1360.0*t54;
936  t56 = t1*t13;
937  t57 = 43659.0/1360.0*t56;
938  t58 = t3*eta;
939  t59 = 9009.0/340.0*t58;
940  t60 = 11907.0/1408.0*t43;
941  t61 = 27783.0/1408.0*t45;
942  t63 = t26+t28-t30+t32-t34+t36-t38+t40-t42+t44-t46;
943  t65 = 9.0/8.0*t1;
944  t66 = 1953.0/136.0*t49;
945  t67 = 231.0/32.0*t3;
946  t68 = 693.0/16.0*t7;
947  t69 = 2079.0/32.0*t9;
948  t70 = 1869.0/272.0*eta;
949  t71 = 315.0/4.0*t5;
950  t72 = 1827.0/68.0*t13;
951  t73 = 16443.0/680.0*t54;
952  t74 = 38367.0/680.0*t56;
953  t75 = 18711.0/1360.0*t58;
954  t76 = 21.0/2.0*t15;
955  t77 = 105.0/2.0*t17;
956  t78 = t65+t66+t67-t68+t69+87.0/16.0-t70-t71+t72+t73-t74-t75-t76+t77;
957  t79 = 5247.0/1360.0*xi;
958  t80 = 651.0/136.0*t29;
959  t81 = 3969.0/68.0*t31;
960  t82 = 18711.0/680.0*t35;
961  t83 = 56133.0/1360.0*t37;
962  t84 = 5481.0/680.0*t39;
963  t85 = 5481.0/136.0*t41;
964  t86 = -t79+t65-t80+t81-t67+t68-t69-99.0/16.0+t71+t82-t83+t84-t85+t76-t77;
965  t87 = t65-t66+t67-t68+t69+87.0/16.0+t70-t71-t72-t73+t74+t75-t76+t77;
966  t88 = t79+t65+t80-t81-t67+t68-t69-99.0/16.0+t71-t82+t83-t84+t85+t76-t77;
967  t89 = 2187.0/1360.0*xi;
968  t90 = 1161.0/136.0*t29;
969  t91 = t89+t48+t90-t81-t53-t82+t83-t84+t85+t60-t61;
970  t92 = 3105.0/176.0*t27;
971  t93 = 3483.0/136.0*t49;
972  t94 = 2889.0/272.0*eta;
973  t96 = -t89+t48-t90+t81-t53+t82-t83+t84-t85+t60-t61;
974  t98 = -t2+t50+t20-t21+t22+297.0/64.0-t51-t23+t52+t55-t57-t59-t16+t18;
975  t99 = 2937.0/1360.0*xi;
976  t100 = 9933.0/136.0*t31;
977  t101 = 5775.0/64.0*t5;
978  t102 = -t99-t2-t30+t100-t4+t8-t10-363.0/64.0+t101+t36-t38+t40-t42+t16-t18;
979  t103 = -t2-t50+t20-t21+t22+297.0/64.0+t51-t23-t52-t55+t57+t59-t16+t18;
980  t104 = t99-t2+t30-t100-t4+t8-t10-363.0/64.0+t101-t36+t38-t40+t42+t16-t18;
981  t126 = 369.0/32.0*t1;
982  t127 = 1155.0/256.0*t3;
983  t128 = 3465.0/128.0*t7;
984  t129 = 10395.0/256.0*t9;
985  t131 = 105.0/16.0*t15;
986  t132 = 525.0/16.0*t17;
987 
988  values[0] = t2+t4-t8+t10+123.0/64.0+t11-t12-t14-t16+t18;
989  values[1] = t24;
990  values[2] = t2+t4-t8+t10+123.0/64.0-t11-t12+t14-t16+t18;
991  values[3] = t24;
992  values[4] = t47;
993  values[5] = t48+t50-t51+t52-t53+t55-t57-t59+t60-t61;
994  values[6] = t63;
995  values[7] = t48-t50+t51-t52-t53-t55+t57+t59+t60-t61;
996  values[8] = t78;
997  values[9] = t86;
998  values[10] = t87;
999  values[11] = t88;
1000  values[12] = t91;
1001  values[13] = t92+t93-t94+t72-t34+t73-t74-t75+t44-t46;
1002  values[14] = t96;
1003  values[15] = t92-t93+t94-t72-t34-t73+t74+t75+t44-t46;
1004  values[16] = t98;
1005  values[17] = t102;
1006  values[18] = t103;
1007  values[19] = t104;
1008  values[20] = -297.0/16.0*t1+1155.0/128.0*t3+3465.0/64.0*t7-10395.0/128.0*t9+87.0/16.0+315.0/16.0*t5;
1009  values[21] = 2163.0/680.0*xi-693.0/34.0*t29+6363.0/68.0*t31+9009.0/85.0*t35-27027.0/170.0*t37+6237.0/680.0*t39-6237.0/136.0*t41;
1010  values[22] = -2079.0/34.0*t49+9219.0/136.0*eta-12789.0/68.0*t13-18711.0/680.0*t54+43659.0/680.0*t56+9009.0/170.0*t58;
1011  values[23] = -t126+t127+t128-t129-51.0/32.0+1575.0/32.0*t5+t131-t132;
1012  values[24] = -525.0/44.0*t27+4725.0/352.0*t33+4725.0/352.0*t43-11025.0/352.0*t45;
1013  values[25] = -t126+t127+t128-t129+369.0/32.0-945.0/32.0*t5-t131+t132;
1014  values[26] = -2187.0/680.0*xi-1161.0/68.0*t29+3969.0/34.0*t31+18711.0/340.0*t35-56133.0/680.0*t37+5481.0/340.0*t39-5481.0/68.0*t41;
1015  values[27] = -2205.0/68.0*t49+105.0/68.0*eta+1575.0/68.0*t13+2835.0/136.0*t54-6615.0/136.0*t56+3465.0/136.0*t58;
1016  values[28] = 945.0/68.0*xi-735.0/68.0*t29-1575.0/68.0*t31+3465.0/68.0*t35-10395.0/136.0*t37-945.0/136.0*t39+4725.0/136.0*t41;
1017  values[29] = -3483.0/68.0*t49+12069.0/136.0*eta-3591.0/17.0*t13-16443.0/340.0*t54+38367.0/340.0*t56+18711.0/680.0*t58;
1018 }
1019 
1020 static int N_Q_Q5_2D_ChangeJ0[2] = { 4, 12 };
1021 static int N_Q_Q5_2D_ChangeJ1[2] = { 5, 13 };
1022 static int N_Q_Q5_2D_ChangeJ2[2] = { 6, 14 };
1023 static int N_Q_Q5_2D_ChangeJ3[2] = { 7, 15 };
1024 
1025 static int *N_Q_Q5_2D_Change[4] = { N_Q_Q5_2D_ChangeJ0, N_Q_Q5_2D_ChangeJ1,
1026  N_Q_Q5_2D_ChangeJ2, N_Q_Q5_2D_ChangeJ3 };
1027 // ***********************************************************************
1028 
1029 TBaseFunct2D *BF_N_Q_Q5_2D_Obj = new TBaseFunct2D
1030  (30, BF_N_Q_Q5_2D, BFUnitSquare,
1031  N_Q_Q5_2D_Funct, N_Q_Q5_2D_DeriveXi,
1032  N_Q_Q5_2D_DeriveEta, N_Q_Q5_2D_DeriveXiXi,
1033  N_Q_Q5_2D_DeriveXiEta, N_Q_Q5_2D_DeriveEtaEta, 6, 5,
1034  2, N_Q_Q5_2D_Change);
Definition: BaseFunct2D.h:27