6 static void N_T_P3_2D_Funct(
double xi,
double eta,
double *values)
8 double t1, t2, t3, t4, t5, t7, t8, t9, t10, t12, t13, t14, t15, t16;
9 double t17, t21, t23, t26, t28, t29, t30, t31, t32, t33, t35, t36, t37;
10 double t45, t46, t48, t49, t53, t55, t58, t59, t64, t70, t72, t73, t83;
11 double t87, t98, t101, t105, t106, t108, t109, t112, t116, t119, t127;
39 t37 = -4.0/5.0-2.0/5.0*xi+t21+6.0*t8-t23-48.0*t2-4.0*t12-t26+42.0*t16+t28+t30+t32-42.0*t33-t36;
42 t48 = 16.0/5.0*xi-16.0/5.0*eta-24.0*t8+24.0*t2+48.0*t12+t15-t17-48.0*t4-70.0*t31-t46+70.0*t33+t36;
47 t59 = 4.0/5.0-t49+2.0/5.0*eta+48.0*t8+t23-6.0*t2-t53-42.0*t14+t55+4.0*t4+42.0*t31+t46-t30-t58;
51 t73 = 18.0/5.0*xi-204.0/25.0*eta+t3+336.0/5.0*t12-196.0/5.0*t4+t64+216.0/5.0*t14-414.0/5.0*t16-186.0/5.0*t8-168.0/5.0*t45-336.0/5.0*t31+t70+294.0/5.0*t33+t72+13.0/25.0;
53 t87 = -36.0/25.0*xi-36.0/25.0*eta+66.0/5.0*t2-28.0*t12-28.0*t4-24.0/5.0*t10+48.0/5.0*t14+48.0/5.0*t16+66.0/5.0*t8+t83+42.0/5.0*t31-252.0/5.0*t29+42.0/5.0*t33+t72-1.0/25.0;
54 t98 = -204.0/25.0*xi+18.0/5.0*eta-186.0/5.0*t2-196.0/5.0*t12+336.0/5.0*t4+t64-414.0/5.0*t14+216.0/5.0*t16+t9+t83+294.0/5.0*t31+t70-336.0/5.0*t33-168.0/5.0*t35+13.0/25.0;
59 t109 = 224.0/5.0*xi+224.0/5.0*eta-t101+160.0*t12+160.0*t4-84.0*t10+t26+t55-t105-t106-t32+168.0*t29-t58-t108-16.0/5.0;
62 t119 = -t49-32.0*eta+t101+t53-224.0*t4+t112+156.0*t14-264.0*t16+8.0/5.0-t106-196.0*t31-t116+224.0*t33+112.0*t35;
63 t127 = -32.0*xi-t21-224.0*t12+t28+t112-264.0*t14+156.0*t16+t105+8.0/5.0+112.0*t45+224.0*t31-t116-196.0*t33-t108;
65 values[0] = 1.0-t1+t3-t5;
66 values[1] = -1.0+t7+t1-t9-60.0*t10-t3+t13+t15+t17+t5;
67 values[2] = 1.0-t7+t9-t13;
80 static void N_T_P3_2D_DeriveXi(
double xi,
double eta,
double *values)
82 double t1, t3, t4, t5, t6, t7, t8, t12, t14, t16, t17, t18, t19, t20;
83 double t26, t27, t31, t33, t35, t38, t44, t52, t65, t66, t69, t73;
113 values[1] = 12.0-t1-60.0*eta+t4+t6+t8;
114 values[2] = -12.0+t1-t4;
115 values[3] = -2.0/5.0+12.0*xi-t12-12.0*t3-t14+42.0*t7+t17+t19-42.0*t20;
116 values[4] = 16.0/5.0-48.0*xi+144.0*t3+t6-t8-210.0*t18-t27+70.0*t20;
117 values[5] = -64.0/5.0+96.0*xi+t12-t31-84.0*t5+t33+126.0*t18+t27-t17-t35;
118 values[6] = 18.0/5.0+1008.0/5.0*t3+t38+432.0/5.0*t5-414.0/5.0*t7-372.0/5.0*xi-672.0/5.0*t26-1008.0/5.0*t18+t44+294.0/5.0*t20;
119 values[7] = -36.0/25.0-84.0*t3-24.0/5.0*eta+96.0/5.0*t5+48.0/5.0*t7+132.0/5.0*xi+t52+126.0/5.0*t18-504.0/5.0*t16+42.0/5.0*t20;
120 values[8] = -204.0/25.0-588.0/5.0*t3+t38-828.0/5.0*t5+216.0/5.0*t7+t1+t52+882.0/5.0*t18+t44-336.0/5.0*t20;
121 values[9] = 224.0/5.0+480.0*t3-84.0*eta+t14+t33-t65-t66-t19+336.0*t16-t35;
122 values[10] = -64.0/5.0+t31+t69+312.0*t5-264.0*t7-t66-588.0*t18-t73+224.0*t20;
123 values[11] = -32.0-672.0*t3+t69-528.0*t5+156.0*t7+t65+448.0*t26+672.0*t18-t73-196.0*t20;
127 static void N_T_P3_2D_DeriveEta(
double xi,
double eta,
double *values)
129 double t1, t2, t3, t6, t7, t8, t9, t11, t13, t15, t16, t17, t18, t19;
130 double t20, t22, t23, t32, t35, t38, t42, t44, t63, t67, t70, t74;
159 values[0] = -12.0+t1-t3;
160 values[1] = 12.0-60.0*xi-t1+t7+t9+t3;
162 values[3] = 64.0/5.0-t11-96.0*eta-t13+84.0*t8+t15+t17+t19-126.0*t20-t23;
163 values[4] = -16.0/5.0+48.0*eta+t7-t9-144.0*t2-70.0*t18+210.0*t20+t23;
164 values[5] = 2.0/5.0+t11-12.0*eta-42.0*t6+t32+12.0*t2+42.0*t18-t17-t35;
165 values[6] = -204.0/25.0+t1-588.0/5.0*t2+t38+216.0/5.0*t6-828.0/5.0*t8-336.0/5.0*t18+t42+882.0/5.0*t20+t44;
166 values[7] = -36.0/25.0+132.0/5.0*eta-84.0*t2-24.0/5.0*xi+48.0/5.0*t6+96.0/5.0*t8+42.0/5.0*t18-504.0/5.0*t16+126.0/5.0*t20+t44;
167 values[8] = 18.0/5.0-372.0/5.0*eta+1008.0/5.0*t2+t38-414.0/5.0*t6+432.0/5.0*t8+294.0/5.0*t18+t42-1008.0/5.0*t20-672.0/5.0*t22;
168 values[9] = 224.0/5.0-t63+480.0*t2-84.0*xi+t13+t32-t19+336.0*t16-t35-t67;
169 values[10] = -32.0+t63-672.0*t2+t70+156.0*t6-528.0*t8-196.0*t18-t74+672.0*t20+448.0*t22;
170 values[11] = -64.0/5.0+t15+t70-264.0*t6+312.0*t8+224.0*t18-t74-588.0*t20-t67;
174 static void N_T_P3_2D_DeriveXiXi(
double xi,
double eta,
double *values)
176 double t1, t2, t6, t7, t8, t9, t10, t14, t15, t17, t25, t29, t38, t43;
189 t29 = 1008.0/5.0*t14;
194 values[1] = -60.0+t1+t2;
196 values[3] = 12.0-24.0*xi-t6+t8+t10;
197 values[4] = -48.0+288.0*xi+t2-420.0*t9-t15;
198 values[5] = 96.0-t17-84.0*eta+252.0*t9+t15-t8;
199 values[6] = 2016.0/5.0*xi+432.0/5.0*eta-372.0/5.0-2016.0/5.0*t14-2016.0/5.0*t9+t25;
200 values[7] = -168.0*xi+96.0/5.0*eta+132.0/5.0+t29+252.0/5.0*t9-504.0/5.0*t7;
201 values[8] = -1176.0/5.0*xi-828.0/5.0*eta+60.0+t29+1764.0/5.0*t9+t25;
202 values[9] = 960.0*xi+t6-288.0-t38-t10+336.0*t7;
203 values[10] = t17+312.0*eta-t38-1176.0*t9-t43;
204 values[11] = -1344.0*xi-528.0*eta+288.0+1344.0*t14+1344.0*t9-t43;
208 static void N_T_P3_2D_DeriveXiEta(
double xi,
double eta,
double *values)
210 double t1, t2, t4, t6, t7, t8, t9, t10, t17, t19, t24, t43;
226 values[1] = -60.0+t1+t2;
228 values[3] = -6.0-t4+84.0*eta+t7+t9-126.0*t10;
229 values[4] = t1-t2-210.0*t8+210.0*t10;
230 values[5] = 6.0-84.0*xi+t17+126.0*t8-t7-t19;
231 values[6] = 102.0/5.0+432.0/5.0*xi-828.0/5.0*eta-1008.0/5.0*t8+t24+882.0/5.0*t10;
232 values[7] = -24.0/5.0+96.0/5.0*xi+96.0/5.0*eta+126.0/5.0*t8-1008.0/5.0*t6+126.0/5.0*t10;
233 values[8] = 102.0/5.0-828.0/5.0*xi+432.0/5.0*eta+882.0/5.0*t8+t24-1008.0/5.0*t10;
234 values[9] = -84.0+t4+t17-t9+672.0*t6-t19;
235 values[10] = 72.0+312.0*xi-528.0*eta-588.0*t8-t43+672.0*t10;
236 values[11] = 72.0-528.0*xi+312.0*eta+672.0*t8-t43-588.0*t10;
240 static void N_T_P3_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
242 double t1, t3, t6, t7, t8, t9, t11, t12, t17, t19, t23, t25, t39, t43;
255 t25 = 1008.0/5.0*t11;
260 values[1] = -60.0+t3+t1;
262 values[3] = -96.0+84.0*xi+t6+t8-252.0*t9-t12;
263 values[4] = 48.0-t3-288.0*eta+420.0*t9+t12;
264 values[5] = -12.0+t17+24.0*eta-t8-t19;
265 values[6] = 60.0-1176.0/5.0*eta-828.0/5.0*xi+t23+1764.0/5.0*t9+t25;
266 values[7] = 132.0/5.0-168.0*eta+96.0/5.0*xi-504.0/5.0*t7+252.0/5.0*t9+t25;
267 values[8] = -372.0/5.0+2016.0/5.0*eta+432.0/5.0*xi+t23-2016.0/5.0*t9-2016.0/5.0*t11;
268 values[9] = -288.0+960.0*eta+t17+336.0*t7-t19-t39;
269 values[10] = 288.0-1344.0*eta-528.0*xi-t43+1344.0*t9+1344.0*t11;
270 values[11] = t6+312.0*xi-t43-1176.0*t9-t39;
273 static int N_T_P3_2D_ChangeJ0[1] = { 3 };
274 static int N_T_P3_2D_ChangeJ1[1] = { 4 };
275 static int N_T_P3_2D_ChangeJ2[1] = { 5 };
277 static int *N_T_P3_2D_Change[3] = { N_T_P3_2D_ChangeJ0, N_T_P3_2D_ChangeJ1,
278 N_T_P3_2D_ChangeJ2 };
283 (12, BF_N_T_P3_2D, BFUnitTriangle,
284 N_T_P3_2D_Funct, N_T_P3_2D_DeriveXi,
285 N_T_P3_2D_DeriveEta, N_T_P3_2D_DeriveXiXi,
286 N_T_P3_2D_DeriveXiEta, N_T_P3_2D_DeriveEtaEta, 4, 3,
287 1, N_T_P3_2D_Change);
Definition: BaseFunct2D.h:27