6 static void N_Q_Q4_2D_Funct(
double xi,
double eta,
double *values)
8 double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t15, t17;
9 double t19, t20, t21, t22, t23, t24, t26, t27, t28, t29, t31, t35, t36;
10 double t37, t38, t39, t40, t41, t43, t44, t45, t46, t47, t54, t61, t63;
11 double t64, t65, t66, t67, t69, t70, t71, t75, t76, t77, t78, t79, t80;
12 double t81, t82, t100, t101, t102;
25 t12 = 3.0/8.0+t10-t11;
27 t15 = t13-3.0/2.0*eta;
38 t29 = 3.0/8.0+t27-t28;
47 t43 = -1.0/2.0+3.0/2.0*t2;
52 t54 = (63.0/8.0*t9*xi-35.0/4.0*t21+15.0/8.0*xi)*t15/4.0;
53 t61 = t26*(63.0/8.0*t6*eta-35.0/4.0*t4+15.0/8.0*eta)/4.0;
59 t69 = -1.0/2.0+3.0/2.0*t8;
74 values[0] = 3.0/16.0+t1-t3-t5+t7+t17;
75 values[1] = 3.0/16.0-t19-t20+t22+t23-t31;
76 values[2] = 3.0/16.0-t1-t3+t5+t7-t17;
77 values[3] = 3.0/16.0+t19-t20-t22+t23+t31;
78 values[4] = -t35+t37+t39-t41-t45+t47+t31+t54-t61;
79 values[5] = -t63-t37+t65+t67-t71-t47+t17+t54-t61;
80 values[6] = t35+t37-t39-t41+t45+t47-t31+t54-t61;
81 values[7] = t63-t37-t65+t67+t71-t47-t17+t54-t61;
82 values[8] = 1.0/16.0-t75-t76+t78-t71-t80+t82+t17;
83 values[9] = 1.0/16.0-t75-t76+t78+t45+t80-t82-t31;
84 values[10] = 1.0/16.0-t75-t76+t78+t71-t80+t82-t17;
85 values[11] = 1.0/16.0-t75-t76+t78-t45+t80-t82+t31;
86 values[12] = -t47+t31+t54-t61;
87 values[13] = t47+t17+t54-t61;
88 values[14] = -t47-t31+t54-t61;
89 values[15] = t47-t17+t54-t61;
90 values[16] = 1.0/4.0+t11+t28-t10-t27;
91 values[17] = 3.0*xi-t24-3.0/2.0*t38+t44;
92 values[18] = 3.0*eta-3.0/2.0*t64-t13+t70;
93 values[19] = -1.0+45.0/8.0*t8+3.0/8.0*t2-t10-t100+t101-t102;
94 values[20] = 4.0*t36-5.0/2.0*t66-5.0/2.0*t40+t46;
95 values[21] = -1.0+3.0/8.0*t8+45.0/8.0*t2-t100-t27-t101+t102;
98 static void N_Q_Q4_2D_DeriveXi(
double xi,
double eta,
double *values)
100 double t1, t2, t3, t5, t6, t7, t8, t10, t12, t13, t14, t15, t16, t17;
101 double t18, t21, t23, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35;
102 double t40, t47, t49, t50, t51, t52, t53, t54, t58, t59, t60, t61, t62;
103 double t63, t64, t76, t77, t78;
112 t10 = t8-3.0/2.0*eta;
120 t21 = 3.0/8.0+35.0/8.0*t18-15.0/4.0*t6;
132 t40 = (315.0/8.0*t35-105.0/4.0*t1+15.0/8.0)*t10/4.0;
133 t47 = t17*(63.0/8.0*t18*eta-35.0/4.0*t7+15.0/8.0*eta)/4.0;
152 values[1] = -3.0/4.0-t13+t14+t15-t23;
154 values[3] = 3.0/4.0-t13-t14+t15+t23;
155 values[4] = -1.0/4.0+t26+t27-t28-t32+t34+t23+t40-t47;
156 values[5] = -t26+t50+t52-t54-t34+t12+t40-t47;
157 values[6] = 1.0/4.0+t26-t27-t28+t32+t34-t23+t40-t47;
158 values[7] = -t26-t50+t52+t54-t34-t12+t40-t47;
159 values[8] = -t58+t60-t54-t62+t64+t12;
160 values[9] = -t58+t60+t32+t62-t64-t23;
161 values[10] = -t58+t60+t54-t62+t64-t12;
162 values[11] = -t58+t60-t32+t62-t64+t23;
163 values[12] = -t34+t23+t40-t47;
164 values[13] = t34+t12+t40-t47;
165 values[14] = -t34-t23+t40-t47;
166 values[15] = t34-t12+t40-t47;
168 values[17] = 3.0-t16-t29+t31;
169 values[18] = -3.0*t49+3.0*t53;
170 values[19] = 45.0/4.0*xi-t3-t76+t77-t78;
171 values[20] = 4.0*eta-15.0/2.0*t51-t8+t33;
172 values[21] = 3.0/4.0*xi-t76-t77+t78;
175 static void N_Q_Q4_2D_DeriveEta(
double xi,
double eta,
double *values)
177 double t1, t2, t3, t4, t5, t6, t7, t10, t11, t12, t14, t16, t17, t19;
178 double t20, t22, t24, t26, t27, t28, t29, t30, t31, t32, t33, t34, t41;
179 double t42, t47, t49, t50, t51, t52, t53, t54, t58, t59, t60, t61, t62;
180 double t63, t64, t76, t77, t78;
189 t10 = 3.0/8.0+35.0/8.0*t7-15.0/4.0*t6;
195 t19 = t17-3.0/2.0*xi;
197 t22 = t20-15.0/2.0*eta;
208 t41 = (63.0/8.0*t7*xi-35.0/4.0*t16+15.0/8.0*xi)*t12/4.0;
210 t47 = t19*(315.0/8.0*t42-105.0/4.0*t2+15.0/8.0)/4.0;
228 values[0] = 3.0/4.0-t1-t3+t5+t14;
230 values[2] = -3.0/4.0-t1+t3+t5-t14;
232 values[4] = t26+t28-t30-t32+t34+t24+t41-t47;
233 values[5] = -1.0/4.0-t26+t49+t50-t54-t34+t14+t41-t47;
234 values[6] = t26-t28-t30+t32+t34-t24+t41-t47;
235 values[7] = 1.0/4.0-t26-t49+t50+t54-t34-t14+t41-t47;
236 values[8] = -t58+t60-t54-t62+t64+t14;
237 values[9] = -t58+t60+t32+t62-t64-t24;
238 values[10] = -t58+t60+t54-t62+t64-t14;
239 values[11] = -t58+t60-t32+t62-t64+t24;
240 values[12] = -t34+t24+t41-t47;
241 values[13] = t34+t14+t41-t47;
242 values[14] = -t34-t24+t41-t47;
243 values[15] = t34-t14+t41-t47;
245 values[17] = -3.0*t27+3.0*t31;
246 values[18] = 3.0-t51-t11+t53;
247 values[19] = 3.0/4.0*eta-t76+t77-t78;
248 values[20] = 4.0*xi-t17-15.0/2.0*t29+t33;
249 values[21] = 45.0/4.0*eta-t76-t20-t77+t78;
252 static void N_Q_Q4_2D_DeriveXiXi(
double xi,
double eta,
double *values)
254 double t1, t2, t3, t4, t5, t8, t10, t11, t12, t13, t18, t22, t23, t24;
255 double t25, t26, t32, t39, t41, t42, t43, t44, t48, t49, t50, t51, t52;
256 double t54, t65, t66;
263 t8 = 5.0/2.0*t5-3.0/2.0*eta;
268 t18 = 15.0/2.0*xi*(3.0/8.0+35.0/8.0*t13-15.0/4.0*t4);
269 t22 = -1.0/2.0+3.0/2.0*t4;
274 t32 = (315.0/2.0*t1*xi-105.0/2.0*xi)*t8/4.0;
275 t39 = 15.0/4.0*xi*(63.0/8.0*t13*eta-35.0/4.0*t5+15.0/8.0*eta);
284 t52 = 105.0/32.0*t13;
287 t66 = 105.0/16.0*t13;
290 values[1] = -15.0/4.0+t11+t12-t18;
292 values[3] = -15.0/4.0-t11+t12+t18;
293 values[4] = -t24+t26+t18+t32-t39;
294 values[5] = t41+t43-t44-t26+t10+t32-t39;
295 values[6] = t24+t26-t18+t32-t39;
296 values[7] = -t41+t43+t44-t26-t10+t32-t39;
297 values[8] = -3.0/32.0-t48-t44+t49-t51+t52+t10;
298 values[9] = -21.0/32.0+t54+t24+t51-t52-t18;
299 values[10] = -3.0/32.0-t48+t44-t49-t51+t52-t10;
300 values[11] = -21.0/32.0+t54-t24+t51-t52+t18;
301 values[12] = -t26+t18+t32-t39;
302 values[13] = t26+t10+t32-t39;
303 values[14] = -t26-t18+t32-t39;
304 values[15] = t26-t10+t32-t39;
306 values[17] = -15.0*xi+15.0*t23;
307 values[18] = -15.0/2.0*eta+15.0/2.0*t5;
308 values[19] = 171.0/16.0-t2+27.0/8.0*t4+t65-t66;
309 values[20] = -15.0*t42+15.0*t25;
310 values[21] = 21.0/16.0-63.0/8.0*t4-t65+t66;
313 static void N_Q_Q4_2D_DeriveXiEta(
double xi,
double eta,
double *values)
315 double t1, t5, t6, t7, t8, t10, t11, t12, t16, t18, t19, t20, t21, t22;
316 double t23, t24, t25, t30, t31, t36, t38, t39, t40, t41, t45, t46, t47;
317 double t48, t49, t50, t61, t62, t63;
320 t5 = 35.0/2.0*t1*xi-15.0/2.0*xi;
327 t16 = 35.0/2.0*t6*eta-15.0/2.0*eta;
336 t30 = (315.0/8.0*t25-105.0/4.0*t1+15.0/8.0)*t8/4.0;
338 t36 = t12*(315.0/8.0*t31-105.0/4.0*t6+15.0/8.0)/4.0;
357 values[4] = 3.0/4.0+t19-t20-t22+t24+t18+t30-t36;
358 values[5] = -3.0/4.0+t38+t39-t41-t24+t10+t30-t36;
359 values[6] = 3.0/4.0-t19-t20+t22+t24-t18+t30-t36;
360 values[7] = -3.0/4.0-t38+t39+t41-t24-t10+t30-t36;
361 values[8] = t46-t41-t48+t50+t10;
362 values[9] = t46+t22+t48-t50-t18;
363 values[10] = t46+t41-t48+t50-t10;
364 values[11] = t46-t22+t48-t50+t18;
365 values[12] = -t24+t18+t30-t36;
366 values[13] = t24+t10+t30-t36;
367 values[14] = -t24-t18+t30-t36;
368 values[15] = t24-t10+t30-t36;
370 values[17] = -3.0*eta+3.0*t21;
371 values[18] = -3.0*xi+3.0*t40;
372 values[19] = -t61+t62-t63;
373 values[20] = 4.0-t11-t7+t23;
374 values[21] = -t61-t62+t63;
377 static void N_Q_Q4_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
379 double t1, t2, t3, t4, t5, t10, t12, t15, t16, t17, t19, t21, t22, t23;
380 double t24, t25, t26, t33, t39, t42, t43, t44, t48, t49, t50, t51, t53;
381 double t54, t65, t66;
388 t10 = 15.0/2.0*(3.0/8.0+35.0/8.0*t5-15.0/4.0*t4)*eta;
390 t15 = 5.0/2.0*t12-3.0/2.0*xi;
400 t33 = 15.0/4.0*(63.0/8.0*t5*xi-35.0/4.0*t12+15.0/8.0*xi)*eta;
401 t39 = t15*(315.0/2.0*t2*eta-105.0/2.0*eta)/4.0;
402 t42 = -1.0/2.0+3.0/2.0*t4;
414 values[0] = -15.0/4.0-t1+t3+t10;
416 values[2] = -15.0/4.0+t1+t3-t10;
418 values[4] = t21-t23-t24+t26+t19+t33-t39;
419 values[5] = -t44-t26+t10+t33-t39;
420 values[6] = -t21-t23+t24+t26-t19+t33-t39;
421 values[7] = t44-t26-t10+t33-t39;
422 values[8] = -21.0/32.0+t48-t44-t49+t51+t10;
423 values[9] = -3.0/32.0-t53+t24-t54+t49-t51-t19;
424 values[10] = -21.0/32.0+t48+t44-t49+t51-t10;
425 values[11] = -3.0/32.0-t53-t24+t54+t49-t51+t19;
426 values[12] = -t26+t19+t33-t39;
427 values[13] = t26+t10+t33-t39;
428 values[14] = -t26-t19+t33-t39;
429 values[15] = t26-t10+t33-t39;
431 values[17] = -15.0/2.0*xi+15.0/2.0*t12;
432 values[18] = -15.0*eta+15.0*t43;
433 values[19] = 21.0/16.0-63.0/8.0*t4+t65-t66;
434 values[20] = -15.0*t22+15.0*t25;
435 values[21] = 171.0/16.0+27.0/8.0*t4-t16-t65+t66;
438 static int N_Q_Q4_2D_ChangeJ0[2] = { 4, 12 };
439 static int N_Q_Q4_2D_ChangeJ1[2] = { 5, 13 };
440 static int N_Q_Q4_2D_ChangeJ2[2] = { 6, 14 };
441 static int N_Q_Q4_2D_ChangeJ3[2] = { 7, 15 };
443 static int *N_Q_Q4_2D_Change[4] = { N_Q_Q4_2D_ChangeJ0, N_Q_Q4_2D_ChangeJ1,
444 N_Q_Q4_2D_ChangeJ2, N_Q_Q4_2D_ChangeJ3 };
448 (22, BF_N_Q_Q4_2D, BFUnitSquare,
449 N_Q_Q4_2D_Funct, N_Q_Q4_2D_DeriveXi,
450 N_Q_Q4_2D_DeriveEta, N_Q_Q4_2D_DeriveXiXi,
451 N_Q_Q4_2D_DeriveXiEta, N_Q_Q4_2D_DeriveEtaEta, 5, 4,
452 2, N_Q_Q4_2D_Change);
Definition: BaseFunct2D.h:27