ParMooN
 All Classes Functions Variables Friends Pages
BF_C_T_B4_2D.h
1 // ***********************************************************************
2 // p4 element, conforming with bubbles, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void C_T_B4_2D_Funct(double xi, double eta, double *values)
7 {
8  double t3, t5, t7, t9, t11, t13, t15, t17, t18, t19, t21, t23, t25, t26;
9  double t27, t29, t30, t32, t35, t36, t37, t40, t44, t46, t48, t49, t50;
10  double t51, t54, t60, t63, t64, t65, t68, t73, t75, t76, t77, t79, t84;
11  double t86, t88, t89, t93, t95, t96, t104, t111, t120, t128, t129, t130;
12  double t140, t148, t155, t157, t159, t163, t164, t166, t168, t172, t176;
13 
14  t3 = xi*xi;
15  t5 = xi*eta;
16  t7 = eta*eta;
17  t9 = t3*xi;
18  t11 = t3*eta;
19  t13 = xi*t7;
20  t15 = t7*eta;
21  t17 = t3*t3;
22  t18 = 32.0/3.0*t17;
23  t19 = t9*eta;
24  t21 = t3*t7;
25  t23 = xi*t15;
26  t25 = t7*t7;
27  t26 = 32.0/3.0*t25;
28  t27 = 1.0-xi-eta;
29  t29 = t27*t9*eta;
30  t30 = 265.0/6.0*t29;
31  t32 = t27*t3*t7;
32  t35 = t27*xi*t15;
33  t36 = 265.0/6.0*t35;
34  t37 = 1.0-25.0/3.0*xi-25.0/3.0*eta+70.0/3.0*t3+3761.0/60.0*t5+70.0/3.0*t7-80.0/3.0*t9-4493.0/30.0*t11-4493.0/30.0*t13-80.0/3.0*t15+t18+1157.0/12.0*t19+343.0/2.0*t21+1157.0/12.0*t23+t26+t30+335.0/4.0*t32+t36;
35  t40 = 696.0/5.0*t5;
36  t44 = 128.0/3.0*t17;
37  t46 = 1744.0/3.0*t21;
38  t48 = 640.0/3.0*t29;
39  t49 = 1040.0/3.0*t32;
40  t50 = 440.0/3.0*t35;
41  t51 = 16.0*xi-208.0/3.0*t3-t40+96.0*t9+7688.0/15.0*t11+5528.0/15.0*t13-t44-1136.0/3.0*t19-t46-736.0/3.0*t23-t48-t49-t50;
42  t54 = 1382.0/15.0*t5;
43  t60 = 492.0*t21;
44  t63 = 320.0*t32;
45  t64 = 110.0/3.0*t35;
46  t65 = -12.0*xi+76.0*t3+t54-128.0*t9-7922.0/15.0*t11-2822.0/15.0*t13+64.0*t17+448.0*t19+t60+108.0*t23+320.0*t29+t63+t64;
47  t68 = 568.0/15.0*t5;
48  t73 = 208.0*t21;
49  t75 = 80.0*t32;
50  t76 = 40.0/3.0*t35;
51  t77 = 16.0/3.0*xi-112.0/3.0*t3-t68+224.0/3.0*t9+3608.0/15.0*t11+968.0/15.0*t13-t44-656.0/3.0*t19-t73-32.0*t23-t48-t75-t76;
52  t79 = 193.0/30.0*t5;
53  t84 = 235.0/6.0*t21;
54  t86 = 55.0/12.0*t32;
55  t88 = -xi+22.0/3.0*t3+t79-16.0*t9-2461.0/60.0*t11-661.0/60.0*t13+t18+415.0/12.0*t19+t84+55.0/12.0*t23+t30+t86+55.0/12.0*t35;
56  t89 = 128.0/15.0*t5;
57  t93 = 256.0/3.0*t21;
58  t95 = 440.0/3.0*t29;
59  t96 = 160.0/3.0*t32;
60  t104 = 110.0/3.0*t29;
61  t111 = 40.0/3.0*t29;
62  t120 = -eta+t79+22.0/3.0*t7-661.0/60.0*t11-2461.0/60.0*t13-16.0*t15+55.0/12.0*t19+t84+415.0/12.0*t23+t26+55.0/12.0*t29+t86+t36;
63  t128 = 128.0/3.0*t25;
64  t129 = 640.0/3.0*t35;
65  t130 = 16.0/3.0*eta-t68-112.0/3.0*t7+968.0/15.0*t11+3608.0/15.0*t13+224.0/3.0*t15-32.0*t19-t73-656.0/3.0*t23-t128-t111-t75-t129;
66  t140 = -12.0*eta+t54+76.0*t7-2822.0/15.0*t11-7922.0/15.0*t13-128.0*t15+108.0*t19+t60+448.0*t23+64.0*t25+t104+t63+320.0*t35;
67  t148 = 16.0*eta-t40-208.0/3.0*t7+5528.0/15.0*t11+7688.0/15.0*t13+96.0*t15-736.0/3.0*t19-t46-1136.0/3.0*t23-t128-t95-t49-t129;
68  t155 = 3125.0/6.0*t29;
69  t157 = 3125.0/6.0*t35;
70  t159 = 125.0*t5;
71  t163 = 1875.0/2.0*t21;
72  t164 = 625.0/4.0*t23;
73  t166 = 3125.0/4.0*t32;
74  t168 = 125.0/3.0*t5;
75  t172 = 625.0/2.0*t21;
76  t176 = 625.0/4.0*t19;
77 
78  values[0] = t37;
79  values[1] = t51;
80  values[2] = t65;
81  values[3] = t77;
82  values[4] = t88;
83  values[5] = -t89+1088.0/15.0*t11+128.0/15.0*t13-48.0*t19-t93+16.0/3.0*t23-t95+t96-t76;
84  values[6] = -16.0/5.0*t5+388.0/15.0*t11+388.0/15.0*t13-104.0/3.0*t19-16.0/3.0*t21-104.0/3.0*t23+t104-740.0/3.0*t32+t64;
85  values[7] = -t89+128.0/15.0*t11+1088.0/15.0*t13+16.0/3.0*t19-t93-48.0*t23-t111+t96-t50;
86  values[8] = t120;
87  values[9] = t130;
88  values[10] = t140;
89  values[11] = t148;
90  values[12] = 250.0*t5-5875.0/6.0*t11-5875.0/6.0*t13+4375.0/6.0*t19+4375.0/3.0*t21+4375.0/6.0*t23+t155+3125.0/3.0*t32+t157;
91  values[13] = -t159+3625.0/4.0*t11+1125.0/4.0*t13-3125.0/4.0*t19-t163-t164-3125.0/4.0*t29-t166;
92  values[14] = t168-2125.0/6.0*t11-125.0/3.0*t13+625.0/2.0*t19+t172+t155;
93  values[15] = -t159+1125.0/4.0*t11+3625.0/4.0*t13-t176-t163-3125.0/4.0*t23-t166-3125.0/4.0*t35;
94  values[16] = 125.0/4.0*t5-375.0/2.0*t11-375.0/2.0*t13+t176+t172+t164+t166;
95  values[17] = t168-125.0/3.0*t11-2125.0/6.0*t13+t172+625.0/2.0*t23+t157;
96 }
97 
98 // values of the derivatives in xi direction
99 static void C_T_B4_2D_DeriveXi(double xi, double eta, double *values)
100 {
101  double t3, t5, t7, t9, t10, t11, t13, t15, t17, t18, t19, t21, t22, t23;
102  double t26, t28, t29, t30, t31, t32, t34, t38, t40, t42, t43, t44, t45;
103  double t46, t47, t48, t50, t56, t60, t61, t62, t63, t64, t66, t71, t73;
104  double t74, t75, t76, t77, t79, t84, t86, t87, t90, t91, t95, t97, t98;
105  double t99, t100, t101, t108, t109, t112, t117, t118, t119, t126, t131;
106  double t132, t133, t140, t145, t152, t153, t156, t157, t158, t159, t163;
107  double t164, t167, t168, t170, t174, t178;
108 
109  t3 = xi*xi;
110  t5 = xi*eta;
111  t7 = eta*eta;
112  t9 = t3*xi;
113  t10 = 128.0/3.0*t9;
114  t11 = t3*eta;
115  t13 = xi*t7;
116  t15 = t7*eta;
117  t17 = t9*eta;
118  t18 = 265.0/6.0*t17;
119  t19 = 1.0-xi-eta;
120  t21 = t19*t3*eta;
121  t22 = 265.0/2.0*t21;
122  t23 = t3*t7;
123  t26 = t19*xi*t7;
124  t28 = xi*t15;
125  t29 = 265.0/6.0*t28;
126  t30 = t19*t15;
127  t31 = 265.0/6.0*t30;
128  t32 = -25.0/3.0+140.0/3.0*xi+3761.0/60.0*eta-80.0*t3-4493.0/15.0*t5-4493.0/30.0*t7+t10+1157.0/4.0*t11+343.0*t13+1157.0/12.0*t15-t18+t22-335.0/4.0*t23+335.0/2.0*t26-t29+t31;
129  t34 = 696.0/5.0*eta;
130  t38 = 512.0/3.0*t9;
131  t40 = 3488.0/3.0*t13;
132  t42 = 640.0/3.0*t17;
133  t43 = 640.0*t21;
134  t44 = 1040.0/3.0*t23;
135  t45 = 2080.0/3.0*t26;
136  t46 = 440.0/3.0*t28;
137  t47 = 440.0/3.0*t30;
138  t48 = 16.0-416.0/3.0*xi-t34+288.0*t3+15376.0/15.0*t5+5528.0/15.0*t7-t38-1136.0*t11-t40-736.0/3.0*t15+t42-t43+t44-t45+t46-t47;
139  t50 = 1382.0/15.0*eta;
140  t56 = 984.0*t13;
141  t60 = 320.0*t23;
142  t61 = 640.0*t26;
143  t62 = 110.0/3.0*t28;
144  t63 = 110.0/3.0*t30;
145  t64 = -12.0+152.0*xi+t50-384.0*t3-15844.0/15.0*t5-2822.0/15.0*t7+256.0*t9+1344.0*t11+t56+108.0*t15-320.0*t17+960.0*t21-t60+t61-t62+t63;
146  t66 = 568.0/15.0*eta;
147  t71 = 416.0*t13;
148  t73 = 80.0*t23;
149  t74 = 160.0*t26;
150  t75 = 40.0/3.0*t28;
151  t76 = 40.0/3.0*t30;
152  t77 = 16.0/3.0-224.0/3.0*xi-t66+224.0*t3+7216.0/15.0*t5+968.0/15.0*t7-t38-656.0*t11-t71-32.0*t15+t42-t43+t73-t74+t75-t76;
153  t79 = 193.0/30.0*eta;
154  t84 = 235.0/3.0*t13;
155  t86 = 55.0/12.0*t23;
156  t87 = 55.0/6.0*t26;
157  t90 = -1.0+44.0/3.0*xi+t79-48.0*t3-2461.0/30.0*t5-661.0/60.0*t7+t10+415.0/4.0*t11+t84+55.0/12.0*t15-t18+t22-t86+t87-55.0/12.0*t28+55.0/12.0*t30;
158  t91 = 128.0/15.0*eta;
159  t95 = 512.0/3.0*t13;
160  t97 = 440.0/3.0*t17;
161  t98 = 440.0*t21;
162  t99 = 160.0/3.0*t23;
163  t100 = 320.0/3.0*t26;
164  t101 = -t91+2176.0/15.0*t5+128.0/15.0*t7-144.0*t11-t95+16.0/3.0*t15+t97-t98-t99+t100+t75-t76;
165  t108 = 110.0/3.0*t17;
166  t109 = 110.0*t21;
167  t112 = -16.0/5.0*eta+776.0/15.0*t5+388.0/15.0*t7-104.0*t11-32.0/3.0*t13-104.0/3.0*t15-t108+t109+740.0/3.0*t23-1480.0/3.0*t26-t62+t63;
168  t117 = 40.0/3.0*t17;
169  t118 = 40.0*t21;
170  t119 = -t91+256.0/15.0*t5+1088.0/15.0*t7+16.0*t11-t95-48.0*t15+t117-t118-t99+t100+t46-t47;
171  t126 = t79-661.0/30.0*t5-2461.0/60.0*t7+55.0/4.0*t11+t84+415.0/12.0*t15-55.0/12.0*t17+55.0/4.0*t21-t86+t87-t29+t31;
172  t131 = 640.0/3.0*t28;
173  t132 = 640.0/3.0*t30;
174  t133 = -t66+1936.0/15.0*t5+3608.0/15.0*t7-96.0*t11-t71-656.0/3.0*t15+t117-t118+t73-t74+t131-t132;
175  t140 = t50-5644.0/15.0*t5-7922.0/15.0*t7+324.0*t11+t56+448.0*t15-t108+t109-t60+t61-320.0*t28+320.0*t30;
176  t145 = -t34+11056.0/15.0*t5+7688.0/15.0*t7-736.0*t11-t40-1136.0/3.0*t15+t97-t98+t44-t45+t131-t132;
177  t152 = 3125.0/6.0*t17;
178  t153 = 3125.0/2.0*t21;
179  t156 = 3125.0/6.0*t28;
180  t157 = 3125.0/6.0*t30;
181  t158 = 250.0*eta-5875.0/3.0*t5-5875.0/6.0*t7+4375.0/2.0*t11+8750.0/3.0*t13+4375.0/6.0*t15-t152+t153-3125.0/3.0*t23+6250.0/3.0*t26-t156+t157;
182  t159 = 125.0*eta;
183  t163 = 1875.0*t13;
184  t164 = 625.0/4.0*t15;
185  t167 = 3125.0/4.0*t23;
186  t168 = 3125.0/2.0*t26;
187  t170 = 125.0/3.0*eta;
188  t174 = 625.0*t13;
189  t178 = 1875.0/4.0*t11;
190 
191  values[0] = t32;
192  values[1] = t48;
193  values[2] = t64;
194  values[3] = t77;
195  values[4] = t90;
196  values[5] = t101;
197  values[6] = t112;
198  values[7] = t119;
199  values[8] = t126;
200  values[9] = t133;
201  values[10] = t140;
202  values[11] = t145;
203  values[12] = t158;
204  values[13] = -t159+3625.0/2.0*t5+1125.0/4.0*t7-9375.0/4.0*t11-t163-t164+3125.0/4.0*t17-9375.0/4.0*t21+t167-t168;
205  values[14] = t170-2125.0/3.0*t5-125.0/3.0*t7+1875.0/2.0*t11+t174-t152+t153;
206  values[15] = -t159+1125.0/2.0*t5+3625.0/4.0*t7-t178-t163-3125.0/4.0*t15+t167-t168+3125.0/4.0*t28-3125.0/4.0*t30;
207  values[16] = 125.0/4.0*eta-375.0*t5-375.0/2.0*t7+t178+t174+t164-t167+t168;
208  values[17] = t170-250.0/3.0*t5-2125.0/6.0*t7+t174+625.0/2.0*t15-t156+t157;
209 }
210 
211 // values of the derivatives in eta direction
212 static void C_T_B4_2D_DeriveEta(double xi, double eta, double *values)
213 {
214  double t3, t5, t7, t9, t11, t13, t15, t16, t17, t18, t19, t20, t21, t22;
215  double t25, t27, t28, t30, t31, t32, t33, t37, t39, t40, t41, t42, t43;
216  double t44, t45, t46, t50, t54, t55, t56, t57, t58, t59, t63, t65, t66;
217  double t67, t68, t69, t70, t74, t76, t77, t80, t81, t85, t87, t88, t89;
218  double t90, t91, t98, t99, t102, t107, t108, t109, t118, t125, t126, t127;
219  double t128, t138, t145, t152, t153, t156, t157, t158, t159, t163, t164;
220  double t167, t168, t170, t174, t178;
221 
222  t3 = xi*xi;
223  t5 = xi*eta;
224  t7 = eta*eta;
225  t9 = t3*xi;
226  t11 = t3*eta;
227  t13 = xi*t7;
228  t15 = t7*eta;
229  t16 = 128.0/3.0*t15;
230  t17 = t9*eta;
231  t18 = 265.0/6.0*t17;
232  t19 = 1.0-xi-eta;
233  t20 = t19*t9;
234  t21 = 265.0/6.0*t20;
235  t22 = t3*t7;
236  t25 = t19*t3*eta;
237  t27 = xi*t15;
238  t28 = 265.0/6.0*t27;
239  t30 = t19*xi*t7;
240  t31 = 265.0/2.0*t30;
241  t32 = -25.0/3.0+3761.0/60.0*xi+140.0/3.0*eta-4493.0/30.0*t3-4493.0/15.0*t5-80.0*t7+1157.0/12.0*t9+343.0*t11+1157.0/4.0*t13+t16-t18+t21-335.0/4.0*t22+335.0/2.0*t25-t28+t31;
242  t33 = 696.0/5.0*xi;
243  t37 = 3488.0/3.0*t11;
244  t39 = 640.0/3.0*t17;
245  t40 = 640.0/3.0*t20;
246  t41 = 1040.0/3.0*t22;
247  t42 = 2080.0/3.0*t25;
248  t43 = 440.0/3.0*t27;
249  t44 = 440.0*t30;
250  t45 = -t33+7688.0/15.0*t3+11056.0/15.0*t5-1136.0/3.0*t9-t37-736.0*t13+t39-t40+t41-t42+t43-t44;
251  t46 = 1382.0/15.0*xi;
252  t50 = 984.0*t11;
253  t54 = 320.0*t22;
254  t55 = 640.0*t25;
255  t56 = 110.0/3.0*t27;
256  t57 = 110.0*t30;
257  t58 = t46-7922.0/15.0*t3-5644.0/15.0*t5+448.0*t9+t50+324.0*t13-320.0*t17+320.0*t20-t54+t55-t56+t57;
258  t59 = 568.0/15.0*xi;
259  t63 = 416.0*t11;
260  t65 = 80.0*t22;
261  t66 = 160.0*t25;
262  t67 = 40.0/3.0*t27;
263  t68 = 40.0*t30;
264  t69 = -t59+3608.0/15.0*t3+1936.0/15.0*t5-656.0/3.0*t9-t63-96.0*t13+t39-t40+t65-t66+t67-t68;
265  t70 = 193.0/30.0*xi;
266  t74 = 235.0/3.0*t11;
267  t76 = 55.0/12.0*t22;
268  t77 = 55.0/6.0*t25;
269  t80 = t70-2461.0/60.0*t3-661.0/30.0*t5+415.0/12.0*t9+t74+55.0/4.0*t13-t18+t21-t76+t77-55.0/12.0*t27+55.0/4.0*t30;
270  t81 = 128.0/15.0*xi;
271  t85 = 512.0/3.0*t11;
272  t87 = 440.0/3.0*t17;
273  t88 = 440.0/3.0*t20;
274  t89 = 160.0/3.0*t22;
275  t90 = 320.0/3.0*t25;
276  t91 = -t81+1088.0/15.0*t3+256.0/15.0*t5-48.0*t9-t85+16.0*t13+t87-t88-t89+t90+t67-t68;
277  t98 = 110.0/3.0*t17;
278  t99 = 110.0/3.0*t20;
279  t102 = -16.0/5.0*xi+388.0/15.0*t3+776.0/15.0*t5-104.0/3.0*t9-32.0/3.0*t11-104.0*t13-t98+t99+740.0/3.0*t22-1480.0/3.0*t25-t56+t57;
280  t107 = 40.0/3.0*t17;
281  t108 = 40.0/3.0*t20;
282  t109 = -t81+128.0/15.0*t3+2176.0/15.0*t5+16.0/3.0*t9-t85-144.0*t13+t107-t108-t89+t90+t43-t44;
283  t118 = -1.0+t70+44.0/3.0*eta-661.0/60.0*t3-2461.0/30.0*t5-48.0*t7+55.0/12.0*t9+t74+415.0/4.0*t13+t16-55.0/12.0*t17+55.0/12.0*t20-t76+t77-t28+t31;
284  t125 = 512.0/3.0*t15;
285  t126 = 640.0/3.0*t27;
286  t127 = 640.0*t30;
287  t128 = 16.0/3.0-t59-224.0/3.0*eta+968.0/15.0*t3+7216.0/15.0*t5+224.0*t7-32.0*t9-t63-656.0*t13-t125+t107-t108+t65-t66+t126-t127;
288  t138 = -12.0+t46+152.0*eta-2822.0/15.0*t3-15844.0/15.0*t5-384.0*t7+108.0*t9+t50+1344.0*t13+256.0*t15-t98+t99-t54+t55-320.0*t27+960.0*t30;
289  t145 = 16.0-t33-416.0/3.0*eta+5528.0/15.0*t3+15376.0/15.0*t5+288.0*t7-736.0/3.0*t9-t37-1136.0*t13-t125+t87-t88+t41-t42+t126-t127;
290  t152 = 3125.0/6.0*t17;
291  t153 = 3125.0/6.0*t20;
292  t156 = 3125.0/6.0*t27;
293  t157 = 3125.0/2.0*t30;
294  t158 = 250.0*xi-5875.0/6.0*t3-5875.0/3.0*t5+4375.0/6.0*t9+8750.0/3.0*t11+4375.0/2.0*t13-t152+t153-3125.0/3.0*t22+6250.0/3.0*t25-t156+t157;
295  t159 = 125.0*xi;
296  t163 = 1875.0*t11;
297  t164 = 1875.0/4.0*t13;
298  t167 = 3125.0/4.0*t22;
299  t168 = 3125.0/2.0*t25;
300  t170 = 125.0/3.0*xi;
301  t174 = 625.0*t11;
302  t178 = 625.0/4.0*t9;
303 
304  values[0] = t32;
305  values[1] = t45;
306  values[2] = t58;
307  values[3] = t69;
308  values[4] = t80;
309  values[5] = t91;
310  values[6] = t102;
311  values[7] = t109;
312  values[8] = t118;
313  values[9] = t128;
314  values[10] = t138;
315  values[11] = t145;
316  values[12] = t158;
317  values[13] = -t159+3625.0/4.0*t3+1125.0/2.0*t5-3125.0/4.0*t9-t163-t164+3125.0/4.0*t17-3125.0/4.0*t20+t167-t168;
318  values[14] = t170-2125.0/6.0*t3-250.0/3.0*t5+625.0/2.0*t9+t174-t152+t153;
319  values[15] = -t159+1125.0/4.0*t3+3625.0/2.0*t5-t178-t163-9375.0/4.0*t13+t167-t168+3125.0/4.0*t27-9375.0/4.0*t30;
320  values[16] = 125.0/4.0*xi-375.0/2.0*t3-375.0*t5+t178+t174+t164-t167+t168;
321  values[17] = t170-125.0/3.0*t3-2125.0/3.0*t5+t174+1875.0/2.0*t13-t156+t157;
322 }
323 
324 // values of the derivatives in xi-xi direction
325 static void C_T_B4_2D_DeriveXiXi(double xi, double eta, double *values)
326 {
327  double t3, t4, t5, t7, t9, t10, t11, t13, t14, t15, t17, t19, t20, t21;
328  double t24, t26, t27, t28, t29, t30, t31, t32, t37, t40, t41, t42, t43;
329  double t47, t48, t49, t50, t51, t55, t56, t57, t59, t62, t63, t64, t65;
330  double t66, t71, t72, t78, t79, t88, t100, t101, t104, t108, t111, t112;
331  double t116, t119;
332 
333  t3 = xi*xi;
334  t4 = 128.0*t3;
335  t5 = xi*eta;
336  t7 = eta*eta;
337  t9 = t3*eta;
338  t10 = 265.0*t9;
339  t11 = 1.0-xi-eta;
340  t13 = t11*xi*eta;
341  t14 = 265.0*t13;
342  t15 = xi*t7;
343  t17 = t11*t7;
344  t19 = t7*eta;
345  t20 = 265.0/3.0*t19;
346  t21 = 140.0/3.0-160.0*xi-4493.0/15.0*eta+t4+1157.0/2.0*t5+343.0*t7-t10+t14-335.0*t15+335.0/2.0*t17-t20;
347  t24 = 512.0*t3;
348  t26 = 3488.0/3.0*t7;
349  t27 = 1280.0*t9;
350  t28 = 1280.0*t13;
351  t29 = 4160.0/3.0*t15;
352  t30 = 2080.0/3.0*t17;
353  t31 = 880.0/3.0*t19;
354  t32 = -416.0/3.0+576.0*xi+15376.0/15.0*eta-t24-2272.0*t5-t26+t27-t28+t29-t30+t31;
355  t37 = 984.0*t7;
356  t40 = 1280.0*t15;
357  t41 = 640.0*t17;
358  t42 = 220.0/3.0*t19;
359  t43 = 152.0-768.0*xi-15844.0/15.0*eta+768.0*t3+2688.0*t5+t37-1920.0*t9+1920.0*t13-t40+t41-t42;
360  t47 = 416.0*t7;
361  t48 = 320.0*t15;
362  t49 = 160.0*t17;
363  t50 = 80.0/3.0*t19;
364  t51 = -224.0/3.0+448.0*xi+7216.0/15.0*eta-t24-1312.0*t5-t47+t27-t28+t48-t49+t50;
365  t55 = 235.0/3.0*t7;
366  t56 = 55.0/3.0*t15;
367  t57 = 55.0/6.0*t17;
368  t59 = 44.0/3.0-96.0*xi-2461.0/30.0*eta+t4+415.0/2.0*t5+t55-t10+t14-t56+t57-55.0/6.0*t19;
369  t62 = 512.0/3.0*t7;
370  t63 = 880.0*t9;
371  t64 = 880.0*t13;
372  t65 = 640.0/3.0*t15;
373  t66 = 320.0/3.0*t17;
374  t71 = 220.0*t9;
375  t72 = 220.0*t13;
376  t78 = 80.0*t9;
377  t79 = 80.0*t13;
378  t88 = 1280.0/3.0*t19;
379  t100 = 3125.0*t9;
380  t101 = 3125.0*t13;
381  t104 = 3125.0/3.0*t19;
382  t108 = 1875.0*t7;
383  t111 = 3125.0*t15;
384  t112 = 3125.0/2.0*t17;
385  t116 = 625.0*t7;
386  t119 = 1875.0/2.0*t5;
387 
388  values[0] = t21;
389  values[1] = t32;
390  values[2] = t43;
391  values[3] = t51;
392  values[4] = t59;
393  values[5] = 2176.0/15.0*eta-288.0*t5-t62+t63-t64-t65+t66+t50;
394  values[6] = 776.0/15.0*eta-208.0*t5-32.0/3.0*t7-t71+t72+2960.0/3.0*t15-1480.0/3.0*t17-t42;
395  values[7] = 256.0/15.0*eta+32.0*t5-t62+t78-t79-t65+t66+t31;
396  values[8] = -661.0/30.0*eta+55.0/2.0*t5+t55-55.0/2.0*t9+55.0/2.0*t13-t56+t57-t20;
397  values[9] = 1936.0/15.0*eta-192.0*t5-t47+t78-t79+t48-t49+t88;
398  values[10] = -5644.0/15.0*eta+648.0*t5+t37-t71+t72-t40+t41-640.0*t19;
399  values[11] = 11056.0/15.0*eta-1472.0*t5-t26+t63-t64+t29-t30+t88;
400  values[12] = -5875.0/3.0*eta+4375.0*t5+8750.0/3.0*t7-t100+t101-12500.0/3.0*t15+6250.0/3.0*t17-t104;
401  values[13] = 3625.0/2.0*eta-9375.0/2.0*t5-t108+9375.0/2.0*t9-9375.0/2.0*t13+t111-t112;
402  values[14] = -2125.0/3.0*eta+1875.0*t5+t116-t100+t101;
403  values[15] = 1125.0/2.0*eta-t119-t108+t111-t112+3125.0/2.0*t19;
404  values[16] = -375.0*eta+t119+t116-t111+t112;
405  values[17] = -250.0/3.0*eta+t116-t104;
406 }
407 
408 // values of the derivatives in xi-eta direction
409 static void C_T_B4_2D_DeriveXiEta(double xi, double eta, double *values)
410 {
411  double t3, t5, t7, t9, t10, t11, t13, t14, t15, t16, t19, t21, t22, t23;
412  double t24, t25, t29, t31, t33, t35, t36, t37, t38, t42, t48, t49, t50;
413  double t51, t55, t59, t60, t61, t62, t66, t70, t73, t77, t79, t81, t83;
414  double t84, t90, t92, t95, t100, t102, t104, t113, t120, t121, t122;
415  double t131, t138, t144, t146, t149, t150, t151, t155, t156, t160;
416  double t161, t162, t166, t167, t171, t176;
417 
418  t3 = xi*xi;
419  t5 = xi*eta;
420  t7 = eta*eta;
421  t9 = t3*xi;
422  t10 = 265.0/6.0*t9;
423  t11 = t3*eta;
424  t13 = 1.0-xi-eta;
425  t14 = t13*t3;
426  t15 = 265.0/2.0*t14;
427  t16 = xi*t7;
428  t19 = t13*xi*eta;
429  t21 = t7*eta;
430  t22 = 265.0/6.0*t21;
431  t23 = t13*t7;
432  t24 = 265.0/2.0*t23;
433  t25 = 3761.0/60.0-4493.0/15.0*xi-4493.0/15.0*eta+1157.0/4.0*t3+686.0*t5+1157.0/4.0*t7-t10-300.0*t11+t15-300.0*t16+335.0*t19-t22+t24;
434  t29 = 6976.0/3.0*t5;
435  t31 = 640.0/3.0*t9;
436  t33 = 640.0*t14;
437  t35 = 4160.0/3.0*t19;
438  t36 = 440.0/3.0*t21;
439  t37 = 440.0*t23;
440  t38 = -696.0/5.0+15376.0/15.0*xi+11056.0/15.0*eta-1136.0*t3-t29-736.0*t7+t31+4000.0/3.0*t11-t33+3400.0/3.0*t16-t35+t36-t37;
441  t42 = 1968.0*t5;
442  t48 = 1280.0*t19;
443  t49 = 110.0/3.0*t21;
444  t50 = 110.0*t23;
445  t51 = 1382.0/15.0-15844.0/15.0*xi-5644.0/15.0*eta+1344.0*t3+t42+324.0*t7-320.0*t9-1600.0*t11+960.0*t14-750.0*t16+t48-t49+t50;
446  t55 = 832.0*t5;
447  t59 = 320.0*t19;
448  t60 = 40.0/3.0*t21;
449  t61 = 40.0*t23;
450  t62 = -568.0/15.0+7216.0/15.0*xi+1936.0/15.0*eta-656.0*t3-t55-96.0*t7+t31+800.0*t11-t33+200.0*t16-t59+t60-t61;
451  t66 = 470.0/3.0*t5;
452  t70 = 55.0/3.0*t19;
453  t73 = 193.0/30.0-2461.0/30.0*xi-661.0/30.0*eta+415.0/4.0*t3+t66+55.0/4.0*t7-t10-425.0/3.0*t11+t15-275.0/12.0*t16+t70-55.0/12.0*t21+55.0/4.0*t23;
454  t77 = 1024.0/3.0*t5;
455  t79 = 440.0/3.0*t9;
456  t81 = 440.0*t14;
457  t83 = 640.0/3.0*t19;
458  t84 = -128.0/15.0+2176.0/15.0*xi+256.0/15.0*eta-144.0*t3-t77+16.0*t7+t79+1000.0/3.0*t11-t81-200.0/3.0*t16+t83+t60-t61;
459  t90 = 110.0/3.0*t9;
460  t92 = 110.0*t14;
461  t95 = -16.0/5.0+776.0/15.0*xi+776.0/15.0*eta-104.0*t3-64.0/3.0*t5-104.0*t7-t90+1150.0/3.0*t11+t92+1150.0/3.0*t16-2960.0/3.0*t19-t49+t50;
462  t100 = 40.0/3.0*t9;
463  t102 = 40.0*t14;
464  t104 = -128.0/15.0+256.0/15.0*xi+2176.0/15.0*eta+16.0*t3-t77-144.0*t7+t100-200.0/3.0*t11-t102+1000.0/3.0*t16+t83+t36-t37;
465  t113 = 193.0/30.0-661.0/30.0*xi-2461.0/30.0*eta+55.0/4.0*t3+t66+415.0/4.0*t7-55.0/12.0*t9-275.0/12.0*t11+55.0/4.0*t14-425.0/3.0*t16+t70-t22+t24;
466  t120 = 640.0/3.0*t21;
467  t121 = 640.0*t23;
468  t122 = -568.0/15.0+1936.0/15.0*xi+7216.0/15.0*eta-96.0*t3-t55-656.0*t7+t100+200.0*t11-t102+800.0*t16-t59+t120-t121;
469  t131 = 1382.0/15.0-5644.0/15.0*xi-15844.0/15.0*eta+324.0*t3+t42+1344.0*t7-t90-750.0*t11+t92-1600.0*t16+t48-320.0*t21+960.0*t23;
470  t138 = -696.0/5.0+11056.0/15.0*xi+15376.0/15.0*eta-736.0*t3-t29-1136.0*t7+t79+3400.0/3.0*t11-t81+4000.0/3.0*t16-t35+t120-t121;
471  t144 = 3125.0/6.0*t9;
472  t146 = 3125.0/2.0*t14;
473  t149 = 3125.0/6.0*t21;
474  t150 = 3125.0/2.0*t23;
475  t151 = 250.0-5875.0/3.0*xi-5875.0/3.0*eta+4375.0/2.0*t3+17500.0/3.0*t5+4375.0/2.0*t7-t144-21875.0/6.0*t11+t146-21875.0/6.0*t16+12500.0/3.0*t19-t149+t150;
476  t155 = 3750.0*t5;
477  t156 = 1875.0/4.0*t7;
478  t160 = 3125.0/2.0*t16;
479  t161 = 3125.0*t19;
480  t162 = -125.0+3625.0/2.0*xi+1125.0/2.0*eta-9375.0/4.0*t3-t155-t156+3125.0/4.0*t9+15625.0/4.0*t11-9375.0/4.0*t14+t160-t161;
481  t166 = 1250.0*t5;
482  t167 = 3125.0/2.0*t11;
483  t171 = 1875.0/4.0*t3;
484  t176 = -125.0+1125.0/2.0*xi+3625.0/2.0*eta-t171-t155-9375.0/4.0*t7+t167+15625.0/4.0*t16-t161+3125.0/4.0*t21-9375.0/4.0*t23;
485 
486  values[0] = t25;
487  values[1] = t38;
488  values[2] = t51;
489  values[3] = t62;
490  values[4] = t73;
491  values[5] = t84;
492  values[6] = t95;
493  values[7] = t104;
494  values[8] = t113;
495  values[9] = t122;
496  values[10] = t131;
497  values[11] = t138;
498  values[12] = t151;
499  values[13] = t162;
500  values[14] = 125.0/3.0-2125.0/3.0*xi-250.0/3.0*eta+1875.0/2.0*t3+t166-t144-t167+t146;
501  values[15] = t176;
502  values[16] = 125.0/4.0-375.0*xi-375.0*eta+t171+t166+t156-t167-t160+t161;
503  values[17] = 125.0/3.0-250.0/3.0*xi-2125.0/3.0*eta+t166+1875.0/2.0*t7-t160-t149+t150;
504 }
505 
506 // values of the derivatives in eta-eta direction
507 static void C_T_B4_2D_DeriveEtaEta(double xi, double eta, double *values)
508 {
509  double t3, t5, t7, t8, t9, t10, t11, t13, t14, t16, t17, t19, t20, t21;
510  double t23, t25, t26, t27, t28, t29, t32, t35, t36, t37, t38, t41, t43;
511  double t44, t45, t46, t49, t51, t52, t57, t59, t60, t61, t66, t72, t78;
512  double t82, t83, t84, t85, t92, t96, t100, t103, t104, t107, t108, t110;
513  double t111, t114;
514 
515  t3 = xi*xi;
516  t5 = xi*eta;
517  t7 = eta*eta;
518  t8 = 128.0*t7;
519  t9 = t3*xi;
520  t10 = 265.0/3.0*t9;
521  t11 = t3*eta;
522  t13 = 1.0-xi-eta;
523  t14 = t13*t3;
524  t16 = xi*t7;
525  t17 = 265.0*t16;
526  t19 = t13*xi*eta;
527  t20 = 265.0*t19;
528  t21 = 140.0/3.0-4493.0/15.0*xi-160.0*eta+343.0*t3+1157.0/2.0*t5+t8-t10-335.0*t11+335.0/2.0*t14-t17+t20;
529  t23 = 3488.0/3.0*t3;
530  t25 = 1280.0/3.0*t9;
531  t26 = 4160.0/3.0*t11;
532  t27 = 2080.0/3.0*t14;
533  t28 = 880.0*t16;
534  t29 = 880.0*t19;
535  t32 = 984.0*t3;
536  t35 = 1280.0*t11;
537  t36 = 640.0*t14;
538  t37 = 220.0*t16;
539  t38 = 220.0*t19;
540  t41 = 416.0*t3;
541  t43 = 320.0*t11;
542  t44 = 160.0*t14;
543  t45 = 80.0*t16;
544  t46 = 80.0*t19;
545  t49 = 235.0/3.0*t3;
546  t51 = 55.0/3.0*t11;
547  t52 = 55.0/6.0*t14;
548  t57 = 512.0/3.0*t3;
549  t59 = 880.0/3.0*t9;
550  t60 = 640.0/3.0*t11;
551  t61 = 320.0/3.0*t14;
552  t66 = 220.0/3.0*t9;
553  t72 = 80.0/3.0*t9;
554  t78 = 44.0/3.0-2461.0/30.0*xi-96.0*eta+t49+415.0/2.0*t5+t8-55.0/6.0*t9-t51+t52-t17+t20;
555  t82 = 512.0*t7;
556  t83 = 1280.0*t16;
557  t84 = 1280.0*t19;
558  t85 = -224.0/3.0+7216.0/15.0*xi+448.0*eta-t41-1312.0*t5-t82+t72+t43-t44+t83-t84;
559  t92 = 152.0-15844.0/15.0*xi-768.0*eta+t32+2688.0*t5+768.0*t7-t66-t35+t36-1920.0*t16+1920.0*t19;
560  t96 = -416.0/3.0+15376.0/15.0*xi+576.0*eta-t23-2272.0*t5-t82+t59+t26-t27+t83-t84;
561  t100 = 3125.0/3.0*t9;
562  t103 = 3125.0*t16;
563  t104 = 3125.0*t19;
564  t107 = 1875.0*t3;
565  t108 = 1875.0/2.0*t5;
566  t110 = 3125.0*t11;
567  t111 = 3125.0/2.0*t14;
568  t114 = 625.0*t3;
569 
570  values[0] = t21;
571  values[1] = 11056.0/15.0*xi-t23-1472.0*t5+t25+t26-t27+t28-t29;
572  values[2] = -5644.0/15.0*xi+t32+648.0*t5-640.0*t9-t35+t36-t37+t38;
573  values[3] = 1936.0/15.0*xi-t41-192.0*t5+t25+t43-t44+t45-t46;
574  values[4] = -661.0/30.0*xi+t49+55.0/2.0*t5-t10-t51+t52-55.0/2.0*t16+55.0/2.0*t19;
575  values[5] = 256.0/15.0*xi-t57+32.0*t5+t59-t60+t61+t45-t46;
576  values[6] = 776.0/15.0*xi-32.0/3.0*t3-208.0*t5-t66+2960.0/3.0*t11-1480.0/3.0*t14-t37+t38;
577  values[7] = 2176.0/15.0*xi-t57-288.0*t5+t72-t60+t61+t28-t29;
578  values[8] = t78;
579  values[9] = t85;
580  values[10] = t92;
581  values[11] = t96;
582  values[12] = -5875.0/3.0*xi+8750.0/3.0*t3+4375.0*t5-t100-12500.0/3.0*t11+6250.0/3.0*t14-t103+t104;
583  values[13] = 1125.0/2.0*xi-t107-t108+3125.0/2.0*t9+t110-t111;
584  values[14] = -250.0/3.0*xi+t114-t100;
585  values[15] = 3625.0/2.0*xi-t107-9375.0/2.0*t5+t110-t111+9375.0/2.0*t16-9375.0/2.0*t19;
586  values[16] = -375.0*xi+t114+t108-t110+t111;
587  values[17] = -2125.0/3.0*xi+t114+1875.0*t5-t103+t104;
588 }
589 
590 // ***********************************************************************
591 
592 TBaseFunct2D *BF_C_T_B4_2D_Obj = new TBaseFunct2D
593  (18, BF_C_T_B4_2D, BFUnitTriangle,
594  C_T_B4_2D_Funct, C_T_B4_2D_DeriveXi,
595  C_T_B4_2D_DeriveEta, C_T_B4_2D_DeriveXiXi,
596  C_T_B4_2D_DeriveXiEta, C_T_B4_2D_DeriveEtaEta, 5, 4,
597  0, NULL);
Definition: BaseFunct2D.h:27