5 static double N_H_BDDF1_3D_CM[324] = {
7 -0.0441941738,0.0441941738,0,-0.0441941738,-0,0.0441941738,0,0.0625,0.0625,-0.0441941738,0,0.0441941738,0,-0.0625,-0.0625,-0.0441941738,0,0.0441941738,
8 -0.0441941738,0,0.0441941738,0,-0.0625,-0.0625,-0.0441941738,0,0.0441941738,0,0.0625,0.0625,-0.0441941738,0.0441941738,0,-0.0441941738,0.0441941738,-0,
9 0,-0.0625,-0.0625,-0.0441941738,0.0441941738,0,-0.0441941738,0.0441941738,0,-0.0441941738,0.0441941738,0,-0.0441941738,-0,0.0441941738,0,0.0625,0.0625,
10 0,0,0,0,-0,0,0,0.0625,0.0625,0,0,0,0,0.0625,0.0625,0,0,-0,
11 0,0,0,0.0883883476,-0,-0.0883883476,0,0,0,-0.0883883476,0,0.0883883476,0,0,0,0,0,-0,
12 0.0883883476,-0.0883883476,0,0,-0,0,0,0,0,0,0,0,0,0,0,-0.0883883476,0,0.0883883476,
13 0,0,0,0,-0,0,-0.0883883476,0,0.0883883476,0,0,0,0.0883883476,-0.0883883476,0,0,0,-0,
14 0,0,0,0,0.0625,0.0625,0,0,0,0,0.0625,0.0625,0,-0,0,0,0,0,
15 0.0883883476,0,-0.0883883476,0,-0,0,0,0,0,0,0,0,0,0,0,-0.0883883476,0.0883883476,-0,
16 0,0,0,0,-0,0,-0.0883883476,0.0883883476,0,0,0,0,0.0883883476,0,-0.0883883476,0,0,-0,
17 0,0,0,0.0883883476,-0.0883883476,0,0,0,0,-0.0883883476,0.0883883476,0,0,0,0,0,0,-0,
18 0,0.0625,0.0625,0,-0,0,0,0,0,0,0,0,0,0,0,0,0.0625,0.0625,
19 0,0,0,0.0441941738,-0,-0.0441941738,0,0,0,0.0441941738,0,-0.0441941738,0,0,0,0,0,-0,
20 0,0,0,0,-0,0,0.0441941738,-0.0441941738,0,0,0,0,0.0441941738,0,-0.0441941738,0,0,-0,
21 0.0441941738,0,-0.0441941738,0,-0,0,0,0,0,0,0,0,0,0,0,0.0441941738,-0.0441941738,-0,
22 0,0,0,0,-0,0,-0.0441941738,0,0.0441941738,0,0,0,-0.0441941738,0.0441941738,0,0,0,-0,
23 -0.0441941738,0.0441941738,0,0,-0,0,0,0,0,0,0,0,0,0,0,-0.0441941738,0,0.0441941738,
24 0,0,0,-0.0441941738,0.0441941738,0,0,0,0,-0.0441941738,0.0441941738,0,0,0,0,0,0,0
27 static void N_H_BDDF1_3D_Funct(
double xi,
double eta,
double zeta,
32 double mon_x[]={1,0,0,xi,0,0,eta,0,0,zeta,0,0,
33 xi*xi,-2*xi*zeta,0,2*xi*eta,-xi*xi,0};
34 double mon_y[]={0,1,0,0,xi,0,0,eta,0,0,zeta,0,
35 -2*xi*eta,0,eta*eta,-eta*eta,0,2*eta*zeta};
36 double mon_z[]={0,0,1,0,0,xi,0,0,eta,0,0,zeta,
37 0,zeta*zeta,-2*eta*zeta,0,2*xi*zeta,-zeta*zeta};
39 memset(values, 0.0, 3*nBF*SizeOfDouble);
40 for(
int i=0; i<nBF; i++)
42 for(
int j=0; j<nBF; j++)
44 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
45 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
46 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
51 static void N_H_BDDF1_3D_DeriveXi(
double xi,
double eta,
double zeta,
56 double mon_x[]={0,0,0,1,0,0,0,0,0,0,0,0, 2*xi,-2*zeta,0,2*eta,-2*xi,0};
57 double mon_y[]={0,0,0,0,1,0,0,0,0,0,0,0, -2*eta,0,0,0,0,0};
58 double mon_z[]={0,0,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,2*zeta,0};
60 memset(values, 0.0, 3*nBF*SizeOfDouble);
61 for(
int i=0; i<nBF; i++)
63 for(
int j=0; j<nBF; j++)
65 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
66 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
67 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
72 static void N_H_BDDF1_3D_DeriveEta(
double xi,
double eta,
double zeta,
77 double mon_x[]={0,0,0,0,0,0,1,0,0,0,0,0, 0,0,0,2*xi,0,0};
78 double mon_y[]={0,0,0,0,0,0,0,1,0,0,0,0, -2*xi,0,2*eta,-2*eta,0,2*zeta};
79 double mon_z[]={0,0,0,0,0,0,0,0,1,0,0,0, 0,0,-2*zeta,0,0,0};
81 memset(values, 0.0, 3*nBF*SizeOfDouble);
82 for(
int i=0; i<nBF; i++)
84 for(
int j=0; j<nBF; j++)
86 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
87 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
88 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
93 static void N_H_BDDF1_3D_DeriveZeta(
double xi,
double eta,
double zeta,
98 double mon_x[]={0,0,0,0,0,0,0,0,0,1,0,0, 0,-2*xi,0,0,0,0};
99 double mon_y[]={0,0,0,0,0,0,0,0,0,0,1,0, 0,0,0,0,0,2*eta};
100 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,1, 0,2*zeta,-2*eta,0,2*xi,-2*zeta};
102 memset(values, 0.0, 3*nBF*SizeOfDouble);
103 for(
int i=0; i<nBF; i++)
105 for(
int j=0; j<nBF; j++)
107 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
108 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
109 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
114 static void N_H_BDDF1_3D_DeriveXiXi(
double xi,
double eta,
double zeta,
119 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0, 2,0,0,0,-2,0};
120 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
121 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
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_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
129 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
130 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
135 static void N_H_BDDF1_3D_DeriveXiEta(
double xi,
double eta,
double zeta,
140 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,2,0,0};
141 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0};
142 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
144 memset(values, 0.0, 3*nBF*SizeOfDouble);
145 for(
int i=0; i<nBF; i++)
147 for(
int j=0; j<nBF; j++)
149 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
150 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
151 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
156 static void N_H_BDDF1_3D_DeriveXiZeta(
double xi,
double eta,
double zeta,
161 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,-2,0,0,0,0};
162 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
163 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,2,0};
165 memset(values, 0.0, 3*nBF*SizeOfDouble);
166 for(
int i=0; i<nBF; i++)
168 for(
int j=0; j<nBF; j++)
170 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
171 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
172 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
177 static void N_H_BDDF1_3D_DeriveEtaEta(
double xi,
double eta,
double zeta,
182 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
183 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,2,-2,0,0};
184 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
186 memset(values, 0.0, 3*nBF*SizeOfDouble);
187 for(
int i=0; i<nBF; i++)
189 for(
int j=0; j<nBF; j++)
191 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
192 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
193 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
198 static void N_H_BDDF1_3D_DeriveEtaZeta(
double xi,
double eta,
double zeta,
203 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
204 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,2};
205 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,-2,0,0,0};
207 memset(values, 0.0, 3*nBF*SizeOfDouble);
208 for(
int i=0; i<nBF; i++)
210 for(
int j=0; j<nBF; j++)
212 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
213 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
214 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
219 static void N_H_BDDF1_3D_DeriveZetaZeta(
double xi,
double eta,
double zeta,
224 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
225 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0};
226 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0, 0,2,0,0,0,-2};
228 memset(values, 0.0, 3*nBF*SizeOfDouble);
229 for(
int i=0; i<nBF; i++)
231 for(
int j=0; j<nBF; j++)
233 values[i ] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_x[j];
234 values[i+ nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_y[j];
235 values[i+2*nBF] += N_H_BDDF1_3D_CM[i+j*nBF]*mon_z[j];
242 N_H_BDDF1_3D_Funct, N_H_BDDF1_3D_DeriveXi,
243 N_H_BDDF1_3D_DeriveEta, N_H_BDDF1_3D_DeriveZeta,
244 N_H_BDDF1_3D_DeriveXiXi, N_H_BDDF1_3D_DeriveXiEta,
245 N_H_BDDF1_3D_DeriveXiZeta, N_H_BDDF1_3D_DeriveEtaEta,
246 N_H_BDDF1_3D_DeriveEtaZeta, N_H_BDDF1_3D_DeriveZetaZeta,
Definition: BaseFunct3D.h:27