163 static double N_Q_BDM3_2D_CM[484] = {
164 0.0095670858,-0.023096988,0.023096988,-0.0095670858,-0.075444174,0.012944174,0.012944174,-0.075444174,-0.0095670858,0.023096988,-0.023096988,0.0095670858,0.075444174,-0.012944174,-0.012944174,0.075444174,0.375,0,-0,0,-0,0,
165 0.075444174,-0.012944174,-0.012944174,0.075444174,0.0095670858,-0.023096988,0.023096988,-0.0095670858,-0.075444174,0.012944174,0.012944174,-0.075444174,-0.0095670858,0.023096988,-0.023096988,0.0095670858,-0,0.375,0,-0,0,-0,
166 -0,0,-0,0,-0.10848139,-0.079018609,-0.079018609,-0.10848139,0,-0,0,-0,-0.10848139,-0.079018609,-0.079018609,-0.10848139,-0,-0,1.875,0,0,0,
167 -0.15819687,0.21860066,-0.21860066,0.15819687,-0,0,-0,0,-0.15819687,0.21860066,-0.21860066,0.15819687,0,-0,0,-0,0,0,0,1.125,0,0,
168 -0.057402515,0.13858193,-0.13858193,0.057402515,0.049555826,0.13794417,0.13794417,0.049555826,0.057402515,-0.13858193,0.13858193,-0.057402515,-0.049555826,-0.13794417,-0.13794417,-0.049555826,-0.375,0,0,0,0,0,
169 -0.1767767,0.1767767,0.1767767,-0.1767767,0,0,0,0,0.1767767,-0.1767767,-0.1767767,0.1767767,0,0,0,0,0,-0,0,0,0,0,
170 0,-0,0,-0,0.082593044,0.22990696,0.22990696,0.082593044,-0,0,-0,0,0.082593044,0.22990696,0.22990696,0.082593044,0,0,-1.875,0,0,0,
171 0.19134172,-0.46193977,0.46193977,-0.19134172,0,-0,0,-0,0.19134172,-0.46193977,0.46193977,-0.19134172,-0,0,-0,0,-0,0,0,0,0,0,
172 -0,0,-0,0,0.15819687,-0.21860066,0.21860066,-0.15819687,0,-0,0,-0,0.15819687,-0.21860066,0.21860066,-0.15819687,-0,0,-0,0,1.125,0,
173 -0.10848139,-0.079018609,-0.079018609,-0.10848139,-0,0,-0,0,-0.10848139,-0.079018609,-0.079018609,-0.10848139,0,-0,0,-0,0,0,0,-0,0,1.875,
174 0,0,-0,0,0.1767767,-0.1767767,-0.1767767,0.1767767,0,0,0,0,-0.1767767,0.1767767,0.1767767,-0.1767767,0,0,0,0,0,0,
175 -0.049555826,-0.13794417,-0.13794417,-0.049555826,-0.057402515,0.13858193,-0.13858193,0.057402515,0.049555826,0.13794417,0.13794417,0.049555826,0.057402515,-0.13858193,0.13858193,-0.057402515,0,-0.375,0,0,0,0,
176 0,0,-0,0,-0.19134172,0.46193977,-0.46193977,0.19134172,0,0,0,0,-0.19134172,0.46193977,-0.46193977,0.19134172,0,0,0,0,0,0,
177 0.082593044,0.22990696,0.22990696,0.082593044,0,-0,0,-0,0.082593044,0.22990696,0.22990696,0.082593044,-0,0,-0,0,-0,0,0,0,0,-1.875,
178 0,0,-0,0,0.028021346,-0.39429025,0.39429025,-0.028021346,0,0,0,0,-0.028021346,0.39429025,-0.39429025,0.028021346,0,0,0,0,0,0,
179 0.028021346,-0.39429025,0.39429025,-0.028021346,0,0,0,0,-0.028021346,0.39429025,-0.39429025,0.028021346,0,0,0,0,0,0,0,0,0,0,
180 0,-0,0,-0,-0.13017553,-0.17568959,0.17568959,0.13017553,-0,0,-0,0,-0.13017553,-0.17568959,0.17568959,0.13017553,0,0,0,0,-1.125,0,
181 0.1767767,-0.1767767,-0.1767767,0.1767767,0,0,0,0,0.1767767,-0.1767767,-0.1767767,0.1767767,0,-0,0,0,0,-0,0,-0,0,0,
182 0,0,0,0,0.1767767,-0.1767767,-0.1767767,0.1767767,0,0,0,0,0.1767767,-0.1767767,-0.1767767,0.1767767,0,0,0,0,0,0,
183 0.13017553,0.17568959,-0.17568959,-0.13017553,-0,0,-0,0,0.13017553,0.17568959,-0.17568959,-0.13017553,0,-0,0,-0,0,-0,0,-1.125,0,0,
184 0.047835429,-0.11548494,0.11548494,-0.047835429,0,0,0,0,-0.047835429,0.11548494,-0.11548494,0.047835429,0,0,0,0,0,0,0,0,0,0,
185 0,0,0,0,-0.047835429,0.11548494,-0.11548494,0.047835429,0,0,0,0,0.047835429,-0.11548494,0.11548494,-0.047835429,0,0,0,0,0,0
189 static void N_Q_BDM3_2D_Funct(
double xi,
double eta,
double *values)
193 double mon_x[22]={1,0,xi, 0,xi*xi, 0,xi*xi*xi, 0,eta, 0,eta*eta, 0,eta*eta*eta, 0,
194 xi*eta, 0,xi*xi*eta, 0,xi*eta*eta, 0, xi*xi*xi*xi,4*xi*eta*eta*eta};
195 double mon_y[22]={0,1, 0,xi, 0,xi*xi, 0,xi*xi*xi, 0,eta, 0,eta*eta, 0,eta*eta*eta,
196 0,xi*eta, 0,xi*xi*eta, 0,xi*eta*eta,-4*xi*xi*xi*eta,-eta*eta*eta*eta};
198 memset(values, 0.0, 2*nBF*SizeOfDouble);
199 for(
int i=0; i<nBF; i++)
201 for(
int j=0; j<nBF; j++)
203 values[i ] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_x[j];
204 values[i+nBF] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_y[j];
210 static void N_Q_BDM3_2D_DeriveXi(
double xi,
double eta,
double *values)
214 double mon_x[22]={0,0,1, 0,2*xi, 0,3*xi*xi, 0,0, 0,0, 0,0, 0,
215 eta, 0,2*xi*eta, 0,eta*eta, 0, 4*xi*xi*xi,4*eta*eta*eta};
216 double mon_y[22]={0,0, 0,1, 0,2*xi, 0,3*xi*xi, 0,0, 0,0, 0,0,
217 0,eta, 0,2*xi*eta, 0,eta*eta,-12*xi*xi*eta,0};
219 memset(values, 0.0, 2*nBF*SizeOfDouble);
220 for(
int i=0; i<nBF; i++)
222 for(
int j=0; j<nBF; j++)
224 values[i ] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_x[j];
225 values[i+nBF] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_y[j];
231 static void N_Q_BDM3_2D_DeriveEta(
double xi,
double eta,
double *values)
235 double mon_x[22]={0,0,0, 0,0, 0,0, 0,1, 0,2*eta, 0,3*eta*eta, 0,
236 xi, 0,xi*xi, 0,2*xi*eta, 0, 0,12*xi*eta*eta};
237 double mon_y[22]={0,0, 0,0, 0,0, 0,0, 0,1, 0,2*eta, 0,3*eta*eta,
238 0,xi, 0,xi*xi, 0,2*xi*eta,-4*xi*xi*xi,-4*eta*eta*eta};
240 memset(values, 0.0, 2*nBF*SizeOfDouble);
241 for(
int i=0; i<nBF; i++)
243 for(
int j=0; j<nBF; j++)
245 values[i ] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_x[j];
246 values[i+nBF] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_y[j];
252 static void N_Q_BDM3_2D_DeriveXiXi(
double xi,
double eta,
double *values)
256 double mon_x[22]={0,0,0, 0,2, 0,6*xi, 0,0, 0,0, 0,0, 0,
257 0, 0,2*eta, 0,0, 0, 12*xi*xi,0};
258 double mon_y[22]={0,0, 0,0, 0,2, 0,6*xi, 0,0, 0,0, 0,0,
259 0,0, 0,2*eta, 0,0,-24*xi*eta,0};
261 memset(values, 0.0, 2*nBF*SizeOfDouble);
262 for(
int i=0; i<nBF; i++)
264 for(
int j=0; j<nBF; j++)
266 values[i ] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_x[j];
267 values[i+nBF] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_y[j];
273 static void N_Q_BDM3_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
277 double mon_x[22]={0,0,0, 0,0, 0,0, 0,0, 0,2, 0,6*eta, 0,
278 0, 0,0, 0,2*xi, 0, 0,24*xi*eta};
279 double mon_y[22]={0,0, 0,0, 0,0, 0,0, 0,0, 0,2, 0,6*eta,
280 0,0, 0,0, 0,2*xi,0,-12*eta*eta};
282 memset(values, 0.0, 2*nBF*SizeOfDouble);
283 for(
int i=0; i<nBF; i++)
285 for(
int j=0; j<nBF; j++)
287 values[i ] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_x[j];
288 values[i+nBF] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_y[j];
294 static void N_Q_BDM3_2D_DeriveXiEta(
double xi,
double eta,
double *values)
298 double mon_x[22]={0,0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,
299 1, 0,2*xi, 0,2*eta, 0, 0,12*eta*eta};
300 double mon_y[22]={0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,
301 0,1, 0,2*xi, 0,2*eta,-12*xi*xi,0};
303 memset(values, 0.0, 2*nBF*SizeOfDouble);
304 for(
int i=0; i<nBF; i++)
306 for(
int j=0; j<nBF; j++)
308 values[i ] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_x[j];
309 values[i+nBF] += N_Q_BDM3_2D_CM[i+j*nBF]*mon_y[j];
318 (22, BF_N_Q_BDM3_2D, BFUnitSquare,
319 N_Q_BDM3_2D_Funct, N_Q_BDM3_2D_DeriveXi,
320 N_Q_BDM3_2D_DeriveEta, N_Q_BDM3_2D_DeriveXiXi,
321 N_Q_BDM3_2D_DeriveXiEta, N_Q_BDM3_2D_DeriveEtaEta, 4, 4,
Definition: BaseFunct2D.h:27