190 int scheme_size = scheme;
200 case INT_SCHEME_Line_1:
201 pParam[0] = GaussLegendre_1[0][iG];
202 w = GaussLegendre_1[1][iG];
204 case INT_SCHEME_Line_2:
205 pParam[0] = GaussLegendre_2[0][iG];
206 w = GaussLegendre_2[1][iG];
208 case INT_SCHEME_Line_3:
209 pParam[0] = GaussLegendre_3[0][iG];
210 w = GaussLegendre_3[1][iG];
212 case INT_SCHEME_Line_4:
213 pParam[0] = GaussLegendre_4[0][iG];
214 w = GaussLegendre_4[1][iG];
228 case INT_SCHEME_Tri_1:
229 pParam[0] = HammerTri_1[0][iG];
230 pParam[1] = HammerTri_1[1][iG];
231 w = HammerTri_1[2][iG];
233 case INT_SCHEME_Tri_3:
234 pParam[0] = HammerTri_3[0][iG];
235 pParam[1] = HammerTri_3[1][iG];
236 w = HammerTri_3[2][iG];
238 case INT_SCHEME_Tri_6:
239 pParam[0] = HammerTri_6[0][iG];
240 pParam[1] = HammerTri_6[1][iG];
241 w = HammerTri_6[2][iG];
243 case INT_SCHEME_Tri_7:
244 pParam[0] = HammerTri_7[0][iG];
245 pParam[1] = HammerTri_7[1][iG];
246 w = HammerTri_7[2][iG];
248 case INT_SCHEME_Tri_12:
249 pParam[0] = HammerTri_12[0][iG];
250 pParam[1] = HammerTri_12[1][iG];
251 w = HammerTri_12[2][iG];
265 case INT_SCHEME_Tet_1:
266 pParam[0] = HammerTet_1[0][iG];
267 pParam[1] = HammerTet_1[1][iG];
268 pParam[2] = HammerTet_1[2][iG];
269 w = HammerTet_1[3][iG];
271 case INT_SCHEME_Tet_4:
272 pParam[0] = HammerTet_4[0][iG];
273 pParam[1] = HammerTet_4[1][iG];
274 pParam[2] = HammerTet_4[2][iG];
275 w = HammerTet_4[3][iG];
277 case INT_SCHEME_Tet_8:
278 pParam[0] = HammerTet_8[0][iG];
279 pParam[1] = HammerTet_8[1][iG];
280 pParam[2] = HammerTet_8[2][iG];
281 w = HammerTet_8[3][iG];
283 case INT_SCHEME_Tet_14:
284 pParam[0] = HammerTet_14[0][iG];
285 pParam[1] = HammerTet_14[1][iG];
286 pParam[2] = HammerTet_14[2][iG];
287 w = HammerTet_14[3][iG];
289 case INT_SCHEME_Tet_24:
290 pParam[0] = HammerTet_24[0][iG];
291 pParam[1] = HammerTet_24[1][iG];
292 pParam[2] = HammerTet_24[2][iG];
293 w = HammerTet_24[3][iG];
305 const t_real *GLData =
nullptr;
309 case INT_SCHEME_Quad_1:
310 GLData = GaussLegendre_1.front().data();
313 case INT_SCHEME_Quad_4:
314 GLData = GaussLegendre_2.front().data();
317 case INT_SCHEME_Quad_9:
318 GLData = GaussLegendre_3.front().data();
321 case INT_SCHEME_Quad_16:
322 GLData = GaussLegendre_4.front().data();
329 int iGi = iG % GLSize;
330 int iGj = iG / GLSize;
331 pParam[0] = GLData[iGi];
332 pParam[1] = GLData[iGj];
333 w = GLData[GLSize + iGi] * GLData[GLSize + iGj];
342 const t_real *GLData =
nullptr;
346 case INT_SCHEME_Hex_1:
347 GLData = GaussLegendre_1.front().data();
350 case INT_SCHEME_Hex_8:
351 GLData = GaussLegendre_2.front().data();
354 case INT_SCHEME_Hex_27:
355 GLData = GaussLegendre_3.front().data();
358 case INT_SCHEME_Hex_64:
359 GLData = GaussLegendre_4.front().data();
366 int iGi = iG % GLSize;
367 int iGj = (iG / GLSize) % GLSize;
368 int iGk = (iG / (GLSize * GLSize));
370 pParam[0] = GLData[iGi];
371 pParam[1] = GLData[iGj];
372 pParam[2] = GLData[iGk];
373 w = GLData[GLSize + iGi] * GLData[GLSize + iGj] * GLData[GLSize + iGk];
382 const t_real *GLData =
nullptr;
383 const t_real *GJData =
nullptr;
387 case INT_SCHEME_Pyramid_1:
388 GLData = GaussLegendre_1.front().data();
389 GJData = GaussJacobi_01A2B0_1.front().data();
392 case INT_SCHEME_Pyramid_8:
393 GLData = GaussLegendre_2.front().data();
394 GJData = GaussJacobi_01A2B0_2.front().data();
397 case INT_SCHEME_Pyramid_27:
398 GLData = GaussLegendre_3.front().data();
399 GJData = GaussJacobi_01A2B0_3.front().data();
402 case INT_SCHEME_Pyramid_64:
403 GLData = GaussLegendre_4.front().data();
404 GJData = GaussJacobi_01A2B0_4.front().data();
411 int iGi = iG % GLSize;
412 int iGj = (iG / GLSize) % GLSize;
413 int iGk = (iG / (GLSize * GLSize));
415 pParam[0] = GLData[iGi] * (1 - GJData[iGk]);
416 pParam[1] = GLData[iGj] * (1 - GJData[iGk]);
417 pParam[2] = GJData[iGk];
418 w = GLData[GLSize + iGi] * GLData[GLSize + iGj] * GJData[GLSize + iGk];
427 const t_real *GLData =
nullptr;
428 const t_real *HammerData =
nullptr;
433 case INT_SCHEME_Prism_1:
434 GLData = GaussLegendre_1.front().data();
436 HammerData = HammerTri_1.front().data();
439 case INT_SCHEME_Prism_6:
440 GLData = GaussLegendre_2.front().data();
442 HammerData = HammerTri_3.front().data();
445 case INT_SCHEME_Prism_18:
446 GLData = GaussLegendre_3.front().data();
448 HammerData = HammerTri_6.front().data();
451 case INT_SCHEME_Prism_21:
452 GLData = GaussLegendre_3.front().data();
454 HammerData = HammerTri_7.front().data();
457 case INT_SCHEME_Prism_48:
458 GLData = GaussLegendre_4.front().data();
460 HammerData = HammerTri_12.front().data();
467 int iGi = iG % GLSize;
468 int iGj = iG / GLSize;
470 pParam[0] = HammerData[0 * HammerSize + iGj];
471 pParam[1] = HammerData[1 * HammerSize + iGj];
472 pParam[2] = GLData[iGi];
474 w = GLData[GLSize + iGi] * HammerData[2 * HammerSize + iGj];