5 static double N_T_BDDF2_3D_CM[900] = {
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,
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,
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,
9 -2.25,5,-2.75,0.9999999997,-1,5e-10,-2.250000001,1,-2e-10,5,-0.9999999999,-2.75,-1.499999999,0.9999999997,-4,0.9999999996,1,-1.5,17.5,-8.000000001,3.250000001,-8,-6e-10,3.25,72,24,24,504,504,-3.56e-08,
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,
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,
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,
13 -2.249999998,0.9999999992,2e-10,4.999999999,-0.9999999996,-2.75,17.5,-7.999999999,3.25,-8,-1e-10,3.25,-4.000000001,1.000000001,-1.500000001,0.9999999999,1.000000001,-1.500000001,-2.250000001,5.000000001,-2.750000001,1.000000001,-1,-5e-10,24.00000001,72.00000001,24.00000001,-504.0000001,-6.31e-08,503.9999998,
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,
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,
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,
17 17.5,-7.999999999,3.25,-7.999999999,-2e-10,3.25,-2.25,4.999999999,-2.75,0.9999999999,-1,-0,-1.5,0.9999999997,-1.499999999,1.000000001,0.9999999993,-3.999999999,-2.249999999,0.9999999995,-1e-10,4.999999999,-0.9999999991,-2.749999999,23.99999999,23.99999999,71.99999999,3.05e-08,-503.9999999,-503.9999998,
18 3.25,-9,8.75,3e-10,-3,0.9999999995,3.250000001,-4e-10,1,-9,-3,8.75,2.499999999,-5,10,4e-10,-5,2.5,-11.5,4.000000001,-2.250000001,4,1.000000001,-2.25,-72,-24,-24,-504,-504,3.56e-08,
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,
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,
21 3.249999998,-4.5,-1.375,-4.499999998,9.500000001,-1.375000002,1.500000001,-0.500000001,-0.6249999997,-2.5,1.5,-2.375,-1.5e-09,7.500000001,-1e-10,-2.499999999,-2.5,2.5,-22.25,22.5,-3.625000002,4.499999999,-3.499999998,-0.6250000001,-48,-48,-24,-1260,-252,-251.9999999,
22 3.249999999,-4.499999999,-1.375,-4.500000001,9.499999999,-1.374999999,-22.25,4.5,-0.6250000001,22.5,-3.5,-3.625,1.7e-09,7.499999999,6e-10,-2.500000001,-2.5,2.500000001,1.500000001,-2.500000003,-2.374999998,-0.5,1.499999999,-0.6249999994,-48.00000001,-48.00000001,-24.00000001,1260,-252,-251.9999999,
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,
24 1.500000001,-2.5,-2.375,-0.500000001,1.5,-0.625,3.25,-4.5,-1.375,-4.5,9.5,-1.375,2.5,-2.5,-2e-10,-2.5,7.5,-1e-10,-22.25,4.500000001,-0.6250000004,22.5,-3.5,-3.625,-48,-24,-48,-252,-1260,252,
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,
26 -22.25,22.5,-3.625,4.5,-3.5,-0.6250000004,3.25,-4.499999999,-1.375,-4.5,9.5,-1.375,2.499999999,-2.5,-4e-10,-2.5,7.500000001,-7e-10,1.499999999,-0.4999999994,-0.6250000004,-2.499999999,1.5,-2.375000001,-48,-23.99999999,-47.99999999,-252,1260,251.9999999,
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,
28 3.249999998,8e-10,0.9999999998,-8.999999999,-3,8.75,-11.5,3.999999999,-2.25,4,1,-2.25,10,-5.000000001,2.500000001,-5,-5e-10,2.500000001,3.250000001,-9.000000001,8.750000001,-9e-10,-3,1.000000001,-24.00000001,-72.00000001,-24.00000001,504.0000001,6.31e-08,-503.9999998,
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,
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,
31 1.499999994,-0.499999998,-0.6250000007,-2.499999996,1.499999999,-2.375,-22.25,22.5,-3.625,4.5,-3.5,-0.6250000001,7e-10,-2.500000001,2.500000001,7.500000001,-2.500000001,1.6e-09,3.250000002,-4.500000002,-1.375,-4.500000003,9.500000002,-1.374999999,-24.00000001,-48.00000002,-48.00000003,252.0000001,252.0000002,-1260,
32 -22.24999999,4.499999998,-0.6249999992,22.5,-3.5,-3.624999999,1.499999999,-2.499999998,-2.375,-0.4999999997,1.5,-0.625,-1e-10,-2.499999999,2.499999999,7.499999998,-2.499999998,-1.6e-09,3.249999999,-4.499999999,-1.374999999,-4.499999997,9.499999997,-1.375000001,-23.99999999,-47.99999998,-47.99999997,251.9999999,251.9999998,1260,
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,
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,
35 -11.5,3.999999999,-2.25,3.999999999,1,-2.25,3.25,-8.999999999,8.75,1e-10,-3,1,2.5,3e-10,2.499999999,-5.000000001,-4.999999999,9.999999999,3.249999999,5e-10,1,-8.999999999,-3.000000001,8.749999999,-23.99999999,-23.99999999,-71.99999999,-3.05e-08,503.9999999,503.9999998
38 static void N_T_BDDF2_3D_Funct(
double xi,
double eta,
double zeta,
43 double mon_x[]={1,0,0,xi,0,0,eta,0,0,zeta,0,0,
44 xi*xi,0,0,xi*eta,0,0,xi*zeta,0,0,
45 eta*eta,0,0,eta*zeta,0,0,zeta*zeta,0,0};
46 double mon_y[]={0,1,0,0,xi,0,0,eta,0,0,zeta,0,
47 0,xi*xi,0,0,xi*eta,0,0,xi*zeta,0,
48 0,eta*eta,0,0,eta*zeta,0,0,zeta*zeta,0};
49 double mon_z[]={0,0,1,0,0,xi,0,0,eta,0,0,zeta,
50 0,0,xi*xi,0,0,xi*eta,0,0,xi*zeta,
51 0,0,eta*eta,0,0,eta*zeta,0,0,zeta*zeta};
53 memset(values, 0.0, 3*nBF*SizeOfDouble);
54 for(
int i=0; i<nBF; i++)
56 for(
int j=0; j<nBF; j++)
58 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
59 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
60 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
65 static void N_T_BDDF2_3D_DeriveXi(
double xi,
double eta,
double zeta,
70 double mon_x[]={0,0,0,1,0,0,0,0,0,0,0,0,
71 2*xi,0,0,eta,0,0,zeta,0,0,
73 double mon_y[]={0,0,0,0,1,0,0,0,0,0,0,0,
74 0,2*xi,0,0,eta,0,0,zeta,0,
76 double mon_z[]={0,0,0,0,0,1,0,0,0,0,0,0,
77 0,0,2*xi,0,0,eta,0,0,zeta,
80 memset(values, 0.0, 3*nBF*SizeOfDouble);
81 for(
int i=0; i<nBF; i++)
83 for(
int j=0; j<nBF; j++)
85 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
86 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
87 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
92 static void N_T_BDDF2_3D_DeriveEta(
double xi,
double eta,
double zeta,
97 double mon_x[]={0,0,0,0,0,0,1,0,0,0,0,0,
99 2*eta,0,0,zeta,0,0,0,0,0};
100 double mon_y[]={0,0,0,0,0,0,0,1,0,0,0,0,
102 0,2*eta,0,0,zeta,0,0,0,0};
103 double mon_z[]={0,0,0,0,0,0,0,0,1,0,0,0,
105 0,0,2*eta,0,0,zeta,0,0,0};
107 memset(values, 0.0, 3*nBF*SizeOfDouble);
108 for(
int i=0; i<nBF; i++)
110 for(
int j=0; j<nBF; j++)
112 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
113 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
114 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
119 static void N_T_BDDF2_3D_DeriveZeta(
double xi,
double eta,
double zeta,
124 double mon_x[]={0,0,0,0,0,0,0,0,0,1,0,0,
126 0,0,0,eta,0,0,2*zeta,0,0};
127 double mon_y[]={0,0,0,0,0,0,0,0,0,0,1,0,
129 0,0,0,0,eta,0,0,2*zeta,0};
130 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,1,
132 0,0,0,0,0,eta,0,0,2*zeta};
134 memset(values, 0.0, 3*nBF*SizeOfDouble);
135 for(
int i=0; i<nBF; i++)
137 for(
int j=0; j<nBF; j++)
139 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
140 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
141 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
146 static void N_T_BDDF2_3D_DeriveXiXi(
double xi,
double eta,
double zeta,
151 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
154 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
157 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
161 memset(values, 0.0, 3*nBF*SizeOfDouble);
162 for(
int i=0; i<nBF; i++)
164 for(
int j=0; j<nBF; j++)
166 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
167 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
168 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
173 static void N_T_BDDF2_3D_DeriveXiEta(
double xi,
double eta,
double zeta,
178 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
181 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
184 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
188 memset(values, 0.0, 3*nBF*SizeOfDouble);
189 for(
int i=0; i<nBF; i++)
191 for(
int j=0; j<nBF; j++)
193 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
194 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
195 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
200 static void N_T_BDDF2_3D_DeriveXiZeta(
double xi,
double eta,
double zeta,
205 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
208 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
211 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
215 memset(values, 0.0, 3*nBF*SizeOfDouble);
216 for(
int i=0; i<nBF; i++)
218 for(
int j=0; j<nBF; j++)
220 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
221 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
222 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
227 static void N_T_BDDF2_3D_DeriveEtaEta(
double xi,
double eta,
double zeta,
232 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
235 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
238 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
242 memset(values, 0.0, 3*nBF*SizeOfDouble);
243 for(
int i=0; i<nBF; i++)
245 for(
int j=0; j<nBF; j++)
247 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
248 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
249 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
254 static void N_T_BDDF2_3D_DeriveEtaZeta(
double xi,
double eta,
double zeta,
259 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
262 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
265 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
269 memset(values, 0.0, 3*nBF*SizeOfDouble);
270 for(
int i=0; i<nBF; i++)
272 for(
int j=0; j<nBF; j++)
274 values[i ] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
275 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
276 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
281 static void N_T_BDDF2_3D_DeriveZetaZeta(
double xi,
double eta,
double zeta,
286 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
289 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
292 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_BDDF2_3D_CM[i+j*nBF]*mon_x[j];
302 values[i+ nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_y[j];
303 values[i+2*nBF] += N_T_BDDF2_3D_CM[i+j*nBF]*mon_z[j];
309 new TBaseFunct3D(30, BF_N_T_BDDF2_3D, BFUnitTetrahedron,
310 N_T_BDDF2_3D_Funct, N_T_BDDF2_3D_DeriveXi,
311 N_T_BDDF2_3D_DeriveEta, N_T_BDDF2_3D_DeriveZeta,
312 N_T_BDDF2_3D_DeriveXiXi, N_T_BDDF2_3D_DeriveXiEta,
313 N_T_BDDF2_3D_DeriveXiZeta, N_T_BDDF2_3D_DeriveEtaEta,
314 N_T_BDDF2_3D_DeriveEtaZeta, N_T_BDDF2_3D_DeriveZetaZeta,
Definition: BaseFunct3D.h:27