ParMooN
 All Classes Functions Variables Friends Pages
BF_C_T_UL4_2D.h
1 // ********************************************************************
2 // P4 element with bubbles, conforming, 2D
3 // ********************************************************************
4 
5 // base function values
6 static void C_T_UL4_2D_Funct(double xi, double eta, double *values)
7 {
8  double t3, t5, t7, t9, t11, t13, t15, t17, t18, t19, t20, t22, t24, t26;
9  double t27, t28, t29, t31, t33, t36, t37, t39, t42, t45, t46, t47, t51;
10  double t55, t57, t59, t60, t62, t64, t65, t68, t74, t76, t77, t78, t79;
11  double t80, t81, t82, t85, t90, t92, t95, t96, t98, t103, t106, t108;
12  double t109, t110, t111, t117, t119, t122, t132, t135, t142, t145, t154;
13  double t162, t164, t166, t167, t176, t186, t188, t189, t190, t192, t197;
14  double t201, t204, t206, t207, t208, t209, t216, t217, t218, t222, t225;
15  double t226, t227, t228, t234, t237, t243, t244, t248, t251, t257, t263;
16  double t268, t278, t289;
17 
18  t3 = xi*xi;
19  t5 = xi*eta;
20  t7 = eta*eta;
21  t9 = t3*xi;
22  t11 = t3*eta;
23  t13 = xi*t7;
24  t15 = t7*eta;
25  t17 = t3*t3;
26  t18 = 32.0/3.0*t17;
27  t19 = 1.0-25.0/3.0*xi-25.0/3.0*eta+70.0/3.0*t3-140.0*t5+70.0/3.0*t7-80.0/3.0*t9+3320.0/3.0*t11+3320.0/3.0*t13-80.0/3.0*t15+t18;
28  t20 = t9*eta;
29  t22 = t3*t7;
30  t24 = xi*t15;
31  t26 = t7*t7;
32  t27 = 32.0/3.0*t26;
33  t28 = 1.0-xi-eta;
34  t29 = t20*t28;
35  t31 = t22*t28;
36  t33 = t24*t28;
37  t36 = t17*eta*t28;
38  t37 = 2750.0/3.0*t36;
39  t39 = t9*t7*t28;
40  t42 = t3*t15*t28;
41  t45 = xi*t26*t28;
42  t46 = 2750.0/3.0*t45;
43  t47 = -2872.0/3.0*t20-1936.0*t22-2872.0/3.0*t24+t27-5080.0/3.0*t29-3260.0*t31-5080.0/3.0*t33+t37+7700.0/3.0*t39+7700.0/3.0*t42+t46;
44  t51 = 1264.0/3.0*t5;
45  t55 = 128.0/3.0*t17;
46  t57 = 3328.0*t22;
47  t59 = 2560.0/3.0*t29;
48  t60 = 4640.0*t31;
49  t62 = 7040.0/3.0*t39;
50  t64 = 6160.0/3.0*t45;
51  t65 = 16.0*xi-208.0/3.0*t3-t51+96.0*t9+4928.0/3.0*t11+7648.0/3.0*t13-t55-3680.0/3.0*t20-t57-2144.0*t24-t59-t60-11200.0/3.0*t33+t62+12320.0/3.0*t42+t64;
52  t68 = 268.0*t5;
53  t74 = 2400.0*t22;
54  t76 = 1280.0*t29;
55  t77 = 4800.0*t31;
56  t78 = 1280.0*t33;
57  t79 = 3520.0*t39;
58  t80 = 3520.0*t42;
59  t81 = 440.0*t45;
60  t82 = -12.0*xi+76.0*t3+t68-128.0*t9-1664.0*t11-1312.0*t13+64.0*t17+1408.0*t20+t74+1056.0*t24+t76+t77+t78-t79-t80-t81;
61  t85 = 112.0*t5;
62  t90 = 1024.0*t22;
63  t92 = 1760.0*t31;
64  t95 = 880.0/3.0*t45;
65  t96 = 16.0/3.0*xi-112.0/3.0*t3-t85+224.0/3.0*t9+2240.0/3.0*t11+1568.0/3.0*t13-t55-1952.0/3.0*t20-t90-416.0*t24-t59-t92-1600.0/3.0*t33+t62+1760.0/3.0*t42+t95;
66  t98 = 110.0/3.0*t5;
67  t103 = 420.0*t22;
68  t106 = 240.0*t31;
69  t108 = 550.0/3.0*t39;
70  t109 = 550.0/3.0*t42;
71  t110 = -xi+22.0/3.0*t3+t98-16.0*t9-400.0*t11-280.0/3.0*t13+t18+1090.0/3.0*t20+t103+170.0/3.0*t24+3170.0/3.0*t29+t106+170.0/3.0*t33-t37-t108-t109;
72  t111 = 224.0/3.0*t5;
73  t117 = 1280.0*t31;
74  t119 = 6160.0/3.0*t36;
75  t122 = t111-896.0*t11-896.0/3.0*t13+2512.0/3.0*t20+t90+688.0/3.0*t24+7280.0/3.0*t29+t117+1040.0/3.0*t33-t119-6160.0/3.0*t39-880.0/3.0*t42-t95;
76  t132 = 440.0*t36;
77  t135 = 28.0*t5-224.0*t11-224.0*t13+184.0*t20+432.0*t22+184.0*t24-40.0*t29+2160.0*t31-40.0*t33+t132-2200.0*t39-2200.0*t42+t81;
78  t142 = 880.0/3.0*t36;
79  t145 = t111-896.0/3.0*t11-896.0*t13+688.0/3.0*t20+t90+2512.0/3.0*t24+1040.0/3.0*t29+t117+7280.0/3.0*t33-t142-880.0/3.0*t39-6160.0/3.0*t42-t64;
80  t154 = -eta+t98+22.0/3.0*t7-280.0/3.0*t11-400.0*t13-16.0*t15+170.0/3.0*t20+t103+1090.0/3.0*t24+t27+170.0/3.0*t29+t106+3170.0/3.0*t33-t108-t109-t46;
81  t162 = 128.0/3.0*t26;
82  t164 = 2560.0/3.0*t33;
83  t166 = 7040.0/3.0*t42;
84  t167 = 16.0/3.0*eta-t85-112.0/3.0*t7+1568.0/3.0*t11+2240.0/3.0*t13+224.0/3.0*t15-416.0*t20-t90-1952.0/3.0*t24-t162-1600.0/3.0*t29-t92-t164+t142+1760.0/3.0*t39+t166;
85  t176 = -12.0*eta+t68+76.0*t7-1312.0*t11-1664.0*t13-128.0*t15+1056.0*t20+t74+1408.0*t24+64.0*t26+t76+t77+t78-t132-t79-t80;
86  t186 = 16.0*eta-t51-208.0/3.0*t7+7648.0/3.0*t11+4928.0/3.0*t13+96.0*t15-2144.0*t20-t57-3680.0/3.0*t24-t162-11200.0/3.0*t29-t60-t164+t119+12320.0/3.0*t39+t166;
87  t188 = 1680.0*t11;
88  t189 = 1680.0*t13;
89  t190 = 1260.0*t20;
90  t192 = 1260.0*t24;
91  t197 = 5040.0*t5;
92  t201 = 50400.0*t22;
93  t204 = 70560.0*t31;
94  t206 = 55440.0*t36;
95  t207 = 55440.0*t39;
96  t208 = 55440.0*t42;
97  t209 = -t197+40320.0*t11+20160.0*t13-35280.0*t20-t201-15120.0*t24-75600.0*t29-t204-15120.0*t33+t206+t207+t208;
98  t216 = 55440.0*t45;
99  t217 = -t197+20160.0*t11+40320.0*t13-15120.0*t20-t201-35280.0*t24-15120.0*t29-t204-75600.0*t33+t207+t208+t216;
100  t218 = 300.0*t5;
101  t222 = 2760.0*t22;
102  t225 = 3300.0*t39;
103  t226 = 3300.0*t42;
104  t227 = 660.0*t45;
105  t228 = t218-1800.0*t11-1560.0*t13+1500.0*t20+t222+t192+1500.0*t29+t77+1620.0*t33-t225-t226-t227;
106  t234 = 660.0*t36;
107  t237 = t218-t188-t189+1380.0*t20+t222+1380.0*t24+1740.0*t29+4260.0*t31+1740.0*t33-t234-2640.0*t39-2640.0*t42-t227;
108  t243 = t218-1560.0*t11-1800.0*t13+t190+t222+1500.0*t24+1620.0*t29+t77+1500.0*t33-t234-t225-t226;
109  t244 = 7920.0*t5;
110  t248 = 95040.0*t22;
111  t251 = 142560.0*t31;
112  t257 = -t244+79200.0*t11+31680.0*t13-71280.0*t20-t248-23760.0*t24-166320.0*t29-t251-23760.0*t33+110880.0*t36+166320.0*t39+71280.0*t42+7920.0*t45;
113  t263 = 190080.0*t31;
114  t268 = -t244+63360.0*t11+47520.0*t13-55440.0*t20-t248-39600.0*t24-102960.0*t29-t263-55440.0*t33+t206+182160.0*t39+134640.0*t42+23760.0*t45;
115  t278 = -t244+47520.0*t11+63360.0*t13-39600.0*t20-t248-55440.0*t24-55440.0*t29-t263-102960.0*t33+23760.0*t36+134640.0*t39+182160.0*t42+t216;
116  t289 = -t244+31680.0*t11+79200.0*t13-23760.0*t20-t248-71280.0*t24-23760.0*t29-t251-166320.0*t33+7920.0*t36+71280.0*t39+166320.0*t42+110880.0*t45;
117 
118  values[0] = t19+t47;
119  values[1] = t65;
120  values[2] = t82;
121  values[3] = t96;
122  values[4] = t110;
123  values[5] = t122;
124  values[6] = t135;
125  values[7] = t145;
126  values[8] = t154;
127  values[9] = t167;
128  values[10] = t176;
129  values[11] = t186;
130  values[12] = 420.0*t5-t188-t189+t190+2520.0*t22+t192+1260.0*t29+1260.0*t31+1260.0*t33;
131  values[13] = t209;
132  values[14] = t217;
133  values[15] = t228;
134  values[16] = t237;
135  values[17] = t243;
136  values[18] = t257;
137  values[19] = t268;
138  values[20] = t278;
139  values[21] = t289;
140 }
141 
142 // values of the derivatives in xi direction
143 static void C_T_UL4_2D_DeriveXi(double xi, double eta, double *values)
144 {
145  double t3, t5, t7, t9, t10, t11, t13, t15, t17, t18, t20, t22, t23, t25;
146  double t27, t29, t31, t32, t33, t34, t35, t36, t38, t40, t42, t44, t45;
147  double t46, t47, t48, t49, t52, t56, t58, t60, t61, t62, t63, t64, t67;
148  double t68, t71, t72, t73, t76, t82, t84, t85, t86, t87, t88, t89, t90;
149  double t91, t92, t93, t94, t95, t96, t97, t100, t105, t107, t108, t109;
150  double t114, t115, t116, t119, t124, t127, t129, t130, t133, t134, t135;
151  double t136, t137, t139, t146, t147, t150, t151, t156, t169, t170, t175;
152  double t184, t185, t190, t199, t206, t207, t210, t211, t212, t217, t226;
153  double t228, t229, t230, t232, t239, t240, t244, t248, t249, t252, t253;
154  double t254, t255, t256, t257, t258, t267, t268, t269, t270, t274, t279;
155  double t280, t281, t282, t283, t284, t285, t294, t295, t300, t308, t309;
156  double t313, t317, t318, t329, t336, t337, t346, t361, t378;
157 
158  t3 = xi*xi;
159  t5 = xi*eta;
160  t7 = eta*eta;
161  t9 = t3*xi;
162  t10 = 128.0/3.0*t9;
163  t11 = t3*eta;
164  t13 = xi*t7;
165  t15 = t7*eta;
166  t17 = 1.0-xi-eta;
167  t18 = t11*t17;
168  t20 = t9*eta;
169  t22 = -25.0/3.0+140.0/3.0*xi-140.0*eta-80.0*t3+6640.0/3.0*t5+3320.0/3.0*t7+t10-2872.0*t11-3872.0*t13-2872.0/3.0*t15-5080.0*t18+5080.0/3.0*t20;
170  t23 = t13*t17;
171  t25 = t3*t7;
172  t27 = t15*t17;
173  t29 = xi*t15;
174  t31 = t20*t17;
175  t32 = 11000.0/3.0*t31;
176  t33 = t3*t3;
177  t34 = t33*eta;
178  t35 = 2750.0/3.0*t34;
179  t36 = t25*t17;
180  t38 = t9*t7;
181  t40 = t29*t17;
182  t42 = t3*t15;
183  t44 = t7*t7;
184  t45 = t44*t17;
185  t46 = 2750.0/3.0*t45;
186  t47 = xi*t44;
187  t48 = 2750.0/3.0*t47;
188  t49 = -6520.0*t23+3260.0*t25-5080.0/3.0*t27+5080.0/3.0*t29+t32-t35+7700.0*t36-7700.0/3.0*t38+15400.0/3.0*t40-7700.0/3.0*t42+t46-t48;
189  t52 = 1264.0/3.0*eta;
190  t56 = 512.0/3.0*t9;
191  t58 = 6656.0*t13;
192  t60 = 2560.0*t18;
193  t61 = 16.0-416.0/3.0*xi-t52+288.0*t3+9856.0/3.0*t5+7648.0/3.0*t7-t56-3680.0*t11-t58-2144.0*t15-t60;
194  t62 = 2560.0/3.0*t20;
195  t63 = 9280.0*t23;
196  t64 = 4640.0*t25;
197  t67 = 7040.0*t36;
198  t68 = 7040.0/3.0*t38;
199  t71 = 6160.0/3.0*t45;
200  t72 = 6160.0/3.0*t47;
201  t73 = t62-t63+t64-11200.0/3.0*t27+11200.0/3.0*t29+t67-t68+24640.0/3.0*t40-12320.0/3.0*t42+t71-t72;
202  t76 = 268.0*eta;
203  t82 = 4800.0*t13;
204  t84 = 3840.0*t18;
205  t85 = -12.0+152.0*xi+t76-384.0*t3-3328.0*t5-1312.0*t7+256.0*t9+4224.0*t11+t82+1056.0*t15+t84;
206  t86 = 1280.0*t20;
207  t87 = 9600.0*t23;
208  t88 = 4800.0*t25;
209  t89 = 1280.0*t27;
210  t90 = 1280.0*t29;
211  t91 = 10560.0*t36;
212  t92 = 3520.0*t38;
213  t93 = 7040.0*t40;
214  t94 = 3520.0*t42;
215  t95 = 440.0*t45;
216  t96 = 440.0*t47;
217  t97 = -t86+t87-t88+t89-t90-t91+t92-t93+t94-t95+t96;
218  t100 = 112.0*eta;
219  t105 = 2048.0*t13;
220  t107 = 16.0/3.0-224.0/3.0*xi-t100+224.0*t3+4480.0/3.0*t5+1568.0/3.0*t7-t56-1952.0*t11-t105-416.0*t15-t60;
221  t108 = 3520.0*t23;
222  t109 = 1760.0*t25;
223  t114 = 880.0/3.0*t45;
224  t115 = 880.0/3.0*t47;
225  t116 = t62-t108+t109-1600.0/3.0*t27+1600.0/3.0*t29+t67-t68+3520.0/3.0*t40-1760.0/3.0*t42+t114-t115;
226  t119 = 110.0/3.0*eta;
227  t124 = 840.0*t13;
228  t127 = -1.0+44.0/3.0*xi+t119-48.0*t3-800.0*t5-280.0/3.0*t7+t10+1090.0*t11+t124+170.0/3.0*t15+3170.0*t18;
229  t129 = 480.0*t23;
230  t130 = 240.0*t25;
231  t133 = 550.0*t36;
232  t134 = 550.0/3.0*t38;
233  t135 = 1100.0/3.0*t40;
234  t136 = 550.0/3.0*t42;
235  t137 = -3170.0/3.0*t20+t129-t130+170.0/3.0*t27-170.0/3.0*t29-t32+t35-t133+t134-t135+t136;
236  t139 = 224.0/3.0*eta;
237  t146 = 2560.0*t23;
238  t147 = 1280.0*t25;
239  t150 = 24640.0/3.0*t31;
240  t151 = 6160.0/3.0*t34;
241  t156 = t139-1792.0*t5-896.0/3.0*t7+2512.0*t11+t105+688.0/3.0*t15+7280.0*t18-7280.0/3.0*t20+t146-t147+1040.0/3.0*t27-1040.0/3.0*t29-t150+t151-6160.0*t36+6160.0/3.0*t38-1760.0/3.0*t40+880.0/3.0*t42-t114+t115;
242  t169 = 1760.0*t31;
243  t170 = 440.0*t34;
244  t175 = 28.0*eta-448.0*t5-224.0*t7+552.0*t11+864.0*t13+184.0*t15-120.0*t18+40.0*t20+4320.0*t23-2160.0*t25-40.0*t27+40.0*t29+t169-t170-6600.0*t36+2200.0*t38-4400.0*t40+2200.0*t42+t95-t96;
245  t184 = 3520.0/3.0*t31;
246  t185 = 880.0/3.0*t34;
247  t190 = t139-1792.0/3.0*t5-896.0*t7+688.0*t11+t105+2512.0/3.0*t15+1040.0*t18-1040.0/3.0*t20+t146-t147+7280.0/3.0*t27-7280.0/3.0*t29-t184+t185-880.0*t36+880.0/3.0*t38-12320.0/3.0*t40+6160.0/3.0*t42-t71+t72;
248  t199 = t119-560.0/3.0*t5-400.0*t7+170.0*t11+t124+1090.0/3.0*t15+170.0*t18-170.0/3.0*t20+t129-t130+3170.0/3.0*t27-3170.0/3.0*t29-t133+t134-t135+t136-t46+t48;
249  t206 = 2560.0/3.0*t27;
250  t207 = 2560.0/3.0*t29;
251  t210 = 14080.0/3.0*t40;
252  t211 = 7040.0/3.0*t42;
253  t212 = -t100+3136.0/3.0*t5+2240.0/3.0*t7-1248.0*t11-t105-1952.0/3.0*t15-1600.0*t18+1600.0/3.0*t20-t108+t109-t206+t207+t184-t185+1760.0*t36-1760.0/3.0*t38+t210-t211;
254  t217 = t76-2624.0*t5-1664.0*t7+3168.0*t11+t82+1408.0*t15+t84-t86+t87-t88+t89-t90-t169+t170-t91+t92-t93+t94;
255  t226 = -t52+15296.0/3.0*t5+4928.0/3.0*t7-6432.0*t11-t58-3680.0/3.0*t15-11200.0*t18+11200.0/3.0*t20-t63+t64-t206+t207+t150-t151+12320.0*t36-12320.0/3.0*t38+t210-t211;
256  t228 = 3360.0*t5;
257  t229 = 1680.0*t7;
258  t230 = 3780.0*t11;
259  t232 = 1260.0*t15;
260  t239 = 420.0*eta-t228-t229+t230+5040.0*t13+t232+3780.0*t18-1260.0*t20+2520.0*t23-1260.0*t25+1260.0*t27-1260.0*t29;
261  t240 = 5040.0*eta;
262  t244 = 100800.0*t13;
263  t248 = 141120.0*t23;
264  t249 = 70560.0*t25;
265  t252 = 221760.0*t31;
266  t253 = 55440.0*t34;
267  t254 = 166320.0*t36;
268  t255 = 55440.0*t38;
269  t256 = 110880.0*t40;
270  t257 = 55440.0*t42;
271  t258 = -t240+80640.0*t5+20160.0*t7-105840.0*t11-t244-15120.0*t15-226800.0*t18+75600.0*t20-t248+t249-15120.0*t27+15120.0*t29+t252-t253+t254-t255+t256-t257;
272  t267 = 55440.0*t45;
273  t268 = 55440.0*t47;
274  t269 = -t240+40320.0*t5+40320.0*t7-45360.0*t11-t244-35280.0*t15-45360.0*t18+15120.0*t20-t248+t249-75600.0*t27+75600.0*t29+t254-t255+t256-t257+t267-t268;
275  t270 = 300.0*eta;
276  t274 = 5520.0*t13;
277  t279 = 9900.0*t36;
278  t280 = 3300.0*t38;
279  t281 = 6600.0*t40;
280  t282 = 3300.0*t42;
281  t283 = 660.0*t45;
282  t284 = 660.0*t47;
283  t285 = t270-3600.0*t5-1560.0*t7+4500.0*t11+t274+t232+4500.0*t18-1500.0*t20+t87-t88+1620.0*t27-1620.0*t29-t279+t280-t281+t282-t283+t284;
284  t294 = 2640.0*t31;
285  t295 = 660.0*t34;
286  t300 = t270-t228-t229+4140.0*t11+t274+1380.0*t15+5220.0*t18-1740.0*t20+8520.0*t23-4260.0*t25+1740.0*t27-1740.0*t29-t294+t295-7920.0*t36+2640.0*t38-5280.0*t40+2640.0*t42-t283+t284;
287  t308 = t270-3120.0*t5-1800.0*t7+t230+t274+1500.0*t15+4860.0*t18-1620.0*t20+t87-t88+1500.0*t27-1500.0*t29-t294+t295-t279+t280-t281+t282;
288  t309 = 7920.0*eta;
289  t313 = 190080.0*t13;
290  t317 = 285120.0*t23;
291  t318 = 142560.0*t25;
292  t329 = -t309+158400.0*t5+31680.0*t7-213840.0*t11-t313-23760.0*t15-498960.0*t18+166320.0*t20-t317+t318-23760.0*t27+23760.0*t29+443520.0*t31-110880.0*t34+498960.0*t36-166320.0*t38+142560.0*t40-71280.0*t42+7920.0*t45-7920.0*t47;
293  t336 = 380160.0*t23;
294  t337 = 190080.0*t25;
295  t346 = -t309+126720.0*t5+47520.0*t7-166320.0*t11-t313-39600.0*t15-308880.0*t18+102960.0*t20-t336+t337-55440.0*t27+55440.0*t29+t252-t253+546480.0*t36-182160.0*t38+269280.0*t40-134640.0*t42+23760.0*t45-23760.0*t47;
296  t361 = -t309+95040.0*t5+63360.0*t7-118800.0*t11-t313-55440.0*t15-166320.0*t18+55440.0*t20-t336+t337-102960.0*t27+102960.0*t29+95040.0*t31-23760.0*t34+403920.0*t36-134640.0*t38+364320.0*t40-182160.0*t42+t267-t268;
297  t378 = -t309+63360.0*t5+79200.0*t7-71280.0*t11-t313-71280.0*t15-71280.0*t18+23760.0*t20-t317+t318-166320.0*t27+166320.0*t29+31680.0*t31-7920.0*t34+213840.0*t36-71280.0*t38+332640.0*t40-166320.0*t42+110880.0*t45-110880.0*t47;
298 
299  values[0] = t22+t49;
300  values[1] = t61+t73;
301  values[2] = t85+t97;
302  values[3] = t107+t116;
303  values[4] = t127+t137;
304  values[5] = t156;
305  values[6] = t175;
306  values[7] = t190;
307  values[8] = t199;
308  values[9] = t212;
309  values[10] = t217;
310  values[11] = t226;
311  values[12] = t239;
312  values[13] = t258;
313  values[14] = t269;
314  values[15] = t285;
315  values[16] = t300;
316  values[17] = t308;
317  values[18] = t329;
318  values[19] = t346;
319  values[20] = t361;
320  values[21] = t378;
321 }
322 
323 // values of the derivatives in eta direction
324 static void C_T_UL4_2D_DeriveEta(double xi, double eta, double *values)
325 {
326  double t3, t5, t7, t9, t11, t13, t15, t16, t17, t18, t20, t22, t23, t25;
327  double t27, t29, t31, t32, t33, t34, t35, t36, t38, t40, t42, t44, t45;
328  double t46, t47, t48, t49, t51, t55, t57, t58, t59, t60, t63, t64, t67;
329  double t68, t69, t70, t74, t76, t77, t78, t79, t80, t81, t82, t83, t84;
330  double t85, t86, t87, t88, t89, t93, t95, t96, t101, t102, t103, t104;
331  double t108, t112, t113, t116, t117, t118, t119, t120, t121, t128, t129;
332  double t132, t133, t138, t151, t152, t157, t166, t167, t172, t180, t184;
333  double t192, t194, t196, t197, t200, t201, t202, t211, t212, t221, t225;
334  double t228, t229, t230, t232, t239, t240, t244, t248, t249, t252, t253;
335  double t254, t255, t256, t257, t258, t267, t268, t269, t270, t274, t279;
336  double t280, t281, t282, t283, t284, t285, t294, t295, t300, t308, t309;
337  double t313, t317, t318, t329, t336, t337, t346, t361, t378;
338 
339  t3 = xi*xi;
340  t5 = xi*eta;
341  t7 = eta*eta;
342  t9 = t3*xi;
343  t11 = t3*eta;
344  t13 = xi*t7;
345  t15 = t7*eta;
346  t16 = 128.0/3.0*t15;
347  t17 = 1.0-xi-eta;
348  t18 = t9*t17;
349  t20 = t9*eta;
350  t22 = -25.0/3.0-140.0*xi+140.0/3.0*eta+3320.0/3.0*t3+6640.0/3.0*t5-80.0*t7-2872.0/3.0*t9-3872.0*t11-2872.0*t13+t16-5080.0/3.0*t18+5080.0/3.0*t20;
351  t23 = t11*t17;
352  t25 = t3*t7;
353  t27 = t13*t17;
354  t29 = xi*t15;
355  t31 = t3*t3;
356  t32 = t31*t17;
357  t33 = 2750.0/3.0*t32;
358  t34 = t31*eta;
359  t35 = 2750.0/3.0*t34;
360  t36 = t20*t17;
361  t38 = t9*t7;
362  t40 = t25*t17;
363  t42 = t3*t15;
364  t44 = t29*t17;
365  t45 = 11000.0/3.0*t44;
366  t46 = t7*t7;
367  t47 = xi*t46;
368  t48 = 2750.0/3.0*t47;
369  t49 = -6520.0*t23+3260.0*t25-5080.0*t27+5080.0/3.0*t29+t33-t35+15400.0/3.0*t36-7700.0/3.0*t38+7700.0*t40-7700.0/3.0*t42+t45-t48;
370  t51 = 1264.0/3.0*xi;
371  t55 = 6656.0*t11;
372  t57 = 2560.0/3.0*t18;
373  t58 = 2560.0/3.0*t20;
374  t59 = 9280.0*t23;
375  t60 = 4640.0*t25;
376  t63 = 14080.0/3.0*t36;
377  t64 = 7040.0/3.0*t38;
378  t67 = 24640.0/3.0*t44;
379  t68 = 6160.0/3.0*t47;
380  t69 = -t51+4928.0/3.0*t3+15296.0/3.0*t5-3680.0/3.0*t9-t55-6432.0*t13-t57+t58-t59+t60-11200.0*t27+11200.0/3.0*t29+t63-t64+12320.0*t40-12320.0/3.0*t42+t67-t68;
381  t70 = 268.0*xi;
382  t74 = 4800.0*t11;
383  t76 = 1280.0*t18;
384  t77 = 1280.0*t20;
385  t78 = 9600.0*t23;
386  t79 = 4800.0*t25;
387  t80 = 3840.0*t27;
388  t81 = 1280.0*t29;
389  t82 = 7040.0*t36;
390  t83 = 3520.0*t38;
391  t84 = 10560.0*t40;
392  t85 = 3520.0*t42;
393  t86 = 1760.0*t44;
394  t87 = 440.0*t47;
395  t88 = t70-1664.0*t3-2624.0*t5+1408.0*t9+t74+3168.0*t13+t76-t77+t78-t79+t80-t81-t82+t83-t84+t85-t86+t87;
396  t89 = 112.0*xi;
397  t93 = 2048.0*t11;
398  t95 = 3520.0*t23;
399  t96 = 1760.0*t25;
400  t101 = 3520.0/3.0*t44;
401  t102 = 880.0/3.0*t47;
402  t103 = -t89+2240.0/3.0*t3+3136.0/3.0*t5-1952.0/3.0*t9-t93-1248.0*t13-t57+t58-t95+t96-1600.0*t27+1600.0/3.0*t29+t63-t64+1760.0*t40-1760.0/3.0*t42+t101-t102;
403  t104 = 110.0/3.0*xi;
404  t108 = 840.0*t11;
405  t112 = 480.0*t23;
406  t113 = 240.0*t25;
407  t116 = 1100.0/3.0*t36;
408  t117 = 550.0/3.0*t38;
409  t118 = 550.0*t40;
410  t119 = 550.0/3.0*t42;
411  t120 = t104-400.0*t3-560.0/3.0*t5+1090.0/3.0*t9+t108+170.0*t13+3170.0/3.0*t18-3170.0/3.0*t20+t112-t113+170.0*t27-170.0/3.0*t29-t33+t35-t116+t117-t118+t119;
412  t121 = 224.0/3.0*xi;
413  t128 = 2560.0*t23;
414  t129 = 1280.0*t25;
415  t132 = 6160.0/3.0*t32;
416  t133 = 6160.0/3.0*t34;
417  t138 = t121-896.0*t3-1792.0/3.0*t5+2512.0/3.0*t9+t93+688.0*t13+7280.0/3.0*t18-7280.0/3.0*t20+t128-t129+1040.0*t27-1040.0/3.0*t29-t132+t133-12320.0/3.0*t36+6160.0/3.0*t38-880.0*t40+880.0/3.0*t42-t101+t102;
418  t151 = 440.0*t32;
419  t152 = 440.0*t34;
420  t157 = 28.0*xi-224.0*t3-448.0*t5+184.0*t9+864.0*t11+552.0*t13-40.0*t18+40.0*t20+4320.0*t23-2160.0*t25-120.0*t27+40.0*t29+t151-t152-4400.0*t36+2200.0*t38-6600.0*t40+2200.0*t42+t86-t87;
421  t166 = 880.0/3.0*t32;
422  t167 = 880.0/3.0*t34;
423  t172 = t121-896.0/3.0*t3-1792.0*t5+688.0/3.0*t9+t93+2512.0*t13+1040.0/3.0*t18-1040.0/3.0*t20+t128-t129+7280.0*t27-7280.0/3.0*t29-t166+t167-1760.0/3.0*t36+880.0/3.0*t38-6160.0*t40+6160.0/3.0*t42-t67+t68;
424  t180 = -1.0+t104+44.0/3.0*eta-280.0/3.0*t3-800.0*t5-48.0*t7+170.0/3.0*t9+t108+1090.0*t13+t16+170.0/3.0*t18;
425  t184 = -170.0/3.0*t20+t112-t113+3170.0*t27-3170.0/3.0*t29-t116+t117-t118+t119-t45+t48;
426  t192 = 512.0/3.0*t15;
427  t194 = 16.0/3.0-t89-224.0/3.0*eta+1568.0/3.0*t3+4480.0/3.0*t5+224.0*t7-416.0*t9-t93-1952.0*t13-t192-1600.0/3.0*t18;
428  t196 = 2560.0*t27;
429  t197 = 2560.0/3.0*t29;
430  t200 = 7040.0*t40;
431  t201 = 7040.0/3.0*t42;
432  t202 = 1600.0/3.0*t20-t95+t96-t196+t197+t166-t167+3520.0/3.0*t36-1760.0/3.0*t38+t200-t201;
433  t211 = -12.0+t70+152.0*eta-1312.0*t3-3328.0*t5-384.0*t7+1056.0*t9+t74+4224.0*t13+256.0*t15+t76;
434  t212 = -t77+t78-t79+t80-t81-t151+t152-t82+t83-t84+t85;
435  t221 = 16.0-t51-416.0/3.0*eta+7648.0/3.0*t3+9856.0/3.0*t5+288.0*t7-2144.0*t9-t55-3680.0*t13-t192-11200.0/3.0*t18;
436  t225 = 11200.0/3.0*t20-t59+t60-t196+t197+t132-t133+24640.0/3.0*t36-12320.0/3.0*t38+t200-t201;
437  t228 = 1680.0*t3;
438  t229 = 3360.0*t5;
439  t230 = 1260.0*t9;
440  t232 = 3780.0*t13;
441  t239 = 420.0*xi-t228-t229+t230+5040.0*t11+t232+1260.0*t18-1260.0*t20+2520.0*t23-1260.0*t25+3780.0*t27-1260.0*t29;
442  t240 = 5040.0*xi;
443  t244 = 100800.0*t11;
444  t248 = 141120.0*t23;
445  t249 = 70560.0*t25;
446  t252 = 55440.0*t32;
447  t253 = 55440.0*t34;
448  t254 = 110880.0*t36;
449  t255 = 55440.0*t38;
450  t256 = 166320.0*t40;
451  t257 = 55440.0*t42;
452  t258 = -t240+40320.0*t3+40320.0*t5-35280.0*t9-t244-45360.0*t13-75600.0*t18+75600.0*t20-t248+t249-45360.0*t27+15120.0*t29+t252-t253+t254-t255+t256-t257;
453  t267 = 221760.0*t44;
454  t268 = 55440.0*t47;
455  t269 = -t240+20160.0*t3+80640.0*t5-15120.0*t9-t244-105840.0*t13-15120.0*t18+15120.0*t20-t248+t249-226800.0*t27+75600.0*t29+t254-t255+t256-t257+t267-t268;
456  t270 = 300.0*xi;
457  t274 = 5520.0*t11;
458  t279 = 6600.0*t36;
459  t280 = 3300.0*t38;
460  t281 = 9900.0*t40;
461  t282 = 3300.0*t42;
462  t283 = 2640.0*t44;
463  t284 = 660.0*t47;
464  t285 = t270-1800.0*t3-3120.0*t5+1500.0*t9+t274+t232+1500.0*t18-1500.0*t20+t78-t79+4860.0*t27-1620.0*t29-t279+t280-t281+t282-t283+t284;
465  t294 = 660.0*t32;
466  t295 = 660.0*t34;
467  t300 = t270-t228-t229+1380.0*t9+t274+4140.0*t13+1740.0*t18-1740.0*t20+8520.0*t23-4260.0*t25+5220.0*t27-1740.0*t29-t294+t295-5280.0*t36+2640.0*t38-7920.0*t40+2640.0*t42-t283+t284;
468  t308 = t270-1560.0*t3-3600.0*t5+t230+t274+4500.0*t13+1620.0*t18-1620.0*t20+t78-t79+4500.0*t27-1500.0*t29-t294+t295-t279+t280-t281+t282;
469  t309 = 7920.0*xi;
470  t313 = 190080.0*t11;
471  t317 = 285120.0*t23;
472  t318 = 142560.0*t25;
473  t329 = -t309+79200.0*t3+63360.0*t5-71280.0*t9-t313-71280.0*t13-166320.0*t18+166320.0*t20-t317+t318-71280.0*t27+23760.0*t29+110880.0*t32-110880.0*t34+332640.0*t36-166320.0*t38+213840.0*t40-71280.0*t42+31680.0*t44-7920.0*t47;
474  t336 = 380160.0*t23;
475  t337 = 190080.0*t25;
476  t346 = -t309+63360.0*t3+95040.0*t5-55440.0*t9-t313-118800.0*t13-102960.0*t18+102960.0*t20-t336+t337-166320.0*t27+55440.0*t29+t252-t253+364320.0*t36-182160.0*t38+403920.0*t40-134640.0*t42+95040.0*t44-23760.0*t47;
477  t361 = -t309+47520.0*t3+126720.0*t5-39600.0*t9-t313-166320.0*t13-55440.0*t18+55440.0*t20-t336+t337-308880.0*t27+102960.0*t29+23760.0*t32-23760.0*t34+269280.0*t36-134640.0*t38+546480.0*t40-182160.0*t42+t267-t268;
478  t378 = -t309+31680.0*t3+158400.0*t5-23760.0*t9-t313-213840.0*t13-23760.0*t18+23760.0*t20-t317+t318-498960.0*t27+166320.0*t29+7920.0*t32-7920.0*t34+142560.0*t36-71280.0*t38+498960.0*t40-166320.0*t42+443520.0*t44-110880.0*t47;
479 
480  values[0] = t22+t49;
481  values[1] = t69;
482  values[2] = t88;
483  values[3] = t103;
484  values[4] = t120;
485  values[5] = t138;
486  values[6] = t157;
487  values[7] = t172;
488  values[8] = t180+t184;
489  values[9] = t194+t202;
490  values[10] = t211+t212;
491  values[11] = t221+t225;
492  values[12] = t239;
493  values[13] = t258;
494  values[14] = t269;
495  values[15] = t285;
496  values[16] = t300;
497  values[17] = t308;
498  values[18] = t329;
499  values[19] = t346;
500  values[20] = t361;
501  values[21] = t378;
502 }
503 
504 // values of the derivatives in xi-xi direction
505 static void C_T_UL4_2D_DeriveXiXi(double xi, double eta, double *values)
506 {
507  double t1, t3, t4, t6, t7, t9, t10, t13, t14, t16, t18, t19, t20, t23;
508  double t24, t26, t27, t28, t30, t32, t35, t38, t40, t41, t42, t43, t44;
509  double t46, t47, t50, t51, t56, t57, t58, t59, t60, t61, t62, t63, t64;
510  double t65, t66, t67, t71, t72, t73, t77, t78, t82, t85, t86, t88, t89;
511  double t90, t91, t92, t97, t98, t100, t101, t106, t115, t116, t121, t127;
512  double t128, t133, t139, t144, t147, t148, t149, t152, t159, t160, t161;
513  double t171, t174, t175, t177, t178, t179, t180, t181, t182, t183, t189;
514  double t190, t193, t197, t198, t199, t200, t201, t202, t209, t210, t215;
515  double t220, t223, t226, t227, t236, t241, t242, t249, t261, t274;
516 
517  t1 = xi*eta;
518  t3 = eta*eta;
519  t4 = t3*xi;
520  t6 = xi*xi;
521  t7 = t6*eta;
522  t9 = 1.0-xi-eta;
523  t10 = t4*t9;
524  t13 = t3*eta;
525  t14 = t13*t9;
526  t16 = t3*t9;
527  t18 = t9*t7;
528  t19 = 11000.0*t18;
529  t20 = 128.0*t6;
530  t23 = t3*t3;
531  t24 = 5500.0/3.0*t23;
532  t26 = t6*xi*eta;
533  t27 = 22000.0/3.0*t26;
534  t28 = t6*t3;
535  t30 = xi*t13;
536  t32 = t1*t9;
537  t35 = -5744.0*t1+13040.0*t4+10160.0*t7+15400.0*t10-160.0*xi+15400.0/3.0*t14-6520.0*t16+t19+t20-3872.0*t3+10160.0/3.0*t13-t24+140.0/3.0-t27-15400.0*t28-30800.0/3.0*t30-10160.0*t32+6640.0/3.0*eta;
538  t38 = 512.0*t6;
539  t40 = 6656.0*t3;
540  t41 = 5120.0*t32;
541  t42 = 5120.0*t7;
542  t43 = 9280.0*t16;
543  t44 = 18560.0*t4;
544  t46 = 14080.0*t10;
545  t47 = 14080.0*t28;
546  t50 = 12320.0/3.0*t23;
547  t51 = -416.0/3.0+576.0*xi+9856.0/3.0*eta-t38-7360.0*t1-t40-t41+t42-t43+t44+22400.0/3.0*t13+t46-t47+24640.0/3.0*t14-49280.0/3.0*t30-t50;
548  t56 = 4800.0*t3;
549  t57 = 7680.0*t32;
550  t58 = 7680.0*t7;
551  t59 = 9600.0*t16;
552  t60 = 19200.0*t4;
553  t61 = 2560.0*t13;
554  t62 = 21120.0*t10;
555  t63 = 21120.0*t28;
556  t64 = 7040.0*t14;
557  t65 = 14080.0*t30;
558  t66 = 880.0*t23;
559  t67 = 152.0-768.0*xi-3328.0*eta+768.0*t6+8448.0*t1+t56+t57-t58+t59-t60-t61-t62+t63-t64+t65+t66;
560  t71 = 2048.0*t3;
561  t72 = 3520.0*t16;
562  t73 = 7040.0*t4;
563  t77 = 1760.0/3.0*t23;
564  t78 = -224.0/3.0+448.0*xi+4480.0/3.0*eta-t38-3904.0*t1-t71-t41+t42-t72+t73+3200.0/3.0*t13+t46-t47+3520.0/3.0*t14-7040.0/3.0*t30-t77;
565  t82 = 840.0*t3;
566  t85 = 480.0*t16;
567  t86 = 960.0*t4;
568  t88 = 1100.0*t10;
569  t89 = 1100.0*t28;
570  t90 = 1100.0/3.0*t14;
571  t91 = 2200.0/3.0*t30;
572  t92 = 44.0/3.0-96.0*xi-800.0*eta+t20+2180.0*t1+t82+6340.0*t32-6340.0*t7+t85-t86-340.0/3.0*t13-t19+t27-t88+t89-t90+t91;
573  t97 = 2560.0*t16;
574  t98 = 5120.0*t4;
575  t100 = 24640.0*t18;
576  t101 = 49280.0/3.0*t26;
577  t106 = -1792.0*eta+5024.0*t1+t71+14560.0*t32-14560.0*t7+t97-t98-2080.0/3.0*t13-t100+t101-12320.0*t10+12320.0*t28-1760.0/3.0*t14+3520.0/3.0*t30+t77;
578  t115 = 5280.0*t18;
579  t116 = 3520.0*t26;
580  t121 = -448.0*eta+1104.0*t1+864.0*t3-240.0*t32+240.0*t7+4320.0*t16-8640.0*t4+80.0*t13+t115-t116-13200.0*t10+13200.0*t28-4400.0*t14+8800.0*t30-t66;
581  t127 = 3520.0*t18;
582  t128 = 7040.0/3.0*t26;
583  t133 = -1792.0/3.0*eta+1376.0*t1+t71+2080.0*t32-2080.0*t7+t97-t98-14560.0/3.0*t13-t127+t128-1760.0*t10+1760.0*t28-12320.0/3.0*t14+24640.0/3.0*t30+t50;
584  t139 = -560.0/3.0*eta+340.0*t1+t82+340.0*t32-340.0*t7+t85-t86-6340.0/3.0*t13-t88+t89-t90+t91+t24;
585  t144 = 5120.0/3.0*t13;
586  t147 = 14080.0/3.0*t14;
587  t148 = 28160.0/3.0*t30;
588  t149 = 3136.0/3.0*eta-2496.0*t1-t71-3200.0*t32+3200.0*t7-t72+t73+t144+t127-t128+3520.0*t10-3520.0*t28+t147-t148;
589  t152 = -2624.0*eta+6336.0*t1+t56+t57-t58+t59-t60-t61-t115+t116-t62+t63-t64+t65;
590  t159 = 15296.0/3.0*eta-12864.0*t1-t40-22400.0*t32+22400.0*t7-t43+t44+t144+t100-t101+24640.0*t10-24640.0*t28+t147-t148;
591  t160 = 3360.0*eta;
592  t161 = 7560.0*t1;
593  t171 = 100800.0*t3;
594  t174 = 141120.0*t16;
595  t175 = 282240.0*t4;
596  t177 = 665280.0*t18;
597  t178 = 443520.0*t26;
598  t179 = 332640.0*t10;
599  t180 = 332640.0*t28;
600  t181 = 110880.0*t14;
601  t182 = 221760.0*t30;
602  t183 = 80640.0*eta-211680.0*t1-t171-453600.0*t32+453600.0*t7-t174+t175+30240.0*t13+t177-t178+t179-t180+t181-t182;
603  t189 = 110880.0*t23;
604  t190 = 40320.0*eta-90720.0*t1-t171-90720.0*t32+90720.0*t7-t174+t175+151200.0*t13+t179-t180+t181-t182-t189;
605  t193 = 5520.0*t3;
606  t197 = 19800.0*t10;
607  t198 = 19800.0*t28;
608  t199 = 6600.0*t14;
609  t200 = 13200.0*t30;
610  t201 = 1320.0*t23;
611  t202 = -3600.0*eta+9000.0*t1+t193+9000.0*t32-9000.0*t7+t59-t60-3240.0*t13-t197+t198-t199+t200+t201;
612  t209 = 7920.0*t18;
613  t210 = 5280.0*t26;
614  t215 = -t160+8280.0*t1+t193+10440.0*t32-10440.0*t7+8520.0*t16-17040.0*t4-3480.0*t13-t209+t210-15840.0*t10+15840.0*t28-5280.0*t14+10560.0*t30+t201;
615  t220 = -3120.0*eta+t161+t193+9720.0*t32-9720.0*t7+t59-t60-3000.0*t13-t209+t210-t197+t198-t199+t200;
616  t223 = 190080.0*t3;
617  t226 = 285120.0*t16;
618  t227 = 570240.0*t4;
619  t236 = 158400.0*eta-427680.0*t1-t223-997920.0*t32+997920.0*t7-t226+t227+47520.0*t13+1330560.0*t18-887040.0*t26+997920.0*t10-997920.0*t28+142560.0*t14-285120.0*t30-15840.0*t23;
620  t241 = 380160.0*t16;
621  t242 = 760320.0*t4;
622  t249 = 126720.0*eta-332640.0*t1-t223-617760.0*t32+617760.0*t7-t241+t242+110880.0*t13+t177-t178+1092960.0*t10-1092960.0*t28+269280.0*t14-538560.0*t30-47520.0*t23;
623  t261 = 95040.0*eta-237600.0*t1-t223-332640.0*t32+332640.0*t7-t241+t242+205920.0*t13+285120.0*t18-190080.0*t26+807840.0*t10-807840.0*t28+364320.0*t14-728640.0*t30-t189;
624  t274 = 63360.0*eta-142560.0*t1-t223-142560.0*t32+142560.0*t7-t226+t227+332640.0*t13+95040.0*t18-63360.0*t26+427680.0*t10-427680.0*t28+332640.0*t14-665280.0*t30-221760.0*t23;
625 
626  values[0] = t35;
627  values[1] = t51;
628  values[2] = t67;
629  values[3] = t78;
630  values[4] = t92;
631  values[5] = t106;
632  values[6] = t121;
633  values[7] = t133;
634  values[8] = t139;
635  values[9] = t149;
636  values[10] = t152;
637  values[11] = t159;
638  values[12] = -t160+t161+5040.0*t3+7560.0*t32-7560.0*t7+2520.0*t16-5040.0*t4-2520.0*t13;
639  values[13] = t183;
640  values[14] = t190;
641  values[15] = t202;
642  values[16] = t215;
643  values[17] = t220;
644  values[18] = t236;
645  values[19] = t249;
646  values[20] = t261;
647  values[21] = t274;
648 }
649 
650 // values of the derivatives in xi-eta direction
651 static void C_T_UL4_2D_DeriveXiEta(double xi, double eta, double *values)
652 {
653  double t1, t3, t4, t6, t7, t9, t10, t13, t14, t15, t16, t17, t18, t19;
654  double t21, t23, t25, t28, t29, t32, t33, t34, t35, t36, t38, t39, t40;
655  double t43, t48, t50, t52, t53, t57, t58, t59, t62, t63, t64, t68, t70;
656  double t71, t72, t73, t74, t75, t76, t77, t78, t80, t81, t82, t83, t87;
657  double t90, t94, t97, t98, t99, t103, t108, t113, t114, t115, t117, t122;
658  double t127, t129, t133, t135, t137, t144, t148, t151, t159, t165, t170;
659  double t172, t178, t192, t201, t202, t205, t206, t207, t213, t224, t225;
660  double t226, t227, t229, t237, t241, t246, t250, t252, t253, t254, t255;
661  double t257, t270, t271, t272, t276, t283, t284, t286, t288, t289, t290;
662  double t294, t298, t301, t308, t321, t322, t332, t340, t342, t344, t354;
663  double t361, t363, t365, t375, t384, t395, t405;
664 
665  t1 = xi*eta;
666  t3 = eta*eta;
667  t4 = t3*xi;
668  t6 = xi*xi;
669  t7 = t6*eta;
670  t9 = 1.0-xi-eta;
671  t10 = t4*t9;
672  t13 = t6*xi;
673  t14 = t13*t9;
674  t15 = 11000.0/3.0*t14;
675  t16 = t3*eta;
676  t17 = t16*t9;
677  t18 = 11000.0/3.0*t17;
678  t19 = t6*t9;
679  t21 = t3*t9;
680  t23 = t9*t7;
681  t25 = -140.0-7744.0*t1+11600.0*t4+11600.0*t7+15400.0*t10+6640.0/3.0*xi+t15+t18-5080.0*t19-5080.0*t21+15400.0*t23;
682  t28 = t6*t6;
683  t29 = 2750.0/3.0*t28;
684  t32 = t3*t3;
685  t33 = 2750.0/3.0*t32;
686  t34 = t13*eta;
687  t35 = 8800.0*t34;
688  t36 = t6*t3;
689  t38 = xi*t16;
690  t39 = 8800.0*t38;
691  t40 = t1*t9;
692  t43 = -2872.0*t6+5080.0/3.0*t13-t29-2872.0*t3+5080.0/3.0*t16-t33-t35-15400.0*t36-t39-13040.0*t40+6640.0/3.0*eta;
693  t48 = 13312.0*t1;
694  t50 = 2560.0*t19;
695  t52 = 2560.0/3.0*t13;
696  t53 = 18560.0*t40;
697  t57 = 14080.0*t23;
698  t58 = 19360.0*t36;
699  t59 = 14080.0/3.0*t34;
700  t62 = 24640.0/3.0*t17;
701  t63 = 6160.0/3.0*t32;
702  t64 = -1264.0/3.0+9856.0/3.0*xi+15296.0/3.0*eta-3680.0*t6-t48-6432.0*t3-t50+11840.0*t7+t52-t53+20480.0*t4-11200.0*t21+11200.0/3.0*t16+t57-t58-t59+24640.0*t10-49280.0/3.0*t38+t62-t63;
703  t68 = 9600.0*t1;
704  t70 = 3840.0*t19;
705  t71 = 13440.0*t7;
706  t72 = 1280.0*t13;
707  t73 = 19200.0*t40;
708  t74 = 13440.0*t4;
709  t75 = 3840.0*t21;
710  t76 = 1280.0*t16;
711  t77 = 21120.0*t23;
712  t78 = 21120.0*t36;
713  t80 = 21120.0*t10;
714  t81 = 1760.0*t17;
715  t82 = 440.0*t32;
716  t83 = 268.0-3328.0*xi-2624.0*eta+4224.0*t6+t68+3168.0*t3+t70-t71-t72+t73-t74+t75-t76-t77+t78+7040.0*t34-t80+t39-t81+t82;
717  t87 = 4096.0*t1;
718  t90 = 7040.0*t40;
719  t94 = 8800.0*t36;
720  t97 = 3520.0/3.0*t17;
721  t98 = 880.0/3.0*t32;
722  t99 = -112.0+4480.0/3.0*xi+3136.0/3.0*eta-1952.0*t6-t87-1248.0*t3-t50+6080.0*t7+t52-t90+5120.0*t4-1600.0*t21+1600.0/3.0*t16+t57-t94-t59+3520.0*t10-7040.0/3.0*t38+t97-t98;
723  t103 = 1680.0*t1;
724  t108 = 960.0*t40;
725  t113 = 1100.0*t23;
726  t114 = 1100.0*t36;
727  t115 = 1100.0*t10;
728  t117 = 110.0/3.0-800.0*xi-560.0/3.0*eta+1090.0*t6+t103+170.0*t3+3170.0*t19-3650.0*t7-3170.0/3.0*t13+t108-650.0*t4+170.0*t21-170.0/3.0*t16-t15+12100.0/3.0*t34+t29-t113+t114-t115+1100.0/3.0*t38;
729  t122 = 24640.0/3.0*t14;
730  t127 = t87-3600.0*t4-9840.0*t7-1760.0*t10-1792.0*xi-t122-t97+7280.0*t19+1040.0*t21-12320.0*t23+2512.0*t6;
731  t129 = 6160.0/3.0*t28;
732  t133 = 7040.0*t36;
733  t135 = 5120.0*t40;
734  t137 = 224.0/3.0-7280.0/3.0*t13+t129+688.0*t3-1040.0/3.0*t16+t98+12320.0*t34+t133+1760.0*t38+t135-1792.0/3.0*eta;
735  t144 = 1760.0*t14;
736  t148 = 28.0+1728.0*t1-4200.0*t4-4200.0*t7-13200.0*t10-448.0*xi+t144+t81-120.0*t19-120.0*t21-13200.0*t23;
737  t151 = 440.0*t28;
738  t159 = 552.0*t6+40.0*t13-t151+552.0*t3+40.0*t16-t82+2640.0*t34+13200.0*t36+2640.0*t38+8640.0*t40-448.0*eta;
739  t165 = 3520.0/3.0*t14;
740  t170 = t87-9840.0*t4-3600.0*t7-12320.0*t10-1792.0/3.0*xi-t165-t62+1040.0*t19+7280.0*t21-1760.0*t23+688.0*t6;
741  t172 = 880.0/3.0*t28;
742  t178 = 224.0/3.0-1040.0/3.0*t13+t172+2512.0*t3-7280.0/3.0*t16+t63+1760.0*t34+t133+12320.0*t38+t135-1792.0*eta;
743  t192 = 110.0/3.0-560.0/3.0*xi-800.0*eta+170.0*t6+t103+1090.0*t3+170.0*t19-650.0*t7-170.0/3.0*t13+t108-3650.0*t4+3170.0*t21-3170.0/3.0*t16-t113+t114+1100.0/3.0*t34-t115+12100.0/3.0*t38-t18+t33;
744  t201 = 2560.0*t21;
745  t202 = 2560.0/3.0*t16;
746  t205 = 14080.0*t10;
747  t206 = 14080.0/3.0*t38;
748  t207 = -112.0+3136.0/3.0*xi+4480.0/3.0*eta-1248.0*t6-t87-1952.0*t3-1600.0*t19+5120.0*t7+1600.0/3.0*t13-t90+6080.0*t4-t201+t202+t165-7040.0/3.0*t34-t172+3520.0*t23-t94+t205-t206;
749  t213 = 268.0-2624.0*xi-3328.0*eta+3168.0*t6+t68+4224.0*t3+t70-t71-t72+t73-t74+t75-t76-t144+t35+t151-t77+t78-t80+7040.0*t38;
750  t224 = -1264.0/3.0+15296.0/3.0*xi+9856.0/3.0*eta-6432.0*t6-t48-3680.0*t3-11200.0*t19+20480.0*t7+11200.0/3.0*t13-t53+11840.0*t4-t201+t202+t122-49280.0/3.0*t34-t129+24640.0*t23-t58+t205-t206;
751  t225 = 3360.0*xi;
752  t226 = 3360.0*eta;
753  t227 = 3780.0*t6;
754  t229 = 3780.0*t3;
755  t237 = 420.0-t225-t226+t227+10080.0*t1+t229+3780.0*t19-6300.0*t7-1260.0*t13+5040.0*t40-6300.0*t4+3780.0*t21-1260.0*t16;
756  t241 = 201600.0*t1;
757  t246 = 282240.0*t40;
758  t250 = 221760.0*t14;
759  t252 = 55440.0*t28;
760  t253 = 332640.0*t23;
761  t254 = 332640.0*t36;
762  t255 = 332640.0*t10;
763  t257 = -5040.0+80640.0*xi+40320.0*eta-105840.0*t6-t241-45360.0*t3-226800.0*t19+367920.0*t7+75600.0*t13-t246+186480.0*t4-45360.0*t21+15120.0*t16+t250-332640.0*t34-t252+t253-t254+t255-110880.0*t38;
764  t270 = 221760.0*t17;
765  t271 = 55440.0*t32;
766  t272 = -5040.0+40320.0*xi+80640.0*eta-45360.0*t6-t241-105840.0*t3-45360.0*t19+186480.0*t7+15120.0*t13-t246+367920.0*t4-226800.0*t21+75600.0*t16+t253-t254-110880.0*t34+t255-332640.0*t38+t270-t271;
767  t276 = 11040.0*t1;
768  t283 = 19800.0*t23;
769  t284 = 19800.0*t36;
770  t286 = 19800.0*t10;
771  t288 = 2640.0*t17;
772  t289 = 660.0*t32;
773  t290 = 300.0-3600.0*xi-3120.0*eta+4500.0*t6+t276+t229+4500.0*t19-14100.0*t7-1500.0*t13+t73-14460.0*t4+4860.0*t21-1620.0*t16-t283+t284+6600.0*t34-t286+9240.0*t38-t288+t289;
774  t294 = 2640.0*t14;
775  t298 = 300.0+t276-13740.0*t4-13740.0*t7-15840.0*t10-t225-t294-t288+5220.0*t19+5220.0*t21-15840.0*t23;
776  t301 = 660.0*t28;
777  t308 = 4140.0*t6-1740.0*t13+t301+4140.0*t3-1740.0*t16+t289+7920.0*t34+15840.0*t36+7920.0*t38+17040.0*t40-t226;
778  t321 = 300.0-3120.0*xi-3600.0*eta+t227+t276+4500.0*t3+4860.0*t19-14460.0*t7-1620.0*t13+t73-14100.0*t4+4500.0*t21-1500.0*t16-t294+9240.0*t34+t301-t283+t284-t286+6600.0*t38;
779  t322 = 380160.0*t1;
780  t332 = -7920.0-t322+356400.0*t4+784080.0*t7+427680.0*t10+158400.0*xi+443520.0*t14+31680.0*t17-498960.0*t19-71280.0*t21+997920.0*t23;
781  t340 = 712800.0*t36;
782  t342 = 570240.0*t40;
783  t344 = -213840.0*t6+166320.0*t13-110880.0*t28-71280.0*t3+23760.0*t16-7920.0*t32-776160.0*t34-t340-174240.0*t38-t342+63360.0*eta;
784  t354 = -7920.0-t322+546480.0*t4+689040.0*t7+807840.0*t10+126720.0*xi+t250+95040.0*t17-308880.0*t19-166320.0*t21+1092960.0*t23;
785  t361 = 950400.0*t36;
786  t363 = 760320.0*t40;
787  t365 = -166320.0*t6+102960.0*t13-t252-118800.0*t3+55440.0*t16-23760.0*t32-586080.0*t34-t361-364320.0*t38-t363+95040.0*eta;
788  t375 = -7920.0-t322+689040.0*t4+546480.0*t7+1092960.0*t10+95040.0*xi+95040.0*t14+t270-166320.0*t19-308880.0*t21+807840.0*t23;
789  t384 = -118800.0*t6+55440.0*t13-23760.0*t28-166320.0*t3+102960.0*t16-t271-364320.0*t34-t361-586080.0*t38-t363+126720.0*eta;
790  t395 = -7920.0-t322+784080.0*t4+356400.0*t7+997920.0*t10+63360.0*xi+31680.0*t14+443520.0*t17-71280.0*t19-498960.0*t21+427680.0*t23;
791  t405 = -71280.0*t6+23760.0*t13-7920.0*t28-213840.0*t3+166320.0*t16-110880.0*t32-174240.0*t34-t340-776160.0*t38-t342+158400.0*eta;
792 
793  values[0] = t25+t43;
794  values[1] = t64;
795  values[2] = t83;
796  values[3] = t99;
797  values[4] = t117;
798  values[5] = t127+t137;
799  values[6] = t148+t159;
800  values[7] = t170+t178;
801  values[8] = t192;
802  values[9] = t207;
803  values[10] = t213;
804  values[11] = t224;
805  values[12] = t237;
806  values[13] = t257;
807  values[14] = t272;
808  values[15] = t290;
809  values[16] = t298+t308;
810  values[17] = t321;
811  values[18] = t332+t344;
812  values[19] = t354+t365;
813  values[20] = t375+t384;
814  values[21] = t395+t405;
815 }
816 
817 // values of the derivatives in eta-eta direction
818 static void C_T_UL4_2D_DeriveEtaEta(double xi, double eta, double *values)
819 {
820  double t1, t3, t4, t6, t7, t9, t10, t11, t13, t14, t16, t18, t22, t23;
821  double t24, t25, t27, t30, t31, t32, t35, t37, t39, t40, t41, t44, t45;
822  double t48, t49, t50, t52, t54, t55, t56, t57, t58, t59, t60, t61, t62;
823  double t63, t64, t65, t67, t69, t70, t75, t76, t77, t79, t82, t83, t86;
824  double t87, t88, t89, t90, t94, t95, t98, t103, t112, t117, t123, t128;
825  double t135, t139, t141, t142, t145, t146, t147, t152, t159, t160, t162;
826  double t170, t173, t174, t177, t178, t179, t180, t181, t182, t188, t189;
827  double t190, t192, t196, t197, t198, t199, t200, t201, t202, t209, t214;
828  double t220, t222, t225, t226, t236, t240, t241, t250, t261, t274;
829 
830  t1 = xi*eta;
831  t3 = eta*eta;
832  t4 = t3*xi;
833  t6 = xi*xi;
834  t7 = t6*eta;
835  t9 = 1.0-xi-eta;
836  t10 = t4*t9;
837  t11 = 11000.0*t10;
838  t13 = t6*xi;
839  t14 = t13*t9;
840  t16 = t6*t9;
841  t18 = t9*t7;
842  t22 = t6*t6;
843  t23 = 5500.0/3.0*t22;
844  t24 = 128.0*t3;
845  t25 = t13*eta;
846  t27 = t6*t3;
847  t30 = xi*t3*eta;
848  t31 = 22000.0/3.0*t30;
849  t32 = t1*t9;
850  t35 = -5744.0*t1+10160.0*t4+13040.0*t7+t11+6640.0/3.0*xi+15400.0/3.0*t14-6520.0*t16+15400.0*t18-3872.0*t6+10160.0/3.0*t13-t23+t24+140.0/3.0-30800.0/3.0*t25-15400.0*t27-t31-10160.0*t32-160.0*eta;
851  t37 = 6656.0*t6;
852  t39 = 5120.0/3.0*t13;
853  t40 = 9280.0*t16;
854  t41 = 18560.0*t7;
855  t44 = 14080.0/3.0*t14;
856  t45 = 28160.0/3.0*t25;
857  t48 = 24640.0*t10;
858  t49 = 49280.0/3.0*t30;
859  t50 = 15296.0/3.0*xi-t37-12864.0*t1+t39-t40+t41-22400.0*t32+22400.0*t4+t44-t45+24640.0*t18-24640.0*t27+t48-t49;
860  t52 = 4800.0*t6;
861  t54 = 2560.0*t13;
862  t55 = 9600.0*t16;
863  t56 = 19200.0*t7;
864  t57 = 7680.0*t32;
865  t58 = 7680.0*t4;
866  t59 = 7040.0*t14;
867  t60 = 14080.0*t25;
868  t61 = 21120.0*t18;
869  t62 = 21120.0*t27;
870  t63 = 5280.0*t10;
871  t64 = 3520.0*t30;
872  t65 = -2624.0*xi+t52+6336.0*t1-t54+t55-t56+t57-t58-t59+t60-t61+t62-t63+t64;
873  t67 = 2048.0*t6;
874  t69 = 3520.0*t16;
875  t70 = 7040.0*t7;
876  t75 = 3520.0*t10;
877  t76 = 7040.0/3.0*t30;
878  t77 = 3136.0/3.0*xi-t67-2496.0*t1+t39-t69+t70-3200.0*t32+3200.0*t4+t44-t45+3520.0*t18-3520.0*t27+t75-t76;
879  t79 = 840.0*t6;
880  t82 = 480.0*t16;
881  t83 = 960.0*t7;
882  t86 = 1100.0/3.0*t14;
883  t87 = 2200.0/3.0*t25;
884  t88 = 1100.0*t18;
885  t89 = 1100.0*t27;
886  t90 = -560.0/3.0*xi+t79+340.0*t1-6340.0/3.0*t13+t82-t83+340.0*t32-340.0*t4+t23-t86+t87-t88+t89;
887  t94 = 2560.0*t16;
888  t95 = 5120.0*t7;
889  t98 = 12320.0/3.0*t22;
890  t103 = -1792.0/3.0*xi+t67+1376.0*t1-14560.0/3.0*t13+t94-t95+2080.0*t32-2080.0*t4+t98-12320.0/3.0*t14+24640.0/3.0*t25-1760.0*t18+1760.0*t27-t75+t76;
891  t112 = 880.0*t22;
892  t117 = -448.0*xi+864.0*t6+1104.0*t1+80.0*t13+4320.0*t16-8640.0*t7-240.0*t32+240.0*t4-t112-4400.0*t14+8800.0*t25-13200.0*t18+13200.0*t27+t63-t64;
893  t123 = 1760.0/3.0*t22;
894  t128 = -1792.0*xi+t67+5024.0*t1-2080.0/3.0*t13+t94-t95+14560.0*t32-14560.0*t4+t123-1760.0/3.0*t14+3520.0/3.0*t25-12320.0*t18+12320.0*t27-t48+t49;
895  t135 = 44.0/3.0-800.0*xi-96.0*eta+t79+2180.0*t1+t24-340.0/3.0*t13+t82-t83+6340.0*t32-6340.0*t4-t86+t87-t88+t89-t11+t31;
896  t139 = 512.0*t3;
897  t141 = 5120.0*t32;
898  t142 = 5120.0*t4;
899  t145 = 14080.0*t18;
900  t146 = 14080.0*t27;
901  t147 = -224.0/3.0+4480.0/3.0*xi+448.0*eta-t67-3904.0*t1-t139+3200.0/3.0*t13-t69+t70-t141+t142-t123+3520.0/3.0*t14-7040.0/3.0*t25+t145-t146;
902  t152 = 152.0-3328.0*xi-768.0*eta+t52+8448.0*t1+768.0*t3-t54+t55-t56+t57-t58+t112-t59+t60-t61+t62;
903  t159 = -416.0/3.0+9856.0/3.0*xi+576.0*eta-t37-7360.0*t1-t139+22400.0/3.0*t13-t40+t41-t141+t142-t98+24640.0/3.0*t14-49280.0/3.0*t25+t145-t146;
904  t160 = 3360.0*xi;
905  t162 = 7560.0*t1;
906  t170 = 100800.0*t6;
907  t173 = 141120.0*t16;
908  t174 = 282240.0*t7;
909  t177 = 110880.0*t22;
910  t178 = 110880.0*t14;
911  t179 = 221760.0*t25;
912  t180 = 332640.0*t18;
913  t181 = 332640.0*t27;
914  t182 = 40320.0*xi-t170-90720.0*t1+151200.0*t13-t173+t174-90720.0*t32+90720.0*t4-t177+t178-t179+t180-t181;
915  t188 = 665280.0*t10;
916  t189 = 443520.0*t30;
917  t190 = 80640.0*xi-t170-211680.0*t1+30240.0*t13-t173+t174-453600.0*t32+453600.0*t4+t178-t179+t180-t181+t188-t189;
918  t192 = 5520.0*t6;
919  t196 = 6600.0*t14;
920  t197 = 13200.0*t25;
921  t198 = 19800.0*t18;
922  t199 = 19800.0*t27;
923  t200 = 7920.0*t10;
924  t201 = 5280.0*t30;
925  t202 = -3120.0*xi+t192+t162-3000.0*t13+t55-t56+9720.0*t32-9720.0*t4-t196+t197-t198+t199-t200+t201;
926  t209 = 1320.0*t22;
927  t214 = -t160+t192+8280.0*t1-3480.0*t13+8520.0*t16-17040.0*t7+10440.0*t32-10440.0*t4+t209-5280.0*t14+10560.0*t25-15840.0*t18+15840.0*t27-t200+t201;
928  t220 = -3600.0*xi+t192+9000.0*t1-3240.0*t13+t55-t56+9000.0*t32-9000.0*t4+t209-t196+t197-t198+t199;
929  t222 = 190080.0*t6;
930  t225 = 285120.0*t16;
931  t226 = 570240.0*t7;
932  t236 = 63360.0*xi-t222-142560.0*t1+332640.0*t13-t225+t226-142560.0*t32+142560.0*t4-221760.0*t22+332640.0*t14-665280.0*t25+427680.0*t18-427680.0*t27+95040.0*t10-63360.0*t30;
933  t240 = 380160.0*t16;
934  t241 = 760320.0*t7;
935  t250 = 95040.0*xi-t222-237600.0*t1+205920.0*t13-t240+t241-332640.0*t32+332640.0*t4-t177+364320.0*t14-728640.0*t25+807840.0*t18-807840.0*t27+285120.0*t10-190080.0*t30;
936  t261 = 126720.0*xi-t222-332640.0*t1+110880.0*t13-t240+t241-617760.0*t32+617760.0*t4-47520.0*t22+269280.0*t14-538560.0*t25+1092960.0*t18-1092960.0*t27+t188-t189;
937  t274 = 158400.0*xi-t222-427680.0*t1+47520.0*t13-t225+t226-997920.0*t32+997920.0*t4-15840.0*t22+142560.0*t14-285120.0*t25+997920.0*t18-997920.0*t27+1330560.0*t10-887040.0*t30;
938 
939  values[0] = t35;
940  values[1] = t50;
941  values[2] = t65;
942  values[3] = t77;
943  values[4] = t90;
944  values[5] = t103;
945  values[6] = t117;
946  values[7] = t128;
947  values[8] = t135;
948  values[9] = t147;
949  values[10] = t152;
950  values[11] = t159;
951  values[12] = -t160+5040.0*t6+t162-2520.0*t13+2520.0*t16-5040.0*t7+7560.0*t32-7560.0*t4;
952  values[13] = t182;
953  values[14] = t190;
954  values[15] = t202;
955  values[16] = t214;
956  values[17] = t220;
957  values[18] = t236;
958  values[19] = t250;
959  values[20] = t261;
960  values[21] = t274;
961 }
962 
963 // ***********************************************************************
964 
965 TBaseFunct2D *BF_C_T_UL4_2D_Obj = new TBaseFunct2D
966  (22, BF_C_T_UL4_2D, BFUnitTriangle,
967  C_T_UL4_2D_Funct, C_T_UL4_2D_DeriveXi,
968  C_T_UL4_2D_DeriveEta, C_T_UL4_2D_DeriveXiXi,
969  C_T_UL4_2D_DeriveXiEta, C_T_UL4_2D_DeriveEtaEta, 6, 4,
970  0, NULL);
Definition: BaseFunct2D.h:27