5 static double N_H_RT1_3D_CM[1296] = {
7 0,0,0,0,0,0,0,0,-0.015625,-0.015625,-0.015625,-0.015625,0,0,-0,0,0.015625,0.015625,0.015625,0.015625,0,0,0,0,0.1875,-0,-0,0,0,0,0,0,0,0,0,0,
8 0,0,0,0,0.015625,0.015625,0.015625,0.015625,0,0,0,0,-0.015625,-0.015625,-0.015625,-0.015625,0,0,0,0,0,0,0,0,0,0,0,0,0.1875,-0,-0,0,0,0,0,0,
9 0.015625,0.015625,0.015625,0.015625,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,-0.015625,-0.015625,-0.015625,-0.015625,0,0,0,0,0,0,0,0,0.1875,-0,0,0,
10 0,0,0,0,0,0,0,0,0.03125,0.03125,0.03125,0.03125,0,0,0,0,0.03125,0.03125,0.03125,0.03125,0,0,0,0,-0,0,0,-0,0,0,0,0,0,0,0,0,
11 0,0,0,0,-0.022097087,-0.022097087,0.022097087,0.022097087,0,0,0,0,-0.022097087,-0.022097087,0.022097087,0.022097087,0,0,0,0,0,0,0,0,0,0,0,0,-0,0.5625,-0,-0,0,0,0,0,
12 -0.022097087,0.022097087,-0.022097087,0.022097087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.022097087,0.022097087,-0.022097087,-0.022097087,0,0,0,0,0,0,0,0,-0,0.5625,-0,-0,
13 0,0,0,0,0,0,0,0,0.022097087,0.022097087,-0.022097087,-0.022097087,0,0,0,0,-0.022097087,0.022097087,-0.022097087,0.022097087,0,0,0,0,0,0.5625,0,-0,0,0,0,0,0,0,0,0,
14 0,0,0,0,0.03125,0.03125,0.03125,0.03125,0,0,0,0,0.03125,0.03125,0.03125,0.03125,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,-0,-0,0,0,0,0,
15 -0.022097087,-0.022097087,0.022097087,0.022097087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.022097087,-0.022097087,0.022097087,-0.022097087,0,0,0,0,0,0,0,0,0,-0,0.5625,-0,
16 0,0,0,0,0,0,0,0,0.022097087,-0.022097087,0.022097087,-0.022097087,0,0,0,0,-0.022097087,-0.022097087,0.022097087,0.022097087,0,0,0,0,-0,0,0.5625,-0,0,0,0,0,0,0,0,0,
17 0,0,0,0,-0.022097087,0.022097087,-0.022097087,0.022097087,0,0,0,0,0.022097087,-0.022097087,0.022097087,-0.022097087,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0.5625,-0,0,0,0,0,
18 0.03125,0.03125,0.03125,0.03125,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,0.03125,0.03125,0.03125,0.03125,0,0,0,0,0,0,0,0,0,0,0,0,
19 0,0,0,0,0,0,0,0,0.046875,0.046875,0.046875,0.046875,0,0,-0,0,-0.046875,-0.046875,-0.046875,-0.046875,0,0,0,0,-0.1875,-0,-0,0,0,0,0,0,0,0,0,0,
20 0,0,0,0,-0.046875,-0.046875,-0.046875,-0.046875,0,0,0,0,0.046875,0.046875,0.046875,0.046875,0,0,0,0,0,0,0,0,0,0,0,0,-0.1875,0,0,-0,0,0,0,0,
21 -0.046875,-0.046875,-0.046875,-0.046875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.046875,0.046875,0.046875,0.046875,0,0,0,0,0,0,0,0,-0.1875,0,-0,-0,
22 0,0,0,0,0,0,0,0,-0.044194174,-0.044194174,0.044194174,0.044194174,0,0,-0,0,-0.044194174,0.044194174,-0.044194174,0.044194174,0,0,0,0,0,-0,-0,0,0,0,0,0,0,0,0,0,
23 0,0,0,0,-0.044194174,-0.044194174,0.044194174,0.044194174,0,0,0,0,0.044194174,0.044194174,-0.044194174,-0.044194174,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,0,
24 0.03125,-0.03125,-0.03125,0.03125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.03125,0.03125,0.03125,-0.03125,0,0,0,0,0,0,0,0,0,-0,-0,1.6875,
25 0,0,0,0,0,0,0,0,-0.044194174,0.044194174,-0.044194174,0.044194174,0,0,-0,0,-0.044194174,-0.044194174,0.044194174,0.044194174,0,0,0,0,0,-0,-0,0,0,0,0,0,0,0,0,0,
26 0,0,0,0,0.03125,-0.03125,-0.03125,0.03125,0,0,0,0,0.03125,-0.03125,-0.03125,0.03125,0,0,0,0,0,0,0,0,0,0,0,0,-0,-0,0,1.6875,0,0,0,0,
27 -0.044194174,0.044194174,-0.044194174,0.044194174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.044194174,-0.044194174,0.044194174,0.044194174,0,0,0,0,0,0,0,0,-0,0,0,0,
28 0,0,0,0,0,0,0,0,-0.03125,0.03125,0.03125,-0.03125,0,0,-0,0,0.03125,-0.03125,-0.03125,0.03125,0,0,0,0,0,-0,-0,1.6875,0,0,0,0,0,0,0,0,
29 0,0,0,0,-0.044194174,0.044194174,-0.044194174,0.044194174,0,0,0,0,-0.044194174,0.044194174,-0.044194174,0.044194174,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,0,
30 -0.044194174,-0.044194174,0.044194174,0.044194174,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,-0.044194174,0.044194174,-0.044194174,0.044194174,0,0,0,0,0,0,0,0,-0,0,0,0,
31 0,0,0,0,0,0,0,0,-0.066291261,-0.066291261,0.066291261,0.066291261,0,0,-0,0,0.066291261,-0.066291261,0.066291261,-0.066291261,0,0,0,0,0,-0.5625,-0,0,0,0,0,0,0,0,0,0,
32 0,0,0,0,0.066291261,0.066291261,-0.066291261,-0.066291261,0,0,0,0,0.066291261,0.066291261,-0.066291261,-0.066291261,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.5625,0,0,0,0,0,0,
33 0.066291261,-0.066291261,0.066291261,-0.066291261,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,-0.066291261,-0.066291261,0.066291261,0.066291261,0,0,0,0,0,0,0,0,0,-0.5625,0,0,
34 0,0,0,0,0,0,0,0,-0.066291261,0.066291261,-0.066291261,0.066291261,0,0,-0,0,0.066291261,0.066291261,-0.066291261,-0.066291261,0,0,0,0,-0,-0,-0.5625,0,0,0,0,0,0,0,0,0,
35 0,0,0,0,0.066291261,-0.066291261,0.066291261,-0.066291261,0,0,0,0,-0.066291261,0.066291261,-0.066291261,0.066291261,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,-0.5625,0,0,0,0,0,
36 0.066291261,0.066291261,-0.066291261,-0.066291261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.066291261,0.066291261,-0.066291261,0.066291261,0,0,0,0,0,0,0,0,-0,0,-0.5625,0,
37 0,0,0,0,0,0,0,0,0.0625,-0.0625,-0.0625,0.0625,0,0,0,0,0.0625,-0.0625,-0.0625,0.0625,0,0,0,0,-0,0,0,-0,0,0,0,0,0,0,0,0,
38 0,0,0,0,0.0625,-0.0625,-0.0625,0.0625,0,0,0,0,-0.0625,0.0625,0.0625,-0.0625,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,-0,-0,0,0,0,0,
39 0.0625,-0.0625,-0.0625,0.0625,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0625,-0.0625,-0.0625,0.0625,0,0,0,-0,0,0,0,-0,0,0,0,-0,
40 0,0,0,0,0,0,0,0,0.09375,-0.09375,-0.09375,0.09375,0,0,0,0,-0.09375,0.09375,0.09375,-0.09375,0,0,0,0,0,0,0,-1.6875,0,0,0,-0,0,0,0,-0,
41 0,0,0,0,-0.09375,0.09375,0.09375,-0.09375,0,0,0,0,-0.09375,0.09375,0.09375,-0.09375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,-1.6875,0,0,0,-0,
42 -0.09375,0.09375,0.09375,-0.09375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09375,-0.09375,-0.09375,0.09375,0,0,0,0,0,0,0,0,-0,0,0,-1.6875
45 static void N_H_RT1_3D_Funct(
double xi,
double eta,
double zeta,
50 double mon_x[]={1,0,0,xi,0,0,eta,0,0,zeta,0,0,
51 xi*xi,0,0,xi*eta,0,0,xi*zeta,0,0,eta*zeta,0,0,
52 xi*xi*eta,0,0,xi*xi*zeta,0,0,xi*eta*zeta,0,0,
54 double mon_y[]={0,1,0,0,xi,0,0,eta,0,0,zeta,0,
55 0,eta*eta,0,0,xi*eta,0,0,xi*zeta,0,0,eta*zeta,0,
56 0,xi*eta*eta,0,0,eta*eta*zeta,0,0,xi*eta*zeta,0,
58 double mon_z[]={0,0,1,0,0,xi,0,0,eta,0,0,zeta,
59 0,0,zeta*zeta,0,0,xi*eta,0,0,xi*zeta,0,0,eta*zeta,
60 0,0,xi*zeta*zeta,0,0,eta*zeta*zeta,0,0,xi*eta*zeta,
61 0,0,xi*eta*zeta*zeta};
63 memset(values, 0.0, 3*nBF*SizeOfDouble);
64 for(
int i=0; i<nBF; i++)
66 for(
int j=0; j<nBF; j++)
68 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
69 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
70 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
75 static void N_H_RT1_3D_DeriveXi(
double xi,
double eta,
double zeta,
80 double mon_x[]={0,0,0,1,0,0,0,0,0,0,0,0,
81 2*xi,0,0,eta,0,0,zeta,0,0,0,0,0,
82 2*xi*eta,0,0,2*xi*zeta,0,0,eta*zeta,0,0,
84 double mon_y[]={0,0,0,0,1,0,0,0,0,0,0,0,
85 0,0,0,0,eta,0,0,zeta,0,0,0,0,
86 0,eta*eta,0,0,0,0,0,eta*zeta,0,
88 double mon_z[]={0,0,0,0,0,1,0,0,0,0,0,0,
89 0,0,0,0,0,eta,0,0,zeta,0,0,0,
90 0,0,zeta*zeta,0,0,0,0,0,eta*zeta,
93 memset(values, 0.0, 3*nBF*SizeOfDouble);
94 for(
int i=0; i<nBF; i++)
96 for(
int j=0; j<nBF; j++)
98 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
99 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
100 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
105 static void N_H_RT1_3D_DeriveEta(
double xi,
double eta,
double zeta,
110 double mon_x[]={0,0,0,0,0,0,1,0,0,0,0,0,
111 0,0,0,xi,0,0,0,0,0,zeta,0,0,
112 xi*xi,0,0,0,0,0,xi*zeta,0,0,
114 double mon_y[]={0,0,0,0,0,0,0,1,0,0,0,0,
115 0,2*eta,0,0,xi,0,0,0,0,0,zeta,0,
116 0,xi*2*eta,0,0,2*eta*zeta,0,0,xi*zeta,0,
118 double mon_z[]={0,0,0,0,0,0,0,0,1,0,0,0,
119 0,0,0,0,0,xi,0,0,0,0,0,zeta,
120 0,0,0,0,0,zeta*zeta,0,0,xi*zeta,
123 memset(values, 0.0, 3*nBF*SizeOfDouble);
124 for(
int i=0; i<nBF; i++)
126 for(
int j=0; j<nBF; j++)
128 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
129 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
130 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
135 static void N_H_RT1_3D_DeriveZeta(
double xi,
double eta,
double zeta,
140 double mon_x[]={0,0,0,0,0,0,0,0,0,1,0,0,
141 0,0,0,0,0,0,xi,0,0,eta,0,0,
142 0,0,0,xi*xi,0,0,xi*eta,0,0,
144 double mon_y[]={0,0,0,0,0,0,0,0,0,0,1,0,
145 0,0,0,0,0,0,0,xi,0,0,eta,0,
146 0,0,0,0,eta*eta,0,0,xi*eta,0,
148 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,1,
149 0,0,2*zeta,0,0,0,0,0,xi,0,0,eta,
150 0,0,xi*2*zeta,0,0,eta*2*zeta,0,0,xi*eta,
153 memset(values, 0.0, 3*nBF*SizeOfDouble);
154 for(
int i=0; i<nBF; i++)
156 for(
int j=0; j<nBF; j++)
158 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
159 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
160 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
165 static void N_H_RT1_3D_DeriveXiXi(
double xi,
double eta,
double zeta,
170 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
171 2,0,0,0,0,0,0,0,0,0,0,0,
172 2*eta,0,0,2*zeta,0,0,0,0,0,
174 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
175 0,0,0,0,0,0,0,0,0,0,0,0,
178 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
179 0,0,0,0,0,0,0,0,0,0,0,0,
183 memset(values, 0.0, 3*nBF*SizeOfDouble);
184 for(
int i=0; i<nBF; i++)
186 for(
int j=0; j<nBF; j++)
188 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
189 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
190 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
195 static void N_H_RT1_3D_DeriveXiEta(
double xi,
double eta,
double zeta,
200 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
201 0,0,0,1,0,0,0,0,0,0,0,0,
202 2*xi,0,0,0,0,0,zeta,0,0,
204 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
205 0,0,0,0,1,0,0,0,0,0,0,0,
206 0,2*eta,0,0,0,0,0,zeta,0,
208 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
209 0,0,0,0,0,1,0,0,0,0,0,0,
210 0,0,0,0,0,0,0,0,zeta,
213 memset(values, 0.0, 3*nBF*SizeOfDouble);
214 for(
int i=0; i<nBF; i++)
216 for(
int j=0; j<nBF; j++)
218 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
219 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
220 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
225 static void N_H_RT1_3D_DeriveXiZeta(
double xi,
double eta,
double zeta,
230 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
231 0,0,0,0,0,0,1,0,0,0,0,0,
232 0,0,0,2*xi,0,0,eta,0,0,
234 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
235 0,0,0,0,0,0,0,1,0,0,0,0,
238 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
239 0,0,0,0,0,0,0,0,1,0,0,0,
240 0,0,2*zeta,0,0,0,0,0,eta,
243 memset(values, 0.0, 3*nBF*SizeOfDouble);
244 for(
int i=0; i<nBF; i++)
246 for(
int j=0; j<nBF; j++)
248 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
249 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
250 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
255 static void N_H_RT1_3D_DeriveEtaEta(
double xi,
double eta,
double zeta,
260 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
261 0,0,0,0,0,0,0,0,0,0,0,0,
264 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
265 0,2,0,0,0,0,0,0,0,0,0,0,
266 0,xi*2,0,0,2*zeta,0,0,0,0,
268 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
269 0,0,0,0,0,0,0,0,0,0,0,0,
273 memset(values, 0.0, 3*nBF*SizeOfDouble);
274 for(
int i=0; i<nBF; i++)
276 for(
int j=0; j<nBF; j++)
278 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
279 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
280 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
285 static void N_H_RT1_3D_DeriveEtaZeta(
double xi,
double eta,
double zeta,
290 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
291 0,0,0,0,0,0,0,0,0,1,0,0,
294 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
295 0,0,0,0,0,0,0,0,0,0,1,0,
296 0,0,0,0,2*eta,0,0,xi,0,
298 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
299 0,0,0,0,0,0,0,0,0,0,0,1,
300 0,0,0,0,0,2*zeta,0,0,xi,
303 memset(values, 0.0, 3*nBF*SizeOfDouble);
304 for(
int i=0; i<nBF; i++)
306 for(
int j=0; j<nBF; j++)
308 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
309 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
310 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
315 static void N_H_RT1_3D_DeriveZetaZeta(
double xi,
double eta,
double zeta,
320 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
321 0,0,0,0,0,0,0,0,0,0,0,0,
324 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
325 0,0,0,0,0,0,0,0,0,0,0,0,
328 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
329 0,0,2,0,0,0,0,0,0,0,0,0,
330 0,0,xi*2,0,0,eta*2,0,0,0,
333 memset(values, 0.0, 3*nBF*SizeOfDouble);
334 for(
int i=0; i<nBF; i++)
336 for(
int j=0; j<nBF; j++)
338 values[i ] += N_H_RT1_3D_CM[i+j*nBF]*mon_x[j];
339 values[i+ nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_y[j];
340 values[i+2*nBF] += N_H_RT1_3D_CM[i+j*nBF]*mon_z[j];
347 N_H_RT1_3D_Funct, N_H_RT1_3D_DeriveXi,
348 N_H_RT1_3D_DeriveEta, N_H_RT1_3D_DeriveZeta,
349 N_H_RT1_3D_DeriveXiXi, N_H_RT1_3D_DeriveXiEta,
350 N_H_RT1_3D_DeriveXiZeta, N_H_RT1_3D_DeriveEtaEta,
351 N_H_RT1_3D_DeriveEtaZeta, N_H_RT1_3D_DeriveZetaZeta,
Definition: BaseFunct3D.h:27