6 static void C_Q_M4_2D_Funct(
double xi,
double eta,
double *values)
8 double t1 = 4.0/9.0*xi;
9 double t2 = 4.0/9.0*eta;
11 double t4 = 7.0/9.0*t3;
13 double t6 = 5.0/12.0*t5;
15 double t8 = 7.0/9.0*t7;
19 double t12 = 13.0/36.0*t11;
21 double t14 = 13.0/36.0*t13;
25 double t18 = 2.0/3.0*t17;
33 double t26 = 2.0/3.0*t25;
34 double t32 = (1.0-t3)*(-1.0/2.0+3.0/2.0*t3)*(1.0+eta);
35 double t33 = 2.0/9.0*t32;
36 double t39 = (1.0-t7)*(-1.0/2.0+3.0/2.0*t7)*(1.0+xi);
37 double t40 = 2.0/9.0*t39;
38 double t41 = 2.0/9.0+t1+t2-t4-t6-t8-t10-t12-t14-t16+t18+t20+t22+t24+t26+t33+t40;
39 double t42 = 2.0/3.0*xi;
40 double t43 = 28.0/9.0*t3;
41 double t44 = 2.0/3.0*t5;
42 double t45 = 2.0/3.0*t9;
43 double t46 = 4.0/9.0*t11;
44 double t47 = 8.0/3.0*t17;
45 double t48 = 2.0/3.0*t19;
46 double t49 = 8.0/9.0*t32;
51 double t57 = 4.0/3.0*t32;
53 double t61 = -t1+t2-t4+t6+t60+t10-t12+t14-t16+t18-t20+t22-t24+t33-t40;
54 double t62 = 2.0/3.0*eta;
55 double t63 = 4.0/9.0*t7;
56 double t64 = 4.0/9.0*t13;
57 double t65 = 2.0/3.0*t15;
58 double t66 = 2.0/3.0*t23;
59 double t67 = 8.0/9.0*t39;
63 double t73 = 4.0/3.0*t39;
65 double t77 = -2.0/9.0-t1-t2+t76-t6+t60+t10+t12+t14+t16+t20+t22+t24-t33-t40;
66 double t78 = 4.0/9.0*t3;
67 double t83 = t1-t2+t76+t6-t8-t10+t12-t14+t16-t20+t22-t24+t26-t33+t40;
68 double t84 = 28.0/9.0*t7;
69 double t85 = 8.0/3.0*t25;
72 values[1] = -4.0/9.0-t42-t2+t43+t44+t45+t46-t47-t48-t49;
73 values[2] = 2.0/3.0+t51-14.0/3.0*t3+t53-t54+4.0*t17-t56+t57;
74 values[3] = -4.0/9.0+t42-t2+t43-t44-t45+t46-t47+t48-t49;
76 values[5] = 4.0/9.0+t1-t62-t44-t63-t64+t65+t66+t67;
77 values[6] = -2.0/3.0-t69+t70+2.0/3.0*t7+t72-t56-t73;
78 values[7] = 4.0/9.0+t1+t62+t44-t63-t64-t65-t66+t67;
80 values[9] = 4.0/9.0+t42+t2-t78+t44-t45-t46-t48+t49;
81 values[10] = -2.0/3.0-t51+2.0/3.0*t3+t53+t54-t56-t57;
82 values[11] = 4.0/9.0-t42+t2-t78-t44+t45-t46+t48+t49;
84 values[13] = -4.0/9.0-t1+t62-t44+t84+t64-t65+t66-t85-t67;
85 values[14] = 2.0/3.0+t69+t70-14.0/3.0*t7-t72-t56+4.0*t25+t73;
86 values[15] = -4.0/9.0-t1-t62+t44+t84+t64+t65-t66-t85-t67;
87 values[16] = 1.0-t3-t7+t21;
91 static void C_Q_M4_2D_DeriveXi(
double xi,
double eta,
double *values)
93 double t1 = 14.0/9.0*xi;
94 double t2 = 5.0/12.0*eta;
97 double t5 = 13.0/18.0*t4;
99 double t7 = 13.0/36.0*t6;
101 double t9 = 8.0/3.0*t8;
104 double t12 = t11/2.0;
106 double t14 = t13/3.0;
107 double t18 = 1.0+eta;
108 double t19 = xi*(-1.0/2.0+3.0/2.0*t3)*t18;
109 double t20 = 4.0/9.0*t19;
110 double t23 = (1.0-t3)*xi*t18;
111 double t24 = 2.0/3.0*t23;
112 double t28 = (1.0-t6)*(-1.0/2.0+3.0/2.0*t6);
113 double t29 = 2.0/9.0*t28;
114 double t30 = 4.0/9.0-t1-t2-t3-t5-t7+t9+t10+t12+t14-t20+t24+t29;
115 double t31 = 56.0/9.0*xi;
116 double t32 = 2.0/3.0*eta;
118 double t34 = 8.0/9.0*t4;
119 double t35 = 32.0/3.0*t8;
120 double t36 = 2.0*t10;
121 double t37 = 16.0/9.0*t19;
122 double t38 = 8.0/3.0*t23;
124 double t43 = 8.0/3.0*t19;
125 double t44 = 4.0*t23;
126 double t47 = -4.0/9.0-t1+t2+t3-t5+t7+t9-t10+t12-t14-t20+t24-t29;
127 double t48 = 4.0/9.0*t6;
128 double t49 = 2.0/3.0*t13;
129 double t50 = 8.0/9.0*t28;
130 double t51 = 4.0/9.0-t32-t48+t49+t50;
132 double t53 = 4.0/3.0*t28;
133 double t55 = 4.0/9.0+t32-t48-t49+t50;
134 double t56 = 2.0/9.0*xi;
135 double t57 = -4.0/9.0+t56-t2+t3+t5+t7+t10+t12+t14+t20-t24-t29;
136 double t58 = 8.0/9.0*xi;
137 double t63 = 4.0/9.0+t56+t2-t3+t5-t7-t10+t12-t14+t20-t24+t29;
140 values[1] = -2.0/3.0+t31+t32+t33+t34-t35-t36+t37-t38;
141 values[2] = -28.0/3.0*xi-t41+16.0*t8-t11-t43+t44;
142 values[3] = 2.0/3.0+t31-t32-t33+t34-t35+t36+t37-t38;
145 values[6] = -1.0/6.0+xi+t52-t11-t53;
148 values[9] = 2.0/3.0-t58+t32-t33-t34-t36-t37+t38;
149 values[10] = 4.0/3.0*xi+t41-t11+t43-t44;
150 values[11] = -2.0/3.0-t58-t32+t33-t34+t36-t37+t38;
153 values[14] = 1.0/6.0+xi-t52-t11+t53;
155 values[16] = -2.0*xi+2.0*t11;
159 static void C_Q_M4_2D_DeriveEta(
double xi,
double eta,
double *values)
161 double t1 = 5.0/12.0*xi;
162 double t2 = 14.0/9.0*eta;
164 double t4 = 13.0/36.0*t3;
166 double t6 = 13.0/18.0*t5;
171 double t11 = t10/2.0;
174 double t14 = 8.0/3.0*t13;
175 double t18 = (1.0-t3)*(-1.0/2.0+3.0/2.0*t3);
176 double t19 = 2.0/9.0*t18;
178 double t24 = eta*(-1.0/2.0+3.0/2.0*t7)*t23;
179 double t25 = 4.0/9.0*t24;
180 double t28 = (1.0-t7)*eta*t23;
181 double t29 = 2.0/3.0*t28;
182 double t30 = 4.0/9.0-t1-t2-t4-t6-t7+t9+t11+t12+t14+t19-t25+t29;
183 double t31 = 2.0/3.0*xi;
184 double t32 = 4.0/9.0*t3;
185 double t33 = 2.0/3.0*t8;
186 double t34 = 8.0/9.0*t18;
187 double t35 = -4.0/9.0+t31+t32-t33-t34;
189 double t37 = 4.0/3.0*t18;
190 double t39 = -4.0/9.0-t31+t32+t33-t34;
191 double t40 = 2.0/9.0*eta;
192 double t41 = 4.0/9.0+t1+t40-t4+t6-t7-t9+t11-t12+t19+t25-t29;
193 double t42 = 8.0/9.0*eta;
194 double t43 = 8.0/9.0*t5;
196 double t45 = 2.0*t12;
197 double t46 = 16.0/9.0*t24;
198 double t47 = 8.0/3.0*t28;
200 double t51 = 8.0/3.0*t24;
201 double t52 = 4.0*t28;
202 double t55 = -4.0/9.0-t1+t40+t4+t6+t7+t9+t11+t12-t19+t25-t29;
203 double t57 = -4.0/9.0+t1-t2+t4-t6+t7-t9+t11-t12+t14-t19-t25+t29;
204 double t58 = 56.0/9.0*eta;
205 double t59 = 32.0/3.0*t13;
209 values[2] = 1.0/6.0+eta-t36-t10+t37;
212 values[5] = -2.0/3.0-t31-t42-t43+t44+t45-t46+t47;
213 values[6] = 4.0/3.0*eta+t50-t10+t51-t52;
214 values[7] = 2.0/3.0+t31-t42-t43-t44-t45-t46+t47;
217 values[10] = -1.0/6.0+eta+t36-t10-t37;
220 values[13] = 2.0/3.0-t31+t58+t43-t44+t45-t59+t46-t47;
221 values[14] = -28.0/3.0*eta-t50-t10+16.0*t13-t51+t52;
222 values[15] = -2.0/3.0+t31+t58+t43+t44-t45-t59+t46-t47;
223 values[16] = -2.0*eta+2.0*t10;
227 static void C_Q_M4_2D_DeriveXiXi(
double xi,
double eta,
double *values)
230 double t2 = 13.0/18.0*eta;
237 double t11 = 1.0+eta;
238 double t12 = (-1.0/2.0+3.0/2.0*t3)*t11;
239 double t13 = 4.0/9.0*t12;
241 double t15 = 8.0/3.0*t14;
242 double t17 = (1.0-t3)*t11;
243 double t18 = 2.0/3.0*t17;
245 double t21 = 8.0/9.0*eta;
246 double t22 = 32.0*t3;
248 double t24 = 16.0/9.0*t12;
249 double t25 = 32.0/3.0*t14;
250 double t26 = 8.0/3.0*t17;
251 double t28 = eta/3.0;
252 double t30 = 8.0/3.0*t12;
253 double t31 = 16.0*t14;
254 double t32 = 4.0*t17;
257 values[0] = -14.0/9.0-t1-t2+t4+t6+t8-t13-t15+t18;
258 values[1] = 56.0/9.0+t20+t21-t22-t23+t24+t25-t26;
259 values[2] = -28.0/3.0-t28+48.0*t3-t7-t30-t31+t32;
260 values[3] = 56.0/9.0-t20+t21-t22+t23+t24+t25-t26;
261 values[4] = -14.0/9.0+t1-t2+t4-t6+t8-t13-t15+t18;
265 values[8] = 2.0/9.0+t1+t2+t6+t8+t13+t15-t18;
266 values[9] = -8.0/9.0-t20-t21-t23-t24-t25+t26;
267 values[10] = 4.0/3.0+t28-t7+t30+t31-t32;
268 values[11] = -8.0/9.0+t20-t21+t23-t24-t25+t26;
269 values[12] = 2.0/9.0-t1+t2-t6+t8+t13+t15-t18;
273 values[16] = -2.0*t36;
277 static void C_Q_M4_2D_DeriveXiEta(
double xi,
double eta,
double *values)
279 double t1 = 13.0/18.0*xi;
280 double t2 = 13.0/18.0*eta;
284 double t8 = xi*(-1.0/2.0+3.0/2.0*t3);
285 double t9 = 4.0/9.0*t8;
286 double t11 = (1.0-t3)*xi;
287 double t12 = 2.0/3.0*t11;
288 double t15 = eta*(-1.0/2.0+3.0/2.0*t5);
289 double t16 = 4.0/9.0*t15;
290 double t18 = (1.0-t5)*eta;
291 double t19 = 2.0/3.0*t18;
292 double t21 = 8.0/9.0*xi;
294 double t23 = 16.0/9.0*t8;
295 double t24 = 8.0/3.0*t11;
296 double t25 = 2.0/3.0+t21-t22+t23-t24;
299 double t28 = 8.0/3.0*t8;
300 double t29 = 4.0*t11;
301 double t31 = -2.0/3.0+t21+t22+t23-t24;
302 double t33 = 8.0/9.0*eta;
304 double t35 = 16.0/9.0*t15;
305 double t36 = 8.0/3.0*t18;
306 double t37 = -2.0/3.0-t33+t34-t35+t36;
307 double t38 = eta/3.0;
308 double t39 = 8.0/3.0*t15;
309 double t40 = 4.0*t18;
310 double t42 = 2.0/3.0-t33-t34-t35+t36;
312 values[0] = -5.0/12.0-t1-t2+t3+t4+t5-t9+t12-t16+t19;
314 values[2] = -t26-t27-t28+t29;
316 values[4] = 5.0/12.0-t1+t2-t3+t4-t5-t9+t12+t16-t19;
318 values[6] = t38-t27+t39-t40;
320 values[8] = -5.0/12.0+t1+t2+t3+t4+t5+t9-t12+t16-t19;
322 values[10] = t26-t27+t28-t29;
324 values[12] = 5.0/12.0+t1-t2-t3+t4-t5+t9-t12-t16+t19;
326 values[14] = -t38-t27-t39+t40;
332 static void C_Q_M4_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
334 double t1 = 13.0/18.0*xi;
343 double t12 = (-1.0/2.0+3.0/2.0*t7)*t11;
344 double t13 = 4.0/9.0*t12;
346 double t15 = 8.0/3.0*t14;
347 double t17 = (1.0-t7)*t11;
348 double t18 = 2.0/3.0*t17;
350 double t22 = 8.0/9.0*xi;
351 double t23 = 4.0*eta;
353 double t25 = 16.0/9.0*t12;
354 double t26 = 32.0/3.0*t14;
355 double t27 = 8.0/3.0*t17;
357 double t30 = 8.0/3.0*t12;
358 double t31 = 16.0*t14;
359 double t32 = 4.0*t17;
360 double t37 = 32.0*t7;
362 values[0] = -14.0/9.0-t1-t2+t4+t6+t8-t13-t15+t18;
366 values[4] = 2.0/9.0+t1-t2+t4-t6+t13+t15-t18;
367 values[5] = -8.0/9.0-t22+t23+t24-t25-t26+t27;
368 values[6] = 4.0/3.0+t29-t3+t30+t31-t32;
369 values[7] = -8.0/9.0-t22-t23-t24-t25-t26+t27;
370 values[8] = 2.0/9.0+t1+t2+t4+t6+t13+t15-t18;
374 values[12] = -14.0/9.0-t1+t2+t4-t6+t8-t13-t15+t18;
375 values[13] = 56.0/9.0+t22-t23+t24-t37+t25+t26-t27;
376 values[14] = -28.0/3.0-t29-t3+48.0*t7-t30-t31+t32;
377 values[15] = 56.0/9.0+t22+t23-t24-t37+t25+t26-t27;
378 values[16] = -2.0*t20;
384 (17, BF_C_Q_M4_2D, BFUnitSquare,
385 C_Q_M4_2D_Funct, C_Q_M4_2D_DeriveXi,
386 C_Q_M4_2D_DeriveEta, C_Q_M4_2D_DeriveXiXi,
387 C_Q_M4_2D_DeriveXiEta, C_Q_M4_2D_DeriveEtaEta, 4, 4,
Definition: BaseFunct2D.h:27