6 static void N_Q_Q2_2D_Funct(
double xi,
double eta,
double *values)
8 double t1, t2, t3, t4, t5, t8, t10, t11, t12, t15, t20, t26, t32;
9 double t7, t9, t16, t17, t18, t22;
20 t7 = 15.0/32.0*eta*t5;
23 t12 = 15.0/32.0*xi*t5;
30 values[0] = -1.0/4.0-t1+t3+t7;
31 values[1] = -1.0/4.0+t9+t10+t12;
32 values[2] = -1.0/4.0+t1+t3-t7;
33 values[3] = -1.0/4.0-t9+t10-t12;
34 values[4] = t16-t18-t12+t20;
35 values[5] = t22+t18+t7+t20;
36 values[6] = -t16-t18+t12+t20;
37 values[7] = -t22+t18-t7+t20;
38 values[8] = 2.0-3.0/2.0*t4-3.0/2.0*t2;
53 t20 = 5.0/8.0*t16*(t8-t2);
56 values[0] = -1.0/4.0+t1+t3-t5;
57 values[1] = -1.0/4.0-t7+t9+t11;
58 values[2] = -1.0/4.0-t1+t3+t5;
59 values[3] = -1.0/4.0+t7+t9-t11;
60 values[4] = t15-t17-t11+t20;
61 values[5] = t22+t17-t5+t20;
62 values[6] = -t15-t17+t11+t20;
63 values[7] = -t22+t17+t5+t20;
64 values[8] = 2.0-3.0/2.0*t8-3.0/2.0*t2;
84 values[0] = -1.0/4.0-t1+t3+t6;
85 values[1] = -1.0/4.0-t8+t9+t11;
86 values[2] = -1.0/4.0+t1+t3-t6;
87 values[3] = -1.0/4.0+t8+t9-t11;
88 values[4] = 5.0/4.0*xi-5.0/4.0*t15-5.0/4.0*t10+5.0/4.0*t16;
89 values[5] = -t18-t19+t6+t20;
90 values[6] = -5.0/4.0*xi-5.0/4.0*t15+5.0/4.0*t10+5.0/4.0*t16;
91 values[7] = t18-t19-t6+t20;
92 values[8] = 2.0-3.0/2.0*t4-3.0/2.0*t2;
101 t8 = (-1.0/2.0+t5)*eta/2.0;
105 t15 = xi*(-1.0/2.0+t12)/2.0;
107 t26 = (5.0/2.0*t4*xi-3.0/2.0*xi)*eta/4.0;
108 t32 = xi*(5.0/2.0*t2*eta-3.0/2.0*eta)/4.0;
110 values[0] = -1.0/4.0-t1+t3+t8;
111 values[1] = -1.0/4.0+t10+t11-t15;
112 values[2] = -1.0/4.0+t1+t3-t8;
113 values[3] = -1.0/4.0-t10+t11+t15;
114 values[4] = -t20+t15+t26-t32;
115 values[5] = t20+t8+t26-t32;
116 values[6] = -t20-t15+t26-t32;
117 values[7] = t20-t8+t26-t32;
118 values[8] = 2.0-t5-t12;
124 static void N_Q_Q2_2D_DeriveXi(
double xi,
double eta,
double *values)
126 double t2, t3, t4, t5, t8, t9, t13, t15, t17;
127 double t1, t6, t7, t10, t12, t14;
132 t2 = 15.0/16.0*xi*eta;
139 t13 = 5.0/8.0*eta*(t4-t6);
140 t15 = 5.0/4.0*t4*eta;
143 values[1] = 3.0/16.0+t3+t5-t7;
145 values[3] = -3.0/16.0+t3-t5+t7;
146 values[4] = 5.0/16.0-t10-t5+t7+t13+t15;
147 values[5] = t10+t2+t13+t15;
148 values[6] = -5.0/16.0-t10+t5-t7+t13+t15;
149 values[7] = t10-t2+t13+t15;
159 t10 = 5.0/8.0*eta*(t2-t7);
160 t12 = 5.0/4.0*t2*eta;
164 values[1] = -3.0/4.0+t1+t3;
166 values[3] = 3.0/4.0+t1-t3;
167 values[4] = 5.0/4.0-t6-t3+t10+t12;
169 values[6] = -5.0/4.0-t6+t3+t10+t12;
180 t10 = 15.0/4.0*t4*eta;
184 values[1] = -3.0/4.0+t3+t5;
186 values[3] = 3.0/4.0+t3-t5;
187 values[4] = 5.0/4.0-t8-t5+t10;
188 values[5] = -t12+t2+t10;
189 values[6] = -5.0/4.0-t8+t5+t10;
190 values[7] = -t12-t2+t10;
201 t13 = (15.0/2.0*t9-3.0/2.0)*eta/4.0;
202 t15 = 5.0/8.0*t4*eta;
206 values[1] = 3.0/4.0+t3-t5;
208 values[3] = -3.0/4.0+t3+t5;
209 values[4] = t8-1.0/4.0+t5+t13-t15;
210 values[5] = t17+t2+t13-t15;
211 values[6] = t8+1.0/4.0-t5+t13-t15;
212 values[7] = t17-t2+t13-t15;
219 static void N_Q_Q2_2D_DeriveEta(
double xi,
double eta,
double *values)
221 double t1, t2, t3, t6, t8, t10, t11, t15, t17;
222 double t4, t5, t7, t12, t13;
223 double t9, t14, t16, t19, t20, t21, t22;
233 t8 = 15.0/16.0*xi*eta;
235 t13 = 5.0/8.0*xi*(t2-t4);
238 values[0] = -3.0/16.0+t1+t3-t5;
240 values[2] = 3.0/16.0+t1-t3+t5;
242 values[4] = -t10+t8+t13-t15;
243 values[5] = 5.0/16.0+t10+t3-t5+t13-t15;
244 values[6] = -t10-t8+t13-t15;
245 values[7] = -5.0/16.0+t10-t3+t5+t13-t15;
246 values[8] = -3.0*eta;
255 t10 = 5.0/8.0*xi*(t7-t2);
259 values[0] = 3.0/4.0+t1-t3;
261 values[2] = -3.0/4.0+t1+t3;
264 values[5] = 5.0/4.0+t6-t3+t10-t12;
266 values[7] = -5.0/4.0+t6+t3+t10-t12;
267 values[8] = -3.0*eta;
279 values[0] = -3.0/4.0+t1+t3;
281 values[2] = 3.0/4.0+t1-t3;
283 values[4] = 5.0/4.0*t7;
284 values[5] = -1.0/4.0-t8+t3+t9;
285 values[6] = 5.0/4.0*t7;
286 values[7] = 1.0/4.0-t8-t3+t9;
287 values[8] = -3.0*eta;
298 t15 = xi*(15.0/2.0*t11-3.0/2.0)/4.0;
301 values[0] = -3.0/4.0+t1+t3;
303 values[2] = 3.0/4.0+t1-t3;
305 values[4] = -t8+t6+t10-t15;
306 values[5] = -t17-1.0/4.0+t3+t10-t15;
307 values[6] = -t8-t6+t10-t15;
308 values[7] = -t17+1.0/4.0-t3+t10-t15;
309 values[8] = -3.0*eta;
315 static void N_Q_Q2_2D_DeriveXiXi(
double xi,
double eta,
double *values)
326 t6 = 15.0/4.0*xi*eta;
329 values[1] = 3.0/2.0+t2;
331 values[3] = 3.0/2.0-t2;
341 t5 = 15.0/4.0*xi*eta;
344 values[1] = 3.0/2.0+t1;
346 values[3] = 3.0/2.0-t1;
361 values[1] = 3.0/2.0+t2;
363 values[3] = 3.0/2.0-t2;
364 values[4] = -15.0/2.0*xi+15.0/2.0*t5;
366 values[6] = 15.0/2.0*xi+15.0/2.0*t5;
373 t3 = 15.0/4.0*xi*eta;
389 static void N_Q_Q2_2D_DeriveXiEta(
double xi,
double eta,
double *values)
391 double t1, t2, t3, t4, t5, t6;
407 values[4] = -1.0/4.0+t2+t4-t6;
408 values[5] = 1.0/4.0+t1+t4-t6;
409 values[6] = -1.0/4.0-t2+t4-t6;
410 values[7] = 1.0/4.0-t1+t4-t6;
444 values[5] = -3.0/4.0+t1+t3;
446 values[7] = -3.0/4.0-t1+t3;
462 values[4] = -1.0/4.0+t2+t4-t6;
463 values[5] = 1.0/4.0+t1+t4-t6;
464 values[6] = -1.0/4.0-t2+t4-t6;
465 values[7] = 1.0/4.0-t1+t4-t6;
472 static void N_Q_Q2_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
482 t6 = 15.0/4.0*xi*eta;
484 values[0] = 3.0/2.0-t1;
486 values[2] = 3.0/2.0+t1;
497 t5 = 15.0/4.0*xi*eta;
499 values[0] = 3.0/2.0-t1;
501 values[2] = 3.0/2.0+t1;
524 t3 = 15.0/4.0*xi*eta;
539 static int N_Q_Q2_2D_ChangeJ0[1] = { 4 };
540 static int N_Q_Q2_2D_ChangeJ1[1] = { 5 };
541 static int N_Q_Q2_2D_ChangeJ2[1] = { 6 };
542 static int N_Q_Q2_2D_ChangeJ3[1] = { 7 };
544 static int *N_Q_Q2_2D_Change[4] = { N_Q_Q2_2D_ChangeJ0, N_Q_Q2_2D_ChangeJ1,
545 N_Q_Q2_2D_ChangeJ2, N_Q_Q2_2D_ChangeJ3 };
550 (9, BF_N_Q_Q2_2D, BFUnitSquare,
551 N_Q_Q2_2D_Funct, N_Q_Q2_2D_DeriveXi,
552 N_Q_Q2_2D_DeriveEta, N_Q_Q2_2D_DeriveXiXi,
553 N_Q_Q2_2D_DeriveXiEta, N_Q_Q2_2D_DeriveEtaEta, 3, 2,
554 1, N_Q_Q2_2D_Change);
Definition: BaseFunct2D.h:27
static TParamDB * ParamDB
Definition: Database.h:1134