5 static double N_T_RT2_3D_CM[1296] = {
6 0,-0,0,-0,0,0,0,-0,0,-0,0,-0,0,-0,0,-0,-0,0,-6,4,-1,4,-1,-1,0,-0,-0,-0,0,-0,-0,-0,0,-0,-0,-0,
7 0,0,0,0,0,0,-6,4,-1,4,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8 -6,4,-1,4,-1,-1,0,0,0,-0,-0,0,-0,0,0,0,-0,-0,-0,0,-0,0,-0,-0,0,-0,-0,-0,0,-0,-0,-0,-0,0,0,0,
9 9.5,-9,2.5,-5,2,1,9.5,-5,1,-9,2,2.5,5,-2.5,7.5,-2.5,-2.5,5,36,-16,4,-16,1,4,1080,-1512,-1368,-1368,360,-648,-504,-504,360,-648,-504,-504,
10 0,0,0,0,0,0,17.5,-5,0,-25,5,7.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11 17.5,-25,7.5,-5,5,-0,0,-0,0,-0,0,-0,0,-0,0,-0,-0,0,0,-0,0,-0,0,0,0,-0,-0,-0,0,-0,-0,-0,0,-0,-0,-0,
12 -0,0,0,0,-0,-0,0,0,0,0,-0,-0,0,0,-0,-0,0,-0,17.5,-25,7.5,-5,5,0,-0,0,0,0,-0,0,0,0,-0,0,0,0,
13 9.5,-5,1,-9,2,2.5,36,-16,4,-16,1,4,7.5,-2.5,5,-2.5,-2.5,5,9.5,-9,2.5,-5,2,1,360,-504,-648,-504,1080,-1368,-1512,-1368,360,-504,-648,-504,
14 17.5,-5,0,-25,5,7.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
15 -0,0,0,0,-0,-0,-0,0,-0,0,-0,-0,-0,0,-0,0,0,-0,17.5,-5,-0,-25,5,7.5,-0,0,0,0,-0,0,0,0,-0,0,0,0,
16 0,0,0,0,0,0,17.5,-25,7.5,-5,5,-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17 36,-16,4,-16,1,4,9.5,-9,2.5,-5,2,1,5,-2.5,5,-2.5,-2.5,7.5,9.5,-5,1,-9,2,2.5,360,-504,-504,-648,360,-504,-504,-648,1080,-1368,-1368,-1512,
18 -26,40,-14,6,-6,0,-26,6,0,40,-6,-14,-11,9,-33,7,9,-11,-61.5,22.5,-10,22.5,3.5,-10,-2592,4536,2880,2880,-864,2160,1008,1008,-864,2160,1008,1008,
19 0,0,0,0,0,0,-12.5,0,0,25,-0,-12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
20 -12.5,25,-12.5,0,-0,-0,-0,0,-0,0,-0,-0,-0,0,-0,0,0,-0,-0,0,-0,0,-0,-0,-0,0,0,0,-0,0,0,0,-0,0,0,0,
21 -26,11,0,35,-11,-9,-36,13,-3,17,-1,-2,-27,4,-12,8,8,-11,-57,60,-3,12,-12,0,-1728,2016,3744,1872,-1728,2304,3024,2016,-864,1152,2016,1008,
22 -26,35,-9,11,-11,0,-57,12,0,60,-12,-3,-12,4,-27,8,8,-11,-36,17,-2,13,-1,-3,-1728,3024,2304,2016,-1728,3744,2016,1872,-864,2016,1152,1008,
23 -25,25,0,25,-25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
24 -36,17,-2,13,-1,-3,-26,35,-9,11,-11,-0,-11,8,-12,8,4,-27,-57,12,-0,60,-12,-3,-1728,2016,1872,3744,-864,1152,1008,2016,-1728,2304,2016,3024,
25 0,0,0,0,0,0,-25,25,0,25,-25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26 -57,60,-3,12,-12,-0,-26,11,0,35,-11,-9,-11,8,-27,8,4,-12,-36,13,-3,17,-1,-2,-1728,3024,2016,2304,-864,2016,1008,1152,-1728,3744,1872,2016,
27 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-12.5,25,-12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
28 -26,6,0,40,-6,-14,-61.5,22.5,-10,22.5,3.5,-10,-33,9,-11,9,7,-11,-26,40,-14,6,-6,0,-864,1008,2160,1008,-2592,2880,4536,2880,-864,1008,2160,1008,
29 -12.5,0,0,25,-0,-12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
30 -0,-0,-0,-0,-0,0,0,-0,0,-0,0,0,0,-0,0,-0,-0,0,-25,25,0,25,-25,-0,0,-0,-0,-0,0,-0,-0,-0,0,-0,-0,-0,
31 -36,13,-3,17,-1,-2,-57,60,-3,12,-12,-0,-12,8,-11,4,8,-27,-26,11,-0,35,-11,-9,-864,1008,1152,2016,-1728,1872,2016,3744,-1728,2016,2304,3024,
32 -57,12,0,60,-12,-3,-36,17,-2,13,-1,-3,-27,8,-11,4,8,-12,-26,35,-9,11,-11,0,-864,1008,2016,1152,-1728,2016,3024,2304,-1728,1872,3744,2016,
33 0,-0,0,-0,0,0,0,-0,0,-0,0,0,0,-0,0,-0,-0,0,-12.5,-0,0,25,-0,-12.5,0,-0,-0,-0,0,-0,-0,-0,0,-0,-0,-0,
34 0,0,0,0,0,0,-12.5,25,-12.5,0,-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
35 -61.5,22.5,-10,22.5,3.5,-10,-26,40,-14,6,-6,-0,-11,7,-11,9,9,-33,-26,6,-0,40,-6,-14,-864,1008,1008,2160,-864,1008,1008,2160,-2592,2880,2880,4536,
36 17.5,-35,17.5,0,0,-0,17.5,0,-0,-35,0,17.5,7,-10.5,31.5,-3.5,-10.5,7,31.5,-10.5,7,-10.5,-3.5,7,1512,-3024,-1512,-1512,504,-1512,-504,-504,504,-1512,-504,-504,
37 35,-35,-0,-35,35,-0,42,-7,-0,-35,7,-7,21,14,21,-14,-14,14,42,-35,-7,-7,7,-0,2016,-3024,-4032,-2016,2016,-4032,-3024,-2016,1008,-2016,-2016,-1008,
38 42,-35,-7,-7,7,-0,35,-35,-1e-08,-35,35,0,14,-14,21,-14,14,21,42,-7,0,-35,7,-7,2016,-3024,-2016,-4032,1008,-2016,-1008,-2016,2016,-4032,-2016,-3024,
39 17.5,0,-0,-35,0,17.5,31.5,-10.5,7,-10.5,-3.5,7,31.5,-10.5,7,-10.5,-3.5,7,17.5,-35,17.5,0,0,-0,504,-504,-1512,-504,1512,-1512,-3024,-1512,504,-504,-1512,-504,
40 42,-7,-0,-35,7,-7,42,-35,-7,-7,7,0,21,-14,14,14,-14,21,35,-35,0,-35,35,-1e-08,1008,-1008,-2016,-2016,2016,-2016,-3024,-4032,2016,-2016,-4032,-3024,
41 31.5,-10.5,7,-10.5,-3.5,7,17.5,-35,17.5,-0,0,0,7,-3.5,7,-10.5,-10.5,31.5,17.5,-0,0,-35,0,17.5,504,-504,-504,-1512,504,-504,-504,-1512,1512,-1512,-1512,-3024
44 static void N_T_RT2_3D_Funct(
double xi,
double eta,
double zeta,
49 double mon_x[]={1,0,0,xi,0,0,eta,0,0,zeta,0,0,
50 xi*xi,0,0,xi*eta,0,0,xi*zeta,0,0,
51 eta*eta,0,0,eta*zeta,0,0,zeta*zeta,0,0,
52 xi*xi*xi,xi*xi*eta,xi*xi*zeta,
53 xi*eta*eta,xi*eta*zeta,xi*zeta*zeta};
54 double mon_y[]={0,1,0,0,xi,0,0,eta,0,0,zeta,0,
55 0,xi*xi,0,0,xi*eta,0,0,xi*zeta,0,
56 0,eta*eta,0,0,eta*zeta,0,0,zeta*zeta,0,
57 xi*xi*eta,xi*eta*eta,xi*eta*zeta,
58 eta*eta*eta,eta*eta*zeta,eta*zeta*zeta};
59 double mon_z[]={0,0,1,0,0,xi,0,0,eta,0,0,zeta,
60 0,0,xi*xi,0,0,xi*eta,0,0,xi*zeta,
61 0,0,eta*eta,0,0,eta*zeta,0,0,zeta*zeta,
62 xi*xi*zeta,xi*eta*zeta,xi*zeta*zeta,
63 eta*eta*zeta,eta*zeta*zeta,zeta*zeta*zeta};
65 memset(values, 0.0, 3*nBF*SizeOfDouble);
66 for(
int i=0; i<nBF; i++)
68 for(
int j=0; j<nBF; j++)
70 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
71 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
72 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
77 static void N_T_RT2_3D_DeriveXi(
double xi,
double eta,
double zeta,
82 double mon_x[]={0,0,0,1,0,0,0,0,0,0,0,0,
83 2*xi,0,0,eta,0,0,zeta,0,0,
85 3*xi*xi,2*xi*eta,2*xi*zeta,
86 eta*eta,eta*zeta,zeta*zeta};
87 double mon_y[]={0,0,0,0,1,0,0,0,0,0,0,0,
88 0,2*xi,0,0,eta,0,0,zeta,0,
90 2*xi*eta,eta*eta,eta*zeta,
92 double mon_z[]={0,0,0,0,0,1,0,0,0,0,0,0,
93 0,0,2*xi,0,0,eta,0,0,zeta,
95 2*xi*zeta,eta*zeta,zeta*zeta,
98 memset(values, 0.0, 3*nBF*SizeOfDouble);
99 for(
int i=0; i<nBF; i++)
101 for(
int j=0; j<nBF; j++)
103 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
104 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
105 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
110 static void N_T_RT2_3D_DeriveEta(
double xi,
double eta,
double zeta,
115 double mon_x[]={0,0,0,0,0,0,1,0,0,0,0,0,
117 2*eta,0,0,zeta,0,0,0,0,0,
120 double mon_y[]={0,0,0,0,0,0,0,1,0,0,0,0,
122 0,2*eta,0,0,zeta,0,0,0,0,
123 xi*xi,xi*2*eta,xi*zeta,
124 3*eta*eta,2*eta*zeta,zeta*zeta};
125 double mon_z[]={0,0,0,0,0,0,0,0,1,0,0,0,
127 0,0,2*eta,0,0,zeta,0,0,0,
129 2*eta*zeta,zeta*zeta,0};
131 memset(values, 0.0, 3*nBF*SizeOfDouble);
132 for(
int i=0; i<nBF; i++)
134 for(
int j=0; j<nBF; j++)
136 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
137 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
138 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
143 static void N_T_RT2_3D_DeriveZeta(
double xi,
double eta,
double zeta,
148 double mon_x[]={0,0,0,0,0,0,0,0,0,1,0,0,
150 0,0,0,eta,0,0,2*zeta,0,0,
153 double mon_y[]={0,0,0,0,0,0,0,0,0,0,1,0,
155 0,0,0,0,eta,0,0,2*zeta,0,
157 0,eta*eta,eta*2*zeta};
158 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,1,
160 0,0,0,0,0,eta,0,0,2*zeta,
161 xi*xi,xi*eta,xi*2*zeta,
162 eta*eta,eta*2*zeta,3*zeta*zeta};
164 memset(values, 0.0, 3*nBF*SizeOfDouble);
165 for(
int i=0; i<nBF; i++)
167 for(
int j=0; j<nBF; j++)
169 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
170 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
171 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
176 static void N_T_RT2_3D_DeriveXiXi(
double xi,
double eta,
double zeta,
181 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
186 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
191 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
197 memset(values, 0.0, 3*nBF*SizeOfDouble);
198 for(
int i=0; i<nBF; i++)
200 for(
int j=0; j<nBF; j++)
202 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
203 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
204 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
209 static void N_T_RT2_3D_DeriveXiEta(
double xi,
double eta,
double zeta,
214 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
219 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
224 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
230 memset(values, 0.0, 3*nBF*SizeOfDouble);
231 for(
int i=0; i<nBF; i++)
233 for(
int j=0; j<nBF; j++)
235 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
236 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
237 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
242 static void N_T_RT2_3D_DeriveXiZeta(
double xi,
double eta,
double zeta,
247 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
252 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
257 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
263 memset(values, 0.0, 3*nBF*SizeOfDouble);
264 for(
int i=0; i<nBF; i++)
266 for(
int j=0; j<nBF; j++)
268 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
269 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
270 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
275 static void N_T_RT2_3D_DeriveEtaEta(
double xi,
double eta,
double zeta,
280 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
285 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
290 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
296 memset(values, 0.0, 3*nBF*SizeOfDouble);
297 for(
int i=0; i<nBF; i++)
299 for(
int j=0; j<nBF; j++)
301 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
302 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
303 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
308 static void N_T_RT2_3D_DeriveEtaZeta(
double xi,
double eta,
double zeta,
313 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
318 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
323 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
329 memset(values, 0.0, 3*nBF*SizeOfDouble);
330 for(
int i=0; i<nBF; i++)
332 for(
int j=0; j<nBF; j++)
334 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
335 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
336 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
341 static void N_T_RT2_3D_DeriveZetaZeta(
double xi,
double eta,
double zeta,
346 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
351 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
356 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
362 memset(values, 0.0, 3*nBF*SizeOfDouble);
363 for(
int i=0; i<nBF; i++)
365 for(
int j=0; j<nBF; j++)
367 values[i ] += N_T_RT2_3D_CM[i+j*nBF]*mon_x[j];
368 values[i+ nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_y[j];
369 values[i+2*nBF] += N_T_RT2_3D_CM[i+j*nBF]*mon_z[j];
376 N_T_RT2_3D_Funct, N_T_RT2_3D_DeriveXi,
377 N_T_RT2_3D_DeriveEta, N_T_RT2_3D_DeriveZeta,
378 N_T_RT2_3D_DeriveXiXi, N_T_RT2_3D_DeriveXiEta,
379 N_T_RT2_3D_DeriveXiZeta, N_T_RT2_3D_DeriveEtaEta,
380 N_T_RT2_3D_DeriveEtaZeta, N_T_RT2_3D_DeriveZetaZeta,
Definition: BaseFunct3D.h:27