ParMooN
 All Classes Functions Variables Friends Pages
BF_N_T_P4_2D.h
1 // ***********************************************************************
2 // P4 element, nonconforming, 2D
3 // ***********************************************************************
4 
5 // base function values
6 static void N_T_P4_2D_Funct(double xi, double eta, double *values)
7 {
8  double t1, t2, t3, t4, t5, t6, t7, t9, t10, t11, t12, t14, t15, t16;
9  double t18, t20, t21, t22, t24, t26, t28, t33, t41, t47, t49, t51, t55;
10  double t56, t58, t59, t60, t73, t75, t89, t93, t101, t104, t105, t106;
11  double t121, t122, t135, t139, t147, t151, t152, t153, t166, t168, t182;
12  double t197, t198, t199, t203, t211, t214, t215, t228, t232, t240, t243;
13  double t244, t245, t260, t261, t274;
14 
15  t1 = 20.0*eta;
16  t2 = eta*eta;
17  t3 = 90.0*t2;
18  t4 = t2*eta;
19  t5 = 140.0*t4;
20  t6 = t2*t2;
21  t7 = 70.0*t6;
22  t9 = 20.0*xi;
23  t10 = xi*xi;
24  t11 = 90.0*t10;
25  t12 = xi*eta;
26  t14 = t10*xi;
27  t15 = 140.0*t14;
28  t16 = t10*eta;
29  t18 = xi*t2;
30  t20 = t10*t10;
31  t21 = 70.0*t20;
32  t22 = t14*eta;
33  t24 = t10*t2;
34  t26 = xi*t4;
35  t28 = 1.0-t9-t1+t11+180.0*t12+t3-t15-420.0*t16-420.0*t18-t5+t21+280.0*t22+420.0*t24+280.0*t26+t7;
36  t33 = 228.0/11.0*t12;
37  t41 = 588.0/11.0*t24;
38  t47 = (1.0-2.0*xi-eta)*(xi-eta);
39  t49 = 2.0*eta-1.0+xi;
40  t51 = t47*t49*t10;
41  t55 = t47*t49*xi*eta;
42  t56 = 126.0/11.0*t55;
43  t58 = t47*t49*t2;
44  t59 = 630.0/11.0*t58;
45  t60 = -10.0/11.0-8.0/11.0*xi+250.0/11.0*eta+210.0/11.0*t10-t33-1500.0/11.0*t2-434.0/11.0*t14-1050.0/11.0*t16+2226.0/11.0*t18+2870.0/11.0*t4+252.0/11.0*t20+1022.0/11.0*t22+t41-3150.0/11.0*t26-1610.0/11.0*t6+126.0/11.0*t51+t56+t59;
46  t73 = 630.0/11.0*t51;
47  t75 = -50.0/11.0*xi+50.0/11.0*eta+600.0/11.0*t10-600.0/11.0*t2-1470.0/11.0*t14-1806.0/11.0*t16+1806.0/11.0*t18+1470.0/11.0*t4+910.0/11.0*t20+2758.0/11.0*t22-2758.0/11.0*t26-910.0/11.0*t6+t73+1134.0/11.0*t55+t59;
48  t89 = 10.0/11.0-250.0/11.0*xi+8.0/11.0*eta+1500.0/11.0*t10+t33-210.0/11.0*t2-2870.0/11.0*t14-2226.0/11.0*t16+1050.0/11.0*t18+434.0/11.0*t4+1610.0/11.0*t20+3150.0/11.0*t22-t41-1022.0/11.0*t26-252.0/11.0*t6+t73+t56+126.0/11.0*t58;
49  t93 = 492.0/11.0*t12;
50  t101 = 336.0/11.0*t24;
51  t104 = 1008.0/11.0*t55;
52  t105 = 504.0/11.0*t58;
53  t106 = 39.0/55.0-2.0/11.0*xi-196.0/11.0*eta-222.0/11.0*t10+t93+1182.0/11.0*t2+448.0/11.0*t14+966.0/11.0*t16-3066.0/11.0*t18-2268.0/11.0*t4-224.0/11.0*t20-1456.0/11.0*t22+t101+3584.0/11.0*t26+1274.0/11.0*t6-t104-t105;
54  t121 = 504.0/11.0*t51;
55  t122 = -1.0/55.0+4.0*xi+4.0*eta-498.0/11.0*t10-60.0/11.0*t12-498.0/11.0*t2+1204.0/11.0*t14+714.0/11.0*t16+714.0/11.0*t18+1204.0/11.0*t4-742.0/11.0*t20-1512.0/11.0*t22+252.0/11.0*t24-1512.0/11.0*t26-742.0/11.0*t6-t121+t105;
56  t135 = 39.0/55.0-196.0/11.0*xi-2.0/11.0*eta+1182.0/11.0*t10+t93-222.0/11.0*t2-2268.0/11.0*t14-3066.0/11.0*t16+966.0/11.0*t18+448.0/11.0*t4+1274.0/11.0*t20+3584.0/11.0*t22+t101-1456.0/11.0*t26-224.0/11.0*t6+t121+t104;
57  t139 = 3456.0/77.0*t12;
58  t147 = 1332.0/11.0*t24;
59  t151 = 846.0/11.0*t55;
60  t152 = 270.0/11.0*t58;
61  t153 = -30.0/77.0-486.0/77.0*xi+750.0/77.0*eta+1080.0/11.0*t10-t139-4500.0/77.0*t2-2694.0/11.0*t14-1440.0/11.0*t16+2736.0/11.0*t18+1230.0/11.0*t4+1692.0/11.0*t20+3342.0/11.0*t22-t147-2670.0/11.0*t26-690.0/11.0*t6+846.0/11.0*t51+t151+t152;
62  t166 = 270.0/11.0*t51;
63  t168 = -150.0/77.0*xi+150.0/77.0*eta+1800.0/77.0*t10-1800.0/77.0*t2-630.0/11.0*t14-576.0/11.0*t16+576.0/11.0*t18+630.0/11.0*t4+390.0/11.0*t20+918.0/11.0*t22-918.0/11.0*t26-390.0/11.0*t6+t166-306.0/11.0*t55+t152;
64  t182 = 30.0/77.0-750.0/77.0*xi+486.0/77.0*eta+4500.0/77.0*t10+t139-1080.0/11.0*t2-1230.0/11.0*t14-2736.0/11.0*t16+1440.0/11.0*t18+2694.0/11.0*t4+690.0/11.0*t20+2670.0/11.0*t22+t147-3342.0/11.0*t26-1692.0/11.0*t6+t166+t151+846.0/11.0*t58;
65  t197 = 2520.0/11.0*t51;
66  t198 = 2520.0/11.0*t58;
67  t199 = -56.0/11.0+120.0*xi+120.0*eta-7440.0/11.0*t10-5250.0/11.0*t12-7440.0/11.0*t2+13720.0/11.0*t14+12810.0/11.0*t16+12810.0/11.0*t18+13720.0/11.0*t4-7560.0/11.0*t20-13720.0/11.0*t22-3360.0/11.0*t24-13720.0/11.0*t26-7560.0/11.0*t6-t197+t198;
68  t203 = 2490.0/11.0*t12;
69  t211 = 7560.0/11.0*t24;
70  t214 = 5040.0/11.0*t55;
71  t215 = -16.0/11.0+120.0/11.0*xi+320.0/11.0*eta+960.0/11.0*t10-t203-1440.0/11.0*t2-3640.0/11.0*t14-1470.0/11.0*t16+9450.0/11.0*t18+2240.0/11.0*t4+2520.0/11.0*t20+8680.0/11.0*t22-t211-7280.0/11.0*t26-1120.0/11.0*t6+t197+t214;
72  t228 = -16.0/11.0+320.0/11.0*xi+120.0/11.0*eta-1440.0/11.0*t10-t203+960.0/11.0*t2+2240.0/11.0*t14+9450.0/11.0*t16-1470.0/11.0*t18-3640.0/11.0*t4-1120.0/11.0*t20-7280.0/11.0*t22-t211+8680.0/11.0*t26+2520.0/11.0*t6-t214-t198;
73  t232 = 5670.0/11.0*t12;
74  t240 = 7140.0/11.0*t24;
75  t243 = 7560.0/11.0*t55;
76  t244 = 3780.0/11.0*t58;
77  t245 = 42.0/11.0-840.0/11.0*xi-1140.0/11.0*eta+3780.0/11.0*t10+t232+7380.0/11.0*t2-5880.0/11.0*t14-3150.0/11.0*t16-24150.0/11.0*t18-14700.0/11.0*t4+2940.0/11.0*t20-1680.0/11.0*t22+t240+26880.0/11.0*t26+8400.0/11.0*t6-t243-t244;
78  t260 = 3780.0/11.0*t51;
79  t261 = -18.0/11.0+60.0*xi+60.0*eta-5220.0/11.0*t10-3090.0/11.0*t12-5220.0/11.0*t2+11340.0/11.0*t14+11130.0/11.0*t16+11130.0/11.0*t18+11340.0/11.0*t4-6720.0/11.0*t20-15960.0/11.0*t22-420.0/11.0*t24-15960.0/11.0*t26-6720.0/11.0*t6-t260+t244;
80  t274 = 42.0/11.0-1140.0/11.0*xi-840.0/11.0*eta+7380.0/11.0*t10+t232+3780.0/11.0*t2-14700.0/11.0*t14-24150.0/11.0*t16-3150.0/11.0*t18-5880.0/11.0*t4+8400.0/11.0*t20+26880.0/11.0*t22+t240-1680.0/11.0*t26+2940.0/11.0*t6+t260+t243;
81 
82  values[0] = 1.0-t1+t3-t5+t7;
83  values[1] = t28;
84  values[2] = 1.0-t9+t11-t15+t21;
85  values[3] = t60;
86  values[4] = t75;
87  values[5] = t89;
88  values[6] = t106;
89  values[7] = t122;
90  values[8] = t135;
91  values[9] = t153;
92  values[10] = t168;
93  values[11] = t182;
94  values[12] = t199;
95  values[13] = t215;
96  values[14] = t228;
97  values[15] = t245;
98  values[16] = t261;
99  values[17] = t274;
100 }
101 
102 // values of the derivatives in xi direction
103 static void N_T_P4_2D_DeriveXi(double xi, double eta, double *values)
104 {
105  double t1, t3, t4, t5, t7, t9, t10, t11, t13, t15, t20, t26, t29, t31;
106  double t32, t33, t36, t37, t38, t40, t41, t44, t46, t47, t48, t49, t50;
107  double t51, t53, t54, t55, t56, t57, t58, t59, t60, t61, t70, t71, t72;
108  double t73, t78, t90, t93, t99, t101, t102, t103, t104, t105, t106, t107;
109  double t108, t118, t119, t120, t121, t122, t130, t132, t138, t145, t146;
110  double t147, t148, t149, t150, t151, t152, t161, t162, t163, t164, t169;
111  double t181, t192, t193, t194, t195, t196, t197, t198, t199, t201, t207;
112  double t209, t210, t211, t212, t213, t221, t223, t229, t231, t232, t233;
113  double t234, t235, t236, t237, t238, t248, t249, t250, t251, t252, t260;
114 
115  t1 = 180.0*xi;
116  t3 = xi*xi;
117  t4 = 420.0*t3;
118  t5 = xi*eta;
119  t7 = eta*eta;
120  t9 = t3*xi;
121  t10 = 280.0*t9;
122  t11 = t3*eta;
123  t13 = xi*t7;
124  t15 = t7*eta;
125  t20 = 228.0/11.0*eta;
126  t26 = 1176.0/11.0*t13;
127  t29 = xi-eta;
128  t31 = 2.0*eta-1.0+xi;
129  t32 = t29*t31;
130  t33 = t32*t3;
131  t36 = 1.0-2.0*xi-eta;
132  t37 = t36*t31;
133  t38 = t37*t3;
134  t40 = t36*t29;
135  t41 = t40*t3;
136  t44 = t40*t31*xi;
137  t46 = t32*t5;
138  t47 = 252.0/11.0*t46;
139  t48 = t37*t5;
140  t49 = 126.0/11.0*t48;
141  t50 = t40*t5;
142  t51 = 126.0/11.0*t50;
143  t53 = t40*t31*eta;
144  t54 = 126.0/11.0*t53;
145  t55 = t32*t7;
146  t56 = 1260.0/11.0*t55;
147  t57 = t37*t7;
148  t58 = 630.0/11.0*t57;
149  t59 = t40*t7;
150  t60 = 630.0/11.0*t59;
151  t61 = -252.0/11.0*t33+126.0/11.0*t38+126.0/11.0*t41+252.0/11.0*t44-t47+t49+t51+t54-t56+t58+t60;
152  t70 = 1260.0/11.0*t33;
153  t71 = 630.0/11.0*t38;
154  t72 = 630.0/11.0*t41;
155  t73 = 1260.0/11.0*t44;
156  t78 = -50.0/11.0+1200.0/11.0*xi-4410.0/11.0*t3-3612.0/11.0*t5+1806.0/11.0*t7+3640.0/11.0*t9+8274.0/11.0*t11-2758.0/11.0*t15-t70+t71+t72+t73-2268.0/11.0*t46+1134.0/11.0*t48+1134.0/11.0*t50+1134.0/11.0*t53-t56+t58+t60;
157  t90 = -t70+t71+t72+t73-t47+t49+t51+t54-252.0/11.0*t55+126.0/11.0*t57+126.0/11.0*t59;
158  t93 = 492.0/11.0*eta;
159  t99 = 672.0/11.0*t13;
160  t101 = 2016.0/11.0*t46;
161  t102 = 1008.0/11.0*t48;
162  t103 = 1008.0/11.0*t50;
163  t104 = 1008.0/11.0*t53;
164  t105 = 1008.0/11.0*t55;
165  t106 = 504.0/11.0*t57;
166  t107 = 504.0/11.0*t59;
167  t108 = -2.0/11.0-444.0/11.0*xi+t93+1344.0/11.0*t3+1932.0/11.0*t5-3066.0/11.0*t7-896.0/11.0*t9-4368.0/11.0*t11+t99+3584.0/11.0*t15+t101-t102-t103-t104+t105-t106-t107;
168  t118 = 1008.0/11.0*t33;
169  t119 = 504.0/11.0*t38;
170  t120 = 504.0/11.0*t41;
171  t121 = 1008.0/11.0*t44;
172  t122 = 4.0-996.0/11.0*xi-60.0/11.0*eta+3612.0/11.0*t3+1428.0/11.0*t5+714.0/11.0*t7-2968.0/11.0*t9-4536.0/11.0*t11+504.0/11.0*t13-1512.0/11.0*t15+t118-t119-t120-t121-t105+t106+t107;
173  t130 = -196.0/11.0+2364.0/11.0*xi+t93-6804.0/11.0*t3-6132.0/11.0*t5+966.0/11.0*t7+5096.0/11.0*t9+10752.0/11.0*t11+t99-1456.0/11.0*t15-t118+t119+t120+t121-t101+t102+t103+t104;
174  t132 = 3456.0/77.0*eta;
175  t138 = 2664.0/11.0*t13;
176  t145 = 1692.0/11.0*t46;
177  t146 = 846.0/11.0*t48;
178  t147 = 846.0/11.0*t50;
179  t148 = 846.0/11.0*t53;
180  t149 = 540.0/11.0*t55;
181  t150 = 270.0/11.0*t57;
182  t151 = 270.0/11.0*t59;
183  t152 = -1692.0/11.0*t33+846.0/11.0*t38+846.0/11.0*t41+1692.0/11.0*t44-t145+t146+t147+t148-t149+t150+t151;
184  t161 = 540.0/11.0*t33;
185  t162 = 270.0/11.0*t38;
186  t163 = 270.0/11.0*t41;
187  t164 = 540.0/11.0*t44;
188  t169 = -150.0/77.0+3600.0/77.0*xi-1890.0/11.0*t3-1152.0/11.0*t5+576.0/11.0*t7+1560.0/11.0*t9+2754.0/11.0*t11-918.0/11.0*t15-t161+t162+t163+t164+612.0/11.0*t46-306.0/11.0*t48-306.0/11.0*t50-306.0/11.0*t53-t149+t150+t151;
189  t181 = -t161+t162+t163+t164-t145+t146+t147+t148-1692.0/11.0*t55+846.0/11.0*t57+846.0/11.0*t59;
190  t192 = 5040.0/11.0*t33;
191  t193 = 2520.0/11.0*t38;
192  t194 = 2520.0/11.0*t41;
193  t195 = 5040.0/11.0*t44;
194  t196 = 5040.0/11.0*t55;
195  t197 = 2520.0/11.0*t57;
196  t198 = 2520.0/11.0*t59;
197  t199 = 120.0-14880.0/11.0*xi-5250.0/11.0*eta+41160.0/11.0*t3+25620.0/11.0*t5+12810.0/11.0*t7-30240.0/11.0*t9-41160.0/11.0*t11-6720.0/11.0*t13-13720.0/11.0*t15+t192-t193-t194-t195-t196+t197+t198;
198  t201 = 2490.0/11.0*eta;
199  t207 = 15120.0/11.0*t13;
200  t209 = 10080.0/11.0*t46;
201  t210 = 5040.0/11.0*t48;
202  t211 = 5040.0/11.0*t50;
203  t212 = 5040.0/11.0*t53;
204  t213 = 120.0/11.0+1920.0/11.0*xi-t201-10920.0/11.0*t3-2940.0/11.0*t5+9450.0/11.0*t7+10080.0/11.0*t9+26040.0/11.0*t11-t207-7280.0/11.0*t15-t192+t193+t194+t195-t209+t210+t211+t212;
205  t221 = 320.0/11.0-2880.0/11.0*xi-t201+6720.0/11.0*t3+18900.0/11.0*t5-1470.0/11.0*t7-4480.0/11.0*t9-21840.0/11.0*t11-t207+8680.0/11.0*t15+t209-t210-t211-t212+t196-t197-t198;
206  t223 = 5670.0/11.0*eta;
207  t229 = 14280.0/11.0*t13;
208  t231 = 15120.0/11.0*t46;
209  t232 = 7560.0/11.0*t48;
210  t233 = 7560.0/11.0*t50;
211  t234 = 7560.0/11.0*t53;
212  t235 = 7560.0/11.0*t55;
213  t236 = 3780.0/11.0*t57;
214  t237 = 3780.0/11.0*t59;
215  t238 = -840.0/11.0+7560.0/11.0*xi+t223-17640.0/11.0*t3-6300.0/11.0*t5-24150.0/11.0*t7+11760.0/11.0*t9-5040.0/11.0*t11+t229+26880.0/11.0*t15+t231-t232-t233-t234+t235-t236-t237;
216  t248 = 7560.0/11.0*t33;
217  t249 = 3780.0/11.0*t38;
218  t250 = 3780.0/11.0*t41;
219  t251 = 7560.0/11.0*t44;
220  t252 = 60.0-10440.0/11.0*xi-3090.0/11.0*eta+34020.0/11.0*t3+22260.0/11.0*t5+11130.0/11.0*t7-26880.0/11.0*t9-47880.0/11.0*t11-840.0/11.0*t13-15960.0/11.0*t15+t248-t249-t250-t251-t235+t236+t237;
221  t260 = -1140.0/11.0+14760.0/11.0*xi+t223-44100.0/11.0*t3-48300.0/11.0*t5-3150.0/11.0*t7+33600.0/11.0*t9+80640.0/11.0*t11+t229-1680.0/11.0*t15-t248+t249+t250+t251-t231+t232+t233+t234;
222 
223  values[0] = 0.0;
224  values[1] = -20.0+t1+180.0*eta-t4-840.0*t5-420.0*t7+t10+840.0*t11+840.0*t13+280.0*t15;
225  values[2] = -20.0+t1-t4+t10;
226  values[3] = -8.0/11.0+420.0/11.0*xi-t20-1302.0/11.0*t3-2100.0/11.0*t5+2226.0/11.0*t7+1008.0/11.0*t9+3066.0/11.0*t11+t26-3150.0/11.0*t15+t61;
227  values[4] = t78;
228  values[5] = -250.0/11.0+3000.0/11.0*xi+t20-8610.0/11.0*t3-4452.0/11.0*t5+1050.0/11.0*t7+6440.0/11.0*t9+9450.0/11.0*t11-t26-1022.0/11.0*t15+t90;
229  values[6] = t108;
230  values[7] = t122;
231  values[8] = t130;
232  values[9] = -486.0/77.0+2160.0/11.0*xi-t132-8082.0/11.0*t3-2880.0/11.0*t5+2736.0/11.0*t7+6768.0/11.0*t9+10026.0/11.0*t11-t138-2670.0/11.0*t15+t152;
233  values[10] = t169;
234  values[11] = -750.0/77.0+9000.0/77.0*xi+t132-3690.0/11.0*t3-5472.0/11.0*t5+1440.0/11.0*t7+2760.0/11.0*t9+8010.0/11.0*t11+t138-3342.0/11.0*t15+t181;
235  values[12] = t199;
236  values[13] = t213;
237  values[14] = t221;
238  values[15] = t238;
239  values[16] = t252;
240  values[17] = t260;
241 }
242 
243 // values of the derivatives in eta direction
244 static void N_T_P4_2D_DeriveEta(double xi, double eta, double *values)
245 {
246  double t1, t2, t3, t4, t5, t8, t10, t12, t14, t16, t19, t25, t29, t31;
247  double t32, t33, t36, t37, t38, t40, t41, t43, t44, t45, t46, t47, t48;
248  double t50, t51, t52, t53, t54, t55, t56, t57, t59, t60, t61, t70, t71;
249  double t72, t77, t90, t92, t98, t101, t102, t103, t104, t105, t106, t107;
250  double t108, t109, t119, t120, t121, t122, t130, t131, t137, t144, t145;
251  double t146, t147, t148, t149, t150, t151, t152, t161, t162, t163, t168;
252  double t181, t192, t193, t194, t195, t196, t197, t198, t199, t200, t206;
253  double t209, t210, t211, t212, t213, t221, t222, t228, t231, t232, t233;
254  double t234, t235, t236, t237, t238, t239, t249, t250, t251, t252, t260;
255 
256  t1 = 180.0*eta;
257  t2 = eta*eta;
258  t3 = 420.0*t2;
259  t4 = t2*eta;
260  t5 = 280.0*t4;
261  t8 = xi*xi;
262  t10 = xi*eta;
263  t12 = t8*xi;
264  t14 = t8*eta;
265  t16 = xi*t2;
266  t19 = 228.0/11.0*xi;
267  t25 = 1176.0/11.0*t14;
268  t29 = xi-eta;
269  t31 = 2.0*eta-1.0+xi;
270  t32 = t29*t31;
271  t33 = t32*t8;
272  t36 = 1.0-2.0*xi-eta;
273  t37 = t36*t31;
274  t38 = t37*t8;
275  t40 = t36*t29;
276  t41 = t40*t8;
277  t43 = t32*t10;
278  t44 = 126.0/11.0*t43;
279  t45 = t37*t10;
280  t46 = 126.0/11.0*t45;
281  t47 = t40*t10;
282  t48 = 252.0/11.0*t47;
283  t50 = t40*t31*xi;
284  t51 = 126.0/11.0*t50;
285  t52 = t32*t2;
286  t53 = 630.0/11.0*t52;
287  t54 = t37*t2;
288  t55 = 630.0/11.0*t54;
289  t56 = t40*t2;
290  t57 = 1260.0/11.0*t56;
291  t59 = t40*t31*eta;
292  t60 = 1260.0/11.0*t59;
293  t61 = -126.0/11.0*t33-126.0/11.0*t38+252.0/11.0*t41-t44-t46+t48+t51-t53-t55+t57+t60;
294  t70 = 630.0/11.0*t33;
295  t71 = 630.0/11.0*t38;
296  t72 = 1260.0/11.0*t41;
297  t77 = 50.0/11.0-1200.0/11.0*eta-1806.0/11.0*t8+3612.0/11.0*t10+4410.0/11.0*t2+2758.0/11.0*t12-8274.0/11.0*t16-3640.0/11.0*t4-t70-t71+t72-1134.0/11.0*t43-1134.0/11.0*t45+2268.0/11.0*t47+1134.0/11.0*t50-t53-t55+t57+t60;
298  t90 = -t70-t71+t72-t44-t46+t48+t51-126.0/11.0*t52-126.0/11.0*t54+252.0/11.0*t56+252.0/11.0*t59;
299  t92 = 492.0/11.0*xi;
300  t98 = 672.0/11.0*t14;
301  t101 = 1008.0/11.0*t43;
302  t102 = 1008.0/11.0*t45;
303  t103 = 2016.0/11.0*t47;
304  t104 = 1008.0/11.0*t50;
305  t105 = 504.0/11.0*t52;
306  t106 = 504.0/11.0*t54;
307  t107 = 1008.0/11.0*t56;
308  t108 = 1008.0/11.0*t59;
309  t109 = -196.0/11.0+t92+2364.0/11.0*eta+966.0/11.0*t8-6132.0/11.0*t10-6804.0/11.0*t2-1456.0/11.0*t12+t98+10752.0/11.0*t16+5096.0/11.0*t4+t101+t102-t103-t104+t105+t106-t107-t108;
310  t119 = 504.0/11.0*t33;
311  t120 = 504.0/11.0*t38;
312  t121 = 1008.0/11.0*t41;
313  t122 = 4.0-60.0/11.0*xi-996.0/11.0*eta+714.0/11.0*t8+1428.0/11.0*t10+3612.0/11.0*t2-1512.0/11.0*t12+504.0/11.0*t14-4536.0/11.0*t16-2968.0/11.0*t4+t119+t120-t121-t105-t106+t107+t108;
314  t130 = -2.0/11.0+t92-444.0/11.0*eta-3066.0/11.0*t8+1932.0/11.0*t10+1344.0/11.0*t2+3584.0/11.0*t12+t98-4368.0/11.0*t16-896.0/11.0*t4-t119-t120+t121-t101-t102+t103+t104;
315  t131 = 3456.0/77.0*xi;
316  t137 = 2664.0/11.0*t14;
317  t144 = 846.0/11.0*t43;
318  t145 = 846.0/11.0*t45;
319  t146 = 1692.0/11.0*t47;
320  t147 = 846.0/11.0*t50;
321  t148 = 270.0/11.0*t52;
322  t149 = 270.0/11.0*t54;
323  t150 = 540.0/11.0*t56;
324  t151 = 540.0/11.0*t59;
325  t152 = -846.0/11.0*t33-846.0/11.0*t38+1692.0/11.0*t41-t144-t145+t146+t147-t148-t149+t150+t151;
326  t161 = 270.0/11.0*t33;
327  t162 = 270.0/11.0*t38;
328  t163 = 540.0/11.0*t41;
329  t168 = 150.0/77.0-3600.0/77.0*eta-576.0/11.0*t8+1152.0/11.0*t10+1890.0/11.0*t2+918.0/11.0*t12-2754.0/11.0*t16-1560.0/11.0*t4-t161-t162+t163+306.0/11.0*t43+306.0/11.0*t45-612.0/11.0*t47-306.0/11.0*t50-t148-t149+t150+t151;
330  t181 = -t161-t162+t163-t144-t145+t146+t147-846.0/11.0*t52-846.0/11.0*t54+1692.0/11.0*t56+1692.0/11.0*t59;
331  t192 = 2520.0/11.0*t33;
332  t193 = 2520.0/11.0*t38;
333  t194 = 5040.0/11.0*t41;
334  t195 = 2520.0/11.0*t52;
335  t196 = 2520.0/11.0*t54;
336  t197 = 5040.0/11.0*t56;
337  t198 = 5040.0/11.0*t59;
338  t199 = 120.0-5250.0/11.0*xi-14880.0/11.0*eta+12810.0/11.0*t8+25620.0/11.0*t10+41160.0/11.0*t2-13720.0/11.0*t12-6720.0/11.0*t14-41160.0/11.0*t16-30240.0/11.0*t4+t192+t193-t194-t195-t196+t197+t198;
339  t200 = 2490.0/11.0*xi;
340  t206 = 15120.0/11.0*t14;
341  t209 = 5040.0/11.0*t43;
342  t210 = 5040.0/11.0*t45;
343  t211 = 10080.0/11.0*t47;
344  t212 = 5040.0/11.0*t50;
345  t213 = 320.0/11.0-t200-2880.0/11.0*eta-1470.0/11.0*t8+18900.0/11.0*t10+6720.0/11.0*t2+8680.0/11.0*t12-t206-21840.0/11.0*t16-4480.0/11.0*t4-t192-t193+t194-t209-t210+t211+t212;
346  t221 = 120.0/11.0-t200+1920.0/11.0*eta+9450.0/11.0*t8-2940.0/11.0*t10-10920.0/11.0*t2-7280.0/11.0*t12-t206+26040.0/11.0*t16+10080.0/11.0*t4+t209+t210-t211-t212+t195+t196-t197-t198;
347  t222 = 5670.0/11.0*xi;
348  t228 = 14280.0/11.0*t14;
349  t231 = 7560.0/11.0*t43;
350  t232 = 7560.0/11.0*t45;
351  t233 = 15120.0/11.0*t47;
352  t234 = 7560.0/11.0*t50;
353  t235 = 3780.0/11.0*t52;
354  t236 = 3780.0/11.0*t54;
355  t237 = 7560.0/11.0*t56;
356  t238 = 7560.0/11.0*t59;
357  t239 = -1140.0/11.0+t222+14760.0/11.0*eta-3150.0/11.0*t8-48300.0/11.0*t10-44100.0/11.0*t2-1680.0/11.0*t12+t228+80640.0/11.0*t16+33600.0/11.0*t4+t231+t232-t233-t234+t235+t236-t237-t238;
358  t249 = 3780.0/11.0*t33;
359  t250 = 3780.0/11.0*t38;
360  t251 = 7560.0/11.0*t41;
361  t252 = 60.0-3090.0/11.0*xi-10440.0/11.0*eta+11130.0/11.0*t8+22260.0/11.0*t10+34020.0/11.0*t2-15960.0/11.0*t12-840.0/11.0*t14-47880.0/11.0*t16-26880.0/11.0*t4+t249+t250-t251-t235-t236+t237+t238;
362  t260 = -840.0/11.0+t222+7560.0/11.0*eta-24150.0/11.0*t8-6300.0/11.0*t10-17640.0/11.0*t2+26880.0/11.0*t12+t228-5040.0/11.0*t16+11760.0/11.0*t4-t249-t250+t251-t231-t232+t233+t234;
363 
364  values[0] = -20.0+t1-t3+t5;
365  values[1] = -20.0+180.0*xi+t1-420.0*t8-840.0*t10-t3+280.0*t12+840.0*t14+840.0*t16+t5;
366  values[2] = 0.0;
367  values[3] = 250.0/11.0-t19-3000.0/11.0*eta-1050.0/11.0*t8+4452.0/11.0*t10+8610.0/11.0*t2+1022.0/11.0*t12+t25-9450.0/11.0*t16-6440.0/11.0*t4+t61;
368  values[4] = t77;
369  values[5] = 8.0/11.0+t19-420.0/11.0*eta-2226.0/11.0*t8+2100.0/11.0*t10+1302.0/11.0*t2+3150.0/11.0*t12-t25-3066.0/11.0*t16-1008.0/11.0*t4+t90;
370  values[6] = t109;
371  values[7] = t122;
372  values[8] = t130;
373  values[9] = 750.0/77.0-t131-9000.0/77.0*eta-1440.0/11.0*t8+5472.0/11.0*t10+3690.0/11.0*t2+3342.0/11.0*t12-t137-8010.0/11.0*t16-2760.0/11.0*t4+t152;
374  values[10] = t168;
375  values[11] = 486.0/77.0+t131-2160.0/11.0*eta-2736.0/11.0*t8+2880.0/11.0*t10+8082.0/11.0*t2+2670.0/11.0*t12+t137-10026.0/11.0*t16-6768.0/11.0*t4+t181;
376  values[12] = t199;
377  values[13] = t213;
378  values[14] = t221;
379  values[15] = t239;
380  values[16] = t252;
381  values[17] = t260;
382 }
383 
384 // values of derivatives in xi-xi direction
385 static void N_T_P4_2D_DeriveXiXi(double xi, double eta, double *values)
386 {
387  double t1, t3, t4, t5, t7, t13, t16, t18, t19, t20, t23, t24, t25, t27;
388  double t28, t30, t33, t34, t35, t37, t38, t39, t40, t42, t43, t44, t45;
389  double t46, t47, t48, t49, t50, t51, t52, t53, t54, t56, t58, t60, t66;
390  double t67, t68, t69, t77, t78, t79, t80, t86, t90, t96, t97, t98, t99;
391  double t100, t101, t102, t103, t104, t105, t106, t112, t113, t114, t115;
392  double t116, t117, t118, t119, t124, t127, t134, t135, t136, t137, t138;
393  double t139, t140, t141, t142, t143, t147, t153, t154, t155, t156, t164;
394  double t165, t166, t167, t173, t177, t184, t185, t186, t187, t188, t189;
395  double t190, t191, t192, t193, t194, t197, t200, t201, t202, t203, t204;
396  double t205, t206, t211, t216, t217, t218, t219, t220, t221, t222, t223;
397  double t224, t225, t226, t232, t233, t234, t235, t236, t237, t238, t239;
398  double t244;
399 
400  t1 = 840.0*xi;
401  t3 = xi*xi;
402  t4 = 840.0*t3;
403  t5 = xi*eta;
404  t7 = eta*eta;
405  t13 = 1176.0/11.0*t7;
406  t16 = xi-eta;
407  t18 = 2.0*eta-1.0+xi;
408  t19 = t16*t18;
409  t20 = t19*xi;
410  t23 = 1.0-2.0*xi-eta;
411  t24 = t23*t18;
412  t25 = t24*xi;
413  t27 = t23*t16;
414  t28 = t27*xi;
415  t30 = t27*t18;
416  t33 = t18*xi*eta;
417  t34 = 504.0/11.0*t33;
418  t35 = 420.0/11.0-2604.0/11.0*xi-2100.0/11.0*eta+t13+6132.0/11.0*t5+3024.0/11.0*t3-1008.0/11.0*t20+504.0/11.0*t25+504.0/11.0*t28+252.0/11.0*t30-t34;
419  t37 = t16*xi*eta;
420  t38 = 504.0/11.0*t37;
421  t39 = t19*eta;
422  t40 = 504.0/11.0*t39;
423  t42 = t23*xi*eta;
424  t43 = 252.0/11.0*t42;
425  t44 = t24*eta;
426  t45 = 252.0/11.0*t44;
427  t46 = t27*eta;
428  t47 = 252.0/11.0*t46;
429  t48 = t23*t7;
430  t49 = 1260.0/11.0*t48;
431  t50 = t16*t7;
432  t51 = 2520.0/11.0*t50;
433  t52 = t18*t7;
434  t53 = 2520.0/11.0*t52;
435  t54 = t23*t3;
436  t56 = t16*t3;
437  t58 = t18*t3;
438  t60 = -t38-t40+t43+t45+t47+t49-t51-t53+252.0/11.0*t54-504.0/11.0*t56-504.0/11.0*t58;
439  t66 = 5040.0/11.0*t20;
440  t67 = 2520.0/11.0*t25;
441  t68 = 2520.0/11.0*t28;
442  t69 = 1260.0/11.0*t30;
443  t77 = 1260.0/11.0*t54;
444  t78 = 2520.0/11.0*t56;
445  t79 = 2520.0/11.0*t58;
446  t80 = -4536.0/11.0*t37-4536.0/11.0*t39+2268.0/11.0*t42+2268.0/11.0*t44+2268.0/11.0*t46+t49-t51-t53+t77-t78-t79;
447  t86 = -17220.0/11.0*xi-4452.0/11.0*eta-t13+18900.0/11.0*t5+19320.0/11.0*t3-t66+t67+t68+t69-t34-t38;
448  t90 = 3000.0/11.0-t40+t43+t45+t47+252.0/11.0*t48-504.0/11.0*t50-504.0/11.0*t52+t77-t78-t79;
449  t96 = 672.0/11.0*t7;
450  t97 = 4032.0/11.0*t33;
451  t98 = 4032.0/11.0*t37;
452  t99 = 4032.0/11.0*t39;
453  t100 = 2016.0/11.0*t42;
454  t101 = 2016.0/11.0*t44;
455  t102 = 2016.0/11.0*t46;
456  t103 = 2016.0/11.0*t52;
457  t104 = 2016.0/11.0*t50;
458  t105 = 1008.0/11.0*t48;
459  t106 = -444.0/11.0+2688.0/11.0*xi+1932.0/11.0*eta-2688.0/11.0*t3-8736.0/11.0*t5+t96+t97+t98+t99-t100-t101-t102+t103+t104-t105;
460  t112 = 4032.0/11.0*t20;
461  t113 = 2016.0/11.0*t25;
462  t114 = 2016.0/11.0*t28;
463  t115 = 1008.0/11.0*t30;
464  t116 = 1008.0/11.0*t54;
465  t117 = 2016.0/11.0*t56;
466  t118 = 2016.0/11.0*t58;
467  t119 = 7224.0/11.0*xi+1428.0/11.0*eta+504.0/11.0*t7-9072.0/11.0*t5-8904.0/11.0*t3+t112-t113-t114-t115-996.0/11.0+t105-t104-t103-t116+t117+t118;
468  t124 = -13608.0/11.0*xi-6132.0/11.0*eta+t96+21504.0/11.0*t5+15288.0/11.0*t3-t112+t113+t114+t115-t97-t98-t99+t100+t101+t102+2364.0/11.0+t116-t117-t118;
469  t127 = 2664.0/11.0*t7;
470  t134 = 3384.0/11.0*t33;
471  t135 = 3384.0/11.0*t37;
472  t136 = -16164.0/11.0*xi-2880.0/11.0*eta-t127+20052.0/11.0*t5+20304.0/11.0*t3-6768.0/11.0*t20+3384.0/11.0*t25+3384.0/11.0*t28+1692.0/11.0*t30-t134-t135;
473  t137 = 3384.0/11.0*t39;
474  t138 = 1692.0/11.0*t42;
475  t139 = 1692.0/11.0*t44;
476  t140 = 1692.0/11.0*t46;
477  t141 = 540.0/11.0*t48;
478  t142 = 1080.0/11.0*t50;
479  t143 = 1080.0/11.0*t52;
480  t147 = 2160.0/11.0-t137+t138+t139+t140+t141-t142-t143+1692.0/11.0*t54-3384.0/11.0*t56-3384.0/11.0*t58;
481  t153 = 2160.0/11.0*t20;
482  t154 = 1080.0/11.0*t25;
483  t155 = 1080.0/11.0*t28;
484  t156 = 540.0/11.0*t30;
485  t164 = 540.0/11.0*t54;
486  t165 = 1080.0/11.0*t56;
487  t166 = 1080.0/11.0*t58;
488  t167 = 3600.0/77.0+1224.0/11.0*t39-612.0/11.0*t42-612.0/11.0*t44-612.0/11.0*t46+t141-t142-t143+t164-t165-t166;
489  t173 = -7380.0/11.0*xi-5472.0/11.0*eta+t127+16020.0/11.0*t5+8280.0/11.0*t3-t153+t154+t155+t156-t134-t135;
490  t177 = 9000.0/77.0-t137+t138+t139+t140+1692.0/11.0*t48-3384.0/11.0*t50-3384.0/11.0*t52+t164-t165-t166;
491  t184 = 20160.0/11.0*t20;
492  t185 = 10080.0/11.0*t25;
493  t186 = 10080.0/11.0*t28;
494  t187 = 5040.0/11.0*t30;
495  t188 = 5040.0/11.0*t48;
496  t189 = 10080.0/11.0*t50;
497  t190 = 10080.0/11.0*t52;
498  t191 = 5040.0/11.0*t54;
499  t192 = 10080.0/11.0*t56;
500  t193 = 10080.0/11.0*t58;
501  t194 = 82320.0/11.0*xi+25620.0/11.0*eta-6720.0/11.0*t7-82320.0/11.0*t5-90720.0/11.0*t3+t184-t185-t186-t187-14880.0/11.0+t188-t189-t190-t191+t192+t193
502 ;
503  t197 = 15120.0/11.0*t7;
504  t200 = 20160.0/11.0*t33;
505  t201 = 20160.0/11.0*t37;
506  t202 = 20160.0/11.0*t39;
507  t203 = 10080.0/11.0*t42;
508  t204 = 10080.0/11.0*t44;
509  t205 = 10080.0/11.0*t46;
510  t206 = -21840.0/11.0*xi-2940.0/11.0*eta-t197+52080.0/11.0*t5+30240.0/11.0*t3-t184+t185+t186+t187-t200-t201-t202+t203+t204+t205+1920.0/11.0+t191-t192-t193;
511  t211 = -2880.0/11.0+13440.0/11.0*xi+18900.0/11.0*eta-13440.0/11.0*t3-43680.0/11.0*t5-t197+t200+t201+t202-t203-t204-t205+t190+t189-t188;
512  t216 = 14280.0/11.0*t7;
513  t217 = 30240.0/11.0*t33;
514  t218 = 30240.0/11.0*t37;
515  t219 = 30240.0/11.0*t39;
516  t220 = 15120.0/11.0*t42;
517  t221 = 15120.0/11.0*t44;
518  t222 = 15120.0/11.0*t46;
519  t223 = 15120.0/11.0*t52;
520  t224 = 15120.0/11.0*t50;
521  t225 = 7560.0/11.0*t48;
522  t226 = 7560.0/11.0-35280.0/11.0*xi-6300.0/11.0*eta+35280.0/11.0*t3-10080.0/11.0*t5+t216+t217+t218+t219-t220-t221-t222+t223+t224-t225;
523  t232 = 30240.0/11.0*t20;
524  t233 = 15120.0/11.0*t25;
525  t234 = 15120.0/11.0*t28;
526  t235 = 7560.0/11.0*t30;
527  t236 = 7560.0/11.0*t54;
528  t237 = 15120.0/11.0*t56;
529  t238 = 15120.0/11.0*t58;
530  t239 = 68040.0/11.0*xi+22260.0/11.0*eta-840.0/11.0*t7-95760.0/11.0*t5-80640.0/11.0*t3+t232-t233-t234-t235-10440.0/11.0+t225-t224-t223-t236+t237+t238;
531  t244 = -88200.0/11.0*xi-48300.0/11.0*eta+t216+161280.0/11.0*t5+100800.0/11.0*t3-t232+t233+t234+t235-t217-t218-t219+t220+t221+t222+14760.0/11.0+t236-t237-t238;
532 
533  values[0] = 0.0;
534  values[1] = 180.0-t1-840.0*eta+t4+1680.0*t5+840.0*t7;
535  values[2] = 180.0-t1+t4;
536  values[3] = t35+t60;
537  values[4] = 1200.0/11.0-8820.0/11.0*xi-3612.0/11.0*eta+16548.0/11.0*t5+10920.0/11.0*t3-t66+t67+t68+t69-4536.0/11.0*t33+t80;
538  values[5] = t86+t90;
539  values[6] = t106;
540  values[7] = t119;
541  values[8] = t124;
542  values[9] = t136+t147;
543  values[10] = -3780.0/11.0*xi-1152.0/11.0*eta+5508.0/11.0*t5+4680.0/11.0*t3-t153+t154+t155+t156+1224.0/11.0*t33+1224.0/11.0*t37+t167;
544  values[11] = t173+t177;
545  values[12] = t194;
546  values[13] = t206;
547  values[14] = t211;
548  values[15] = t226;
549  values[16] = t239;
550  values[17] = t244;
551 }
552 
553 // values of derivatives in eta-eta direction
554 static void N_T_P4_2D_DeriveXiEta(double xi, double eta, double *values)
555 {
556  double t3, t5, t7, t13, t15, t17, t18, t19, t22, t23, t24, t25, t26, t27;
557  double t29, t30, t32, t33, t34, t36, t37, t38, t41, t42, t43, t45, t47;
558  double t48, t49, t50, t51, t52, t53, t55, t57, t59, t72, t74, t75, t76;
559  double t77, t85, t91, t96, t99, t101, t102, t103, t105, t107, t108, t109;
560  double t110, t116, t117, t118, t122, t124, t133, t137, t140, t142, t143;
561  double t144, t145, t147, t150, t151, t152, t156, t169, t171, t172, t173;
562  double t174, t182, t188, t195, t196, t197, t199, t201, t202, t204, t205;
563  double t207, t211, t213, t214, t215, t216, t217, t219, t221, t228, t229;
564  double t230, t234, t236, t238, t239, t240, t242, t244, t245, t246, t247;
565  double t253, t254, t255, t257, t259, t267;
566 
567  t3 = xi*xi;
568  t5 = xi*eta;
569  t7 = eta*eta;
570  t13 = 2352.0/11.0*t5;
571  t15 = xi-eta;
572  t17 = 2.0*eta-1.0+xi;
573  t18 = t15*t17;
574  t19 = t18*xi;
575  t22 = 1.0-2.0*xi-eta;
576  t23 = t22*t17;
577  t24 = t23*xi;
578  t25 = 126.0/11.0*t24;
579  t26 = t22*t15;
580  t27 = t26*xi;
581  t29 = t26*t17;
582  t30 = 126.0/11.0*t29;
583  t32 = t17*xi*eta;
584  t33 = 126.0/11.0*t32;
585  t34 = -228.0/11.0-2100.0/11.0*xi+4452.0/11.0*eta-9450.0/11.0*t7+t13+3066.0/11.0*t3-504.0/11.0*t19-t25+630.0/11.0*t27+t30+t33;
586  t36 = t15*xi*eta;
587  t37 = 630.0/11.0*t36;
588  t38 = t18*eta;
589  t41 = t22*xi*eta;
590  t42 = 126.0/11.0*t41;
591  t43 = t23*eta;
592  t45 = t26*eta;
593  t47 = t22*t7;
594  t48 = 630.0/11.0*t47;
595  t49 = t15*t7;
596  t50 = 3150.0/11.0*t49;
597  t51 = t17*t7;
598  t52 = 630.0/11.0*t51;
599  t53 = t22*t3;
600  t55 = t15*t3;
601  t57 = t17*t3;
602  t59 = -t37-2646.0/11.0*t38+t42+1134.0/11.0*t43+1512.0/11.0*t45+t48-t50+t52+126.0/11.0*t53-630.0/11.0*t55+126.0/11.0*t57;
603  t72 = 126.0/11.0*t43;
604  t74 = 630.0/11.0*t53;
605  t75 = 3150.0/11.0*t55;
606  t76 = 630.0/11.0*t57;
607  t77 = -3612.0/11.0*xi+3612.0/11.0*eta-8274.0/11.0*t7+8274.0/11.0*t3-3528.0/11.0*t19-t25+3654.0/11.0*t27+1134.0/11.0*t29+1134.0/11.0*t32-5670.0/11.0*t36-3654.0/11.0*t38+1134.0/11.0*t41+t72+3528.0/11.0*t45+t48-t50+t52+t74-t75+t76;
608  t85 = 228.0/11.0-4452.0/11.0*xi+2100.0/11.0*eta-3066.0/11.0*t7-t13+9450.0/11.0*t3-1512.0/11.0*t19-1134.0/11.0*t24+2646.0/11.0*t27+t30+t33;
609  t91 = -t37-630.0/11.0*t38+t42+t72+504.0/11.0*t45+126.0/11.0*t47-630.0/11.0*t49+126.0/11.0*t51+t74-t75+t76;
610  t96 = 1344.0/11.0*t5;
611  t99 = 1008.0/11.0*t24;
612  t101 = 1008.0/11.0*t29;
613  t102 = 1008.0/11.0*t32;
614  t103 = 5040.0/11.0*t36;
615  t105 = 1008.0/11.0*t41;
616  t107 = 504.0/11.0*t47;
617  t108 = 2520.0/11.0*t49;
618  t109 = 504.0/11.0*t51;
619  t110 = 1932.0/11.0*xi-6132.0/11.0*eta+10752.0/11.0*t7+t96-4368.0/11.0*t3+492.0/11.0+2016.0/11.0*t19-t99-1008.0/11.0*t27-t101-t102+t103+3024.0/11.0*t38-t105-3024.0/11.0*t45-t107+t108-t109;
620  t116 = 504.0/11.0*t57;
621  t117 = 2520.0/11.0*t55;
622  t118 = 504.0/11.0*t53;
623  t122 = 1008.0/11.0*t43;
624  t124 = -60.0/11.0+1428.0/11.0*xi+1428.0/11.0*eta-4536.0/11.0*t3+1008.0/11.0*t5-4536.0/11.0*t7-t116+t117-t118+1008.0/11.0*t19+t99-2016.0/11.0*t27+t109-t108-2016.0/11.0*t38+t107+t122+1008.0/11.0*t45;
625  t133 = -6132.0/11.0*xi+1932.0/11.0*eta-4368.0/11.0*t7+t96+10752.0/11.0*t3+492.0/11.0-3024.0/11.0*t19+3024.0/11.0*t27+t101+t102-t103-1008.0/11.0*t38+t105-t122+2016.0/11.0*t45+t118-t117+t116;
626  t137 = 5328.0/11.0*t5;
627  t140 = 846.0/11.0*t24;
628  t142 = 846.0/11.0*t29;
629  t143 = 846.0/11.0*t32;
630  t144 = -3456.0/77.0-2880.0/11.0*xi+5472.0/11.0*eta-8010.0/11.0*t7-t137+10026.0/11.0*t3-3384.0/11.0*t19-t140+4230.0/11.0*t27+t142+t143;
631  t145 = 4230.0/11.0*t36;
632  t147 = 846.0/11.0*t41;
633  t150 = 270.0/11.0*t47;
634  t151 = 1350.0/11.0*t49;
635  t152 = 270.0/11.0*t51;
636  t156 = -t145-1926.0/11.0*t38+t147-306.0/11.0*t43+2232.0/11.0*t45+t150-t151+t152+846.0/11.0*t53-4230.0/11.0*t55+846.0/11.0*t57;
637  t169 = 846.0/11.0*t43;
638  t171 = 270.0/11.0*t53;
639  t172 = 1350.0/11.0*t55;
640  t173 = 270.0/11.0*t57;
641  t174 = -1152.0/11.0*xi+1152.0/11.0*eta-2754.0/11.0*t7+2754.0/11.0*t3+72.0/11.0*t19-t140+774.0/11.0*t27-306.0/11.0*t29-306.0/11.0*t32+1530.0/11.0*t36-774.0/11.0*t38-306.0/11.0*t41+t169-72.0/11.0*t45+t150-t151+t152+t171-t172+t173
642 ;
643  t182 = 3456.0/77.0-5472.0/11.0*xi+2880.0/11.0*eta-10026.0/11.0*t7+t137+8010.0/11.0*t3-2232.0/11.0*t19+306.0/11.0*t24+1926.0/11.0*t27+t142+t143;
644  t188 = -t145-4230.0/11.0*t38+t147+t169+3384.0/11.0*t45+846.0/11.0*t47-4230.0/11.0*t49+846.0/11.0*t51+t171-t172+t173;
645  t195 = 2520.0/11.0*t57;
646  t196 = 12600.0/11.0*t55;
647  t197 = 2520.0/11.0*t53;
648  t199 = 5040.0/11.0*t24;
649  t201 = 2520.0/11.0*t51;
650  t202 = 12600.0/11.0*t49;
651  t204 = 2520.0/11.0*t47;
652  t205 = 5040.0/11.0*t43;
653  t207 = -5250.0/11.0+25620.0/11.0*xi+25620.0/11.0*eta-41160.0/11.0*t3-13440.0/11.0*t5-41160.0/11.0*t7-t195+t196-t197+5040.0/11.0*t19+t199-10080.0/11.0*t27+t201-t202-10080.0/11.0*t38+t204+t205+5040.0/11.0*t45;
654  t211 = 30240.0/11.0*t5;
655  t213 = 15120.0/11.0*t19;
656  t214 = 15120.0/11.0*t27;
657  t215 = 5040.0/11.0*t29;
658  t216 = 5040.0/11.0*t32;
659  t217 = 25200.0/11.0*t36;
660  t219 = 5040.0/11.0*t41;
661  t221 = -2940.0/11.0*xi+18900.0/11.0*eta-21840.0/11.0*t7-t211+26040.0/11.0*t3-2490.0/11.0-t213+t214+t215+t216-t217-5040.0/11.0*t38+t219-t205+10080.0/11.0*t45+t197-t196+t195;
662  t228 = 15120.0/11.0*t38;
663  t229 = 15120.0/11.0*t45;
664  t230 = 18900.0/11.0*xi-2940.0/11.0*eta+26040.0/11.0*t7-t211-21840.0/11.0*t3-2490.0/11.0+10080.0/11.0*t19-t199-5040.0/11.0*t27-t215-t216+t217+t228-t219-t229-t204+t202-t201;
665  t234 = 28560.0/11.0*t5;
666  t236 = 7560.0/11.0*t24;
667  t238 = 7560.0/11.0*t29;
668  t239 = 7560.0/11.0*t32;
669  t240 = 37800.0/11.0*t36;
670  t242 = 7560.0/11.0*t41;
671  t244 = 3780.0/11.0*t47;
672  t245 = 18900.0/11.0*t49;
673  t246 = 3780.0/11.0*t51;
674  t247 = -6300.0/11.0*xi-48300.0/11.0*eta+80640.0/11.0*t7+t234-5040.0/11.0*t3+5670.0/11.0+t213-t236-7560.0/11.0*t27-t238-t239+t240+22680.0/11.0*t38-t242-22680.0/11.0*t45-t244+t245-t246;
675  t253 = 3780.0/11.0*t57;
676  t254 = 18900.0/11.0*t55;
677  t255 = 3780.0/11.0*t53;
678  t257 = 7560.0/11.0*t43;
679  t259 = -3090.0/11.0+22260.0/11.0*xi+22260.0/11.0*eta-47880.0/11.0*t3-1680.0/11.0*t5-47880.0/11.0*t7-t253+t254-t255+7560.0/11.0*t19+t236-t214+t246-t245-t228+t244+t257+7560.0/11.0*t45;
680  t267 = -48300.0/11.0*xi-6300.0/11.0*eta-5040.0/11.0*t7+t234+80640.0/11.0*t3+5670.0/11.0-22680.0/11.0*t19+22680.0/11.0*t27+t238+t239-t240-7560.0/11.0*t38+t242-t257+t229+t255-t254+t253;
681 
682  values[0] = 0.0;
683  values[1] = 180.0-840.0*xi-840.0*eta+840.0*t3+1680.0*t5+840.0*t7;
684  values[2] = 0.0;
685  values[3] = t34+t59;
686  values[4] = t77;
687  values[5] = t85+t91;
688  values[6] = t110;
689  values[7] = t124;
690  values[8] = t133;
691  values[9] = t144+t156;
692  values[10] = t174;
693  values[11] = t182+t188;
694  values[12] = t207;
695  values[13] = t221;
696  values[14] = t230;
697  values[15] = t247;
698  values[16] = t259;
699  values[17] = t267;
700 }
701 
702 // values of derivatives in xi-eta direction
703 static void N_T_P4_2D_DeriveEtaEta(double xi, double eta, double *values)
704 {
705  double t1, t2, t3, t6, t8, t15, t16, t18, t19, t20, t21, t23, t24, t25;
706  double t26, t27, t28, t29, t30, t31, t33, t34, t36, t37, t38, t39, t40;
707  double t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54;
708  double t56, t58, t60, t73, t74, t75, t76, t83, t90, t96, t97, t98, t99;
709  double t100, t101, t102, t103, t104, t105, t106, t107, t108, t109, t110;
710  double t116, t117, t118, t119, t124, t129, t130, t131, t132, t133, t134;
711  double t135, t136, t137, t138, t139, t140, t141, t142, t143, t147, t160;
712  double t161, t162, t163, t170, t177, t184, t185, t186, t187, t188, t189;
713  double t190, t191, t192, t193, t194, t197, t200, t201, t202, t203, t204;
714  double t205, t206, t211, t216, t217, t218, t219, t220, t221, t222, t223;
715  double t224, t225, t226, t227, t228, t229, t230, t236, t237, t238, t239;
716  double t244;
717 
718  t1 = 840.0*eta;
719  t2 = eta*eta;
720  t3 = 840.0*t2;
721  t6 = xi*xi;
722  t8 = xi*eta;
723  t15 = 1176.0/11.0*t6;
724  t16 = xi-eta;
725  t18 = 2.0*eta-1.0+xi;
726  t19 = t16*t18;
727  t20 = t19*xi;
728  t21 = 252.0/11.0*t20;
729  t23 = 1.0-2.0*xi-eta;
730  t24 = t23*t18;
731  t25 = t24*xi;
732  t26 = 252.0/11.0*t25;
733  t27 = t23*t16;
734  t28 = t27*xi;
735  t29 = 504.0/11.0*t28;
736  t30 = t27*t18;
737  t31 = 1260.0/11.0*t30;
738  t33 = t18*xi*eta;
739  t34 = 252.0/11.0*t33;
740  t36 = t16*xi*eta;
741  t37 = 504.0/11.0*t36;
742  t38 = 4452.0/11.0*xi+17220.0/11.0*eta-19320.0/11.0*t2-18900.0/11.0*t8+t15-t21-t26+t29+t31+t34-t37;
743  t39 = t19*eta;
744  t40 = 2520.0/11.0*t39;
745  t42 = t23*xi*eta;
746  t43 = 504.0/11.0*t42;
747  t44 = t24*eta;
748  t45 = 2520.0/11.0*t44;
749  t46 = t27*eta;
750  t47 = 5040.0/11.0*t46;
751  t48 = t23*t2;
752  t49 = 2520.0/11.0*t48;
753  t50 = t16*t2;
754  t51 = 2520.0/11.0*t50;
755  t52 = t18*t2;
756  t53 = 1260.0/11.0*t52;
757  t54 = t23*t6;
758  t56 = t16*t6;
759  t58 = t18*t6;
760  t60 = -3000.0/11.0-t40-t43-t45+t47-t49-t51+t53-504.0/11.0*t54-504.0/11.0*t56+252.0/11.0*t58;
761  t73 = 2520.0/11.0*t54;
762  t74 = 2520.0/11.0*t56;
763  t75 = 1260.0/11.0*t58;
764  t76 = -1200.0/11.0-t40-4536.0/11.0*t42-t45+t47-t49-t51+t53-t73-t74+t75;
765  t83 = -420.0/11.0+2100.0/11.0*xi+2604.0/11.0*eta-3024.0/11.0*t2-6132.0/11.0*t8-t15-t21-t26+t29+252.0/11.0*t30+t34;
766  t90 = -t37-504.0/11.0*t39-t43-504.0/11.0*t44+1008.0/11.0*t46-504.0/11.0*t48-504.0/11.0*t50+252.0/11.0*t52-t73-t74+t75;
767  t96 = 672.0/11.0*t6;
768  t97 = 2016.0/11.0*t20;
769  t98 = 2016.0/11.0*t25;
770  t99 = 4032.0/11.0*t28;
771  t100 = 1008.0/11.0*t30;
772  t101 = 2016.0/11.0*t33;
773  t102 = 4032.0/11.0*t36;
774  t103 = 2016.0/11.0*t39;
775  t104 = 4032.0/11.0*t42;
776  t105 = 2016.0/11.0*t44;
777  t106 = 4032.0/11.0*t46;
778  t107 = 2016.0/11.0*t48;
779  t108 = 2016.0/11.0*t50;
780  t109 = 1008.0/11.0*t52;
781  t110 = -6132.0/11.0*xi-13608.0/11.0*eta+15288.0/11.0*t2+21504.0/11.0*t8+t96+t97+t98-t99-t100-t101+t102+t103+t104+t105-t106+2364.0/11.0+t107+t108-t109;
782  t116 = 2016.0/11.0*t54;
783  t117 = 2016.0/11.0*t56;
784  t118 = 1008.0/11.0*t58;
785  t119 = 1428.0/11.0*xi+7224.0/11.0*eta-8904.0/11.0*t2-9072.0/11.0*t8+504.0/11.0*t6+t100-t103-t105+t106-996.0/11.0-t107-t108+t109+t116+t117-t118;
786  t124 = -444.0/11.0+1932.0/11.0*xi+2688.0/11.0*eta+t96-8736.0/11.0*t8-2688.0/11.0*t2+t118-t117-t116+t101-t102-t97-t104-t98+t99;
787  t129 = 2664.0/11.0*t6;
788  t130 = 1692.0/11.0*t20;
789  t131 = 1692.0/11.0*t25;
790  t132 = 3384.0/11.0*t28;
791  t133 = 540.0/11.0*t30;
792  t134 = 1692.0/11.0*t33;
793  t135 = 3384.0/11.0*t36;
794  t136 = 5472.0/11.0*xi+7380.0/11.0*eta-8280.0/11.0*t2-16020.0/11.0*t8-t129-t130-t131+t132+t133+t134-t135;
795  t137 = 1080.0/11.0*t39;
796  t138 = 3384.0/11.0*t42;
797  t139 = 1080.0/11.0*t44;
798  t140 = 2160.0/11.0*t46;
799  t141 = 1080.0/11.0*t48;
800  t142 = 1080.0/11.0*t50;
801  t143 = 540.0/11.0*t52;
802  t147 = -9000.0/77.0-t137-t138-t139+t140-t141-t142+t143-3384.0/11.0*t54-3384.0/11.0*t56+1692.0/11.0*t58;
803  t160 = 1080.0/11.0*t54;
804  t161 = 1080.0/11.0*t56;
805  t162 = 540.0/11.0*t58;
806  t163 = -3600.0/77.0-t137+1224.0/11.0*t42-t139+t140-t141-t142+t143-t160-t161+t162;
807  t170 = -2160.0/11.0+2880.0/11.0*xi+16164.0/11.0*eta-20304.0/11.0*t2-20052.0/11.0*t8+t129-t130-t131+t132+1692.0/11.0*t30+t134;
808  t177 = -t135-3384.0/11.0*t39-t138-3384.0/11.0*t44+6768.0/11.0*t46-3384.0/11.0*t48-3384.0/11.0*t50+1692.0/11.0*t52-t160-t161+t162;
809  t184 = 5040.0/11.0*t30;
810  t185 = 10080.0/11.0*t39;
811  t186 = 10080.0/11.0*t44;
812  t187 = 20160.0/11.0*t46;
813  t188 = 10080.0/11.0*t48;
814  t189 = 10080.0/11.0*t50;
815  t190 = 5040.0/11.0*t52;
816  t191 = 10080.0/11.0*t54;
817  t192 = 10080.0/11.0*t56;
818  t193 = 5040.0/11.0*t58;
819  t194 = 25620.0/11.0*xi+82320.0/11.0*eta-90720.0/11.0*t2-82320.0/11.0*t8-6720.0/11.0*t6+t184-t185-t186+t187-14880.0/11.0-t188-t189+t190+t191+t192-t193;
820  t197 = 15120.0/11.0*t6;
821  t200 = 10080.0/11.0*t33;
822  t201 = 20160.0/11.0*t36;
823  t202 = 10080.0/11.0*t20;
824  t203 = 20160.0/11.0*t42;
825  t204 = 10080.0/11.0*t25;
826  t205 = 20160.0/11.0*t28;
827  t206 = -2880.0/11.0+18900.0/11.0*xi+13440.0/11.0*eta-t197-43680.0/11.0*t8-13440.0/11.0*t2+t193-t192-t191+t200-t201-t202-t203-t204+t205;
828  t211 = -2940.0/11.0*xi-21840.0/11.0*eta+30240.0/11.0*t2+52080.0/11.0*t8-t197+t202+t204-t205-t184-t200+t201+t185+t203+t186-t187+1920.0/11.0+t188+t189-t190;
829  t216 = 14280.0/11.0*t6;
830  t217 = 15120.0/11.0*t20;
831  t218 = 15120.0/11.0*t25;
832  t219 = 30240.0/11.0*t28;
833  t220 = 7560.0/11.0*t30;
834  t221 = 15120.0/11.0*t33;
835  t222 = 30240.0/11.0*t36;
836  t223 = 15120.0/11.0*t39;
837  t224 = 30240.0/11.0*t42;
838  t225 = 15120.0/11.0*t44;
839  t226 = 30240.0/11.0*t46;
840  t227 = 15120.0/11.0*t48;
841  t228 = 15120.0/11.0*t50;
842  t229 = 7560.0/11.0*t52;
843  t230 = -48300.0/11.0*xi-88200.0/11.0*eta+100800.0/11.0*t2+161280.0/11.0*t8+t216+t217+t218-t219-t220-t221+t222+t223+t224+t225-t226+14760.0/11.0+t227+t228-t229;
844  t236 = 15120.0/11.0*t54;
845  t237 = 15120.0/11.0*t56;
846  t238 = 7560.0/11.0*t58;
847  t239 = 22260.0/11.0*xi+68040.0/11.0*eta-80640.0/11.0*t2-95760.0/11.0*t8-840.0/11.0*t6+t220-t223-t225+t226-10440.0/11.0-t227-t228+t229+t236+t237-t238;
848  t244 = 7560.0/11.0-6300.0/11.0*xi-35280.0/11.0*eta+t216-10080.0/11.0*t8+35280.0/11.0*t2+t238-t237-t236+t221-t222-t217-t224-t218+t219;
849 
850  values[0] = 180.0-t1+t3;
851  values[1] = 180.0-840.0*xi-t1+840.0*t6+1680.0*t8+t3;
852  values[2] = 0.0;
853  values[3] = t38+t60;
854  values[4] = 3612.0/11.0*xi+8820.0/11.0*eta-10920.0/11.0*t2-16548.0/11.0*t8-2268.0/11.0*t20-2268.0/11.0*t25+4536.0/11.0*t28+t31+2268.0/11.0*t33-4536.0/11.0*t36+t76;
855  values[5] = t83+t90;
856  values[6] = t110;
857  values[7] = t119;
858  values[8] = t124;
859  values[9] = t136+t147;
860  values[10] = 1152.0/11.0*xi+3780.0/11.0*eta-4680.0/11.0*t2-5508.0/11.0*t8+612.0/11.0*t20+612.0/11.0*t25-1224.0/11.0*t28+t133-612.0/11.0*t33+1224.0/11.0*t36+t163;
861  values[11] = t170+t177;
862  values[12] = t194;
863  values[13] = t206;
864  values[14] = t211;
865  values[15] = t230;
866  values[16] = t239;
867  values[17] = t244;
868 }
869 
870 static int N_T_P4_2D_ChangeJ0[2] = { 3, 9 };
871 static int N_T_P4_2D_ChangeJ1[2] = { 4, 10 };
872 static int N_T_P4_2D_ChangeJ2[2] = { 5, 11 };
873 
874 static int *N_T_P4_2D_Change[3] = { N_T_P4_2D_ChangeJ0, N_T_P4_2D_ChangeJ1,
875  N_T_P4_2D_ChangeJ2 };
876 
877 // ***********************************************************************
878 
879 TBaseFunct2D *BF_N_T_P4_2D_Obj = new TBaseFunct2D
880  (18, BF_N_T_P4_2D, BFUnitTriangle,
881  N_T_P4_2D_Funct, N_T_P4_2D_DeriveXi,
882  N_T_P4_2D_DeriveEta, N_T_P4_2D_DeriveXiXi,
883  N_T_P4_2D_DeriveXiEta, N_T_P4_2D_DeriveEtaEta, 5, 4,
884  2, N_T_P4_2D_Change);
Definition: BaseFunct2D.h:27