5 static double N_T_RT1_3D_CM[225] = {
6 0,-0,-0,0,0,-0,-0,0,-0,-1.6666667,0.33333333,0.33333333,0,0,0,
7 0,0,0,-1.6666667,0.33333333,0.33333333,0,-0,0,0,0,0,0,0,0,
8 -1.6666667,0.33333333,0.33333333,0,0,0,0,0,0,0,0,0,0,0,0,
9 2.1666667,-0.83333333,-0.33333333,2.1666667,-0.33333333,-0.83333333,-1.1666667,-1.6666667,-1.1666667,5,0.5,0.5,60,30,30,
10 0,0,0,2,0,-2,0,0,0,0,0,0,0,0,0,
11 2,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,
12 0,0,-0,0,0,0,-0,-0,-0,2,-2,-0,0,0,0,
13 2.1666667,-0.33333333,-0.83333333,5,0.5,0.5,-1.6666667,-1.1666667,-1.1666667,2.1666667,-0.83333333,-0.33333333,30,60,30,
14 2,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,
15 0,0,0,0,0,0,0,0,0,2,0,-2,0,0,0,
16 0,0,0,2,-2,0,0,0,0,0,0,0,0,0,0,
17 5,0.5,0.5,2.1666667,-0.83333333,-0.33333333,-1.1666667,-1.1666667,-1.6666667,2.1666667,-0.33333333,-0.83333333,30,30,60,
18 -2.5,2.5,0,-2.5,0,2.5,0.83333333,3.3333333,0.83333333,-3.3333333,-0.83333333,-0.83333333,-60,-30,-30,
19 -2.5,-0,2.5,-3.3333333,-0.83333333,-0.83333333,3.3333333,0.83333333,0.83333333,-2.5,2.5,0,-30,-60,-30,
20 -3.3333333,-0.83333333,-0.83333333,-2.5,2.5,0,0.83333333,0.83333333,3.3333333,-2.5,-0,2.5,-30,-30,-60
23 static void N_T_RT1_3D_Funct(
double xi,
double eta,
double zeta,
28 double mon_x[]={1,0,0,xi,0,0,eta,0,0,zeta,0,0,
29 xi*xi,xi*eta,xi*zeta};
30 double mon_y[]={0,1,0,0,xi,0,0,eta,0,0,zeta,0,
31 xi*eta,eta*eta,eta*zeta};
32 double mon_z[]={0,0,1,0,0,xi,0,0,eta,0,0,zeta,
33 xi*zeta,eta*zeta,zeta*zeta};
35 memset(values, 0.0, 3*nBF*SizeOfDouble);
36 for(
int i=0; i<nBF; i++)
38 for(
int j=0; j<nBF; j++)
40 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
41 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
42 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
47 static void N_T_RT1_3D_DeriveXi(
double xi,
double eta,
double zeta,
52 double mon_x[]={0,0,0,1,0,0,0,0,0,0,0,0,
54 double mon_y[]={0,0,0,0,1,0,0,0,0,0,0,0,
56 double mon_z[]={0,0,0,0,0,1,0,0,0,0,0,0,
59 memset(values, 0.0, 3*nBF*SizeOfDouble);
60 for(
int i=0; i<nBF; i++)
62 for(
int j=0; j<nBF; j++)
64 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
65 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
66 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
71 static void N_T_RT1_3D_DeriveEta(
double xi,
double eta,
double zeta,
76 double mon_x[]={0,0,0,0,0,0,1,0,0,0,0,0,
78 double mon_y[]={0,0,0,0,0,0,0,1,0,0,0,0,
80 double mon_z[]={0,0,0,0,0,0,0,0,1,0,0,0,
83 memset(values, 0.0, 3*nBF*SizeOfDouble);
84 for(
int i=0; i<nBF; i++)
86 for(
int j=0; j<nBF; j++)
88 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
89 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
90 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
95 static void N_T_RT1_3D_DeriveZeta(
double xi,
double eta,
double zeta,
100 double mon_x[]={0,0,0,0,0,0,0,0,0,1,0,0,
102 double mon_y[]={0,0,0,0,0,0,0,0,0,0,1,0,
104 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,1,
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_RT1_3D_CM[i+j*nBF]*mon_x[j];
113 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
114 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
119 static void N_T_RT1_3D_DeriveXiXi(
double xi,
double eta,
double zeta,
124 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
126 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
128 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,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_RT1_3D_CM[i+j*nBF]*mon_x[j];
137 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
138 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
143 static void N_T_RT1_3D_DeriveXiEta(
double xi,
double eta,
double zeta,
148 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
150 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
152 double mon_z[]={0,0,0,0,0,1,0,0,0,0,0,0,
155 memset(values, 0.0, 3*nBF*SizeOfDouble);
156 for(
int i=0; i<nBF; i++)
158 for(
int j=0; j<nBF; j++)
160 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
161 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
162 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
167 static void N_T_RT1_3D_DeriveXiZeta(
double xi,
double eta,
double zeta,
172 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
174 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
176 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
179 memset(values, 0.0, 3*nBF*SizeOfDouble);
180 for(
int i=0; i<nBF; i++)
182 for(
int j=0; j<nBF; j++)
184 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
185 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
186 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
191 static void N_T_RT1_3D_DeriveEtaEta(
double xi,
double eta,
double zeta,
196 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
198 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
200 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
203 memset(values, 0.0, 3*nBF*SizeOfDouble);
204 for(
int i=0; i<nBF; i++)
206 for(
int j=0; j<nBF; j++)
208 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
209 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
210 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
215 static void N_T_RT1_3D_DeriveEtaZeta(
double xi,
double eta,
double zeta,
220 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
222 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,
227 memset(values, 0.0, 3*nBF*SizeOfDouble);
228 for(
int i=0; i<nBF; i++)
230 for(
int j=0; j<nBF; j++)
232 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
233 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
234 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
239 static void N_T_RT1_3D_DeriveZetaZeta(
double xi,
double eta,
double zeta,
244 double mon_x[]={0,0,0,0,0,0,0,0,0,0,0,0,
246 double mon_y[]={0,0,0,0,0,0,0,0,0,0,0,0,
248 double mon_z[]={0,0,0,0,0,0,0,0,0,0,0,0,
251 memset(values, 0.0, 3*nBF*SizeOfDouble);
252 for(
int i=0; i<nBF; i++)
254 for(
int j=0; j<nBF; j++)
256 values[i ] += N_T_RT1_3D_CM[i+j*nBF]*mon_x[j];
257 values[i+ nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_y[j];
258 values[i+2*nBF] += N_T_RT1_3D_CM[i+j*nBF]*mon_z[j];
265 N_T_RT1_3D_Funct, N_T_RT1_3D_DeriveXi,
266 N_T_RT1_3D_DeriveEta, N_T_RT1_3D_DeriveZeta,
267 N_T_RT1_3D_DeriveXiXi, N_T_RT1_3D_DeriveXiEta,
268 N_T_RT1_3D_DeriveXiZeta, N_T_RT1_3D_DeriveEtaEta,
269 N_T_RT1_3D_DeriveEtaZeta, N_T_RT1_3D_DeriveZetaZeta,
Definition: BaseFunct3D.h:27