188 int scheme_size = scheme;
198 case INT_SCHEME_Line_1:
199 pParam[0] = __GaussLegendre_1[0][iG];
200 w = __GaussLegendre_1[1][iG];
202 case INT_SCHEME_Line_2:
203 pParam[0] = __GaussLegendre_2[0][iG];
204 w = __GaussLegendre_2[1][iG];
206 case INT_SCHEME_Line_3:
207 pParam[0] = __GaussLegendre_3[0][iG];
208 w = __GaussLegendre_3[1][iG];
210 case INT_SCHEME_Line_4:
211 pParam[0] = __GaussLegendre_4[0][iG];
212 w = __GaussLegendre_4[1][iG];
226 case INT_SCHEME_Tri_1:
227 pParam[0] = __HammerTri_1[0][iG];
228 pParam[1] = __HammerTri_1[1][iG];
229 w = __HammerTri_1[2][iG];
231 case INT_SCHEME_Tri_3:
232 pParam[0] = __HammerTri_3[0][iG];
233 pParam[1] = __HammerTri_3[1][iG];
234 w = __HammerTri_3[2][iG];
236 case INT_SCHEME_Tri_6:
237 pParam[0] = __HammerTri_6[0][iG];
238 pParam[1] = __HammerTri_6[1][iG];
239 w = __HammerTri_6[2][iG];
241 case INT_SCHEME_Tri_7:
242 pParam[0] = __HammerTri_7[0][iG];
243 pParam[1] = __HammerTri_7[1][iG];
244 w = __HammerTri_7[2][iG];
246 case INT_SCHEME_Tri_12:
247 pParam[0] = __HammerTri_12[0][iG];
248 pParam[1] = __HammerTri_12[1][iG];
249 w = __HammerTri_12[2][iG];
263 case INT_SCHEME_Tet_1:
264 pParam[0] = __HammerTet_1[0][iG];
265 pParam[1] = __HammerTet_1[1][iG];
266 pParam[2] = __HammerTet_1[2][iG];
267 w = __HammerTet_1[3][iG];
269 case INT_SCHEME_Tet_4:
270 pParam[0] = __HammerTet_4[0][iG];
271 pParam[1] = __HammerTet_4[1][iG];
272 pParam[2] = __HammerTet_4[2][iG];
273 w = __HammerTet_4[3][iG];
275 case INT_SCHEME_Tet_8:
276 pParam[0] = __HammerTet_8[0][iG];
277 pParam[1] = __HammerTet_8[1][iG];
278 pParam[2] = __HammerTet_8[2][iG];
279 w = __HammerTet_8[3][iG];
281 case INT_SCHEME_Tet_14:
282 pParam[0] = __HammerTet_14[0][iG];
283 pParam[1] = __HammerTet_14[1][iG];
284 pParam[2] = __HammerTet_14[2][iG];
285 w = __HammerTet_14[3][iG];
287 case INT_SCHEME_Tet_24:
288 pParam[0] = __HammerTet_24[0][iG];
289 pParam[1] = __HammerTet_24[1][iG];
290 pParam[2] = __HammerTet_24[2][iG];
291 w = __HammerTet_24[3][iG];
303 const t_real *GLData =
nullptr;
307 case INT_SCHEME_Quad_1:
308 GLData = &(__GaussLegendre_1[0][0]);
311 case INT_SCHEME_Quad_4:
312 GLData = &(__GaussLegendre_2[0][0]);
315 case INT_SCHEME_Quad_9:
316 GLData = &(__GaussLegendre_3[0][0]);
319 case INT_SCHEME_Quad_16:
320 GLData = &(__GaussLegendre_4[0][0]);
327 int iGi = iG % GLSize;
328 int iGj = iG / GLSize;
329 pParam[0] = GLData[iGi];
330 pParam[1] = GLData[iGj];
331 w = GLData[GLSize + iGi] * GLData[GLSize + iGj];
340 const t_real *GLData =
nullptr;
344 case INT_SCHEME_Hex_1:
345 GLData = &(__GaussLegendre_1[0][0]);
348 case INT_SCHEME_Hex_8:
349 GLData = &(__GaussLegendre_2[0][0]);
352 case INT_SCHEME_Hex_27:
353 GLData = &(__GaussLegendre_3[0][0]);
356 case INT_SCHEME_Hex_64:
357 GLData = &(__GaussLegendre_4[0][0]);
364 int iGi = iG % GLSize;
365 int iGj = (iG / GLSize) % GLSize;
366 int iGk = (iG / (GLSize * GLSize));
368 pParam[0] = GLData[iGi];
369 pParam[1] = GLData[iGj];
370 pParam[2] = GLData[iGk];
371 w = GLData[GLSize + iGi] * GLData[GLSize + iGj] * GLData[GLSize + iGk];
380 const t_real *GLData =
nullptr;
381 const t_real *GJData =
nullptr;
385 case INT_SCHEME_Pyramid_1:
386 GLData = &(__GaussLegendre_1[0][0]);
387 GJData = &(__GaussJacobi_01A2B0_1[0][0]);
390 case INT_SCHEME_Pyramid_8:
391 GLData = &(__GaussLegendre_2[0][0]);
392 GJData = &(__GaussJacobi_01A2B0_2[0][0]);
395 case INT_SCHEME_Pyramid_27:
396 GLData = &(__GaussLegendre_3[0][0]);
397 GJData = &(__GaussJacobi_01A2B0_3[0][0]);
400 case INT_SCHEME_Pyramid_64:
401 GLData = &(__GaussLegendre_4[0][0]);
402 GJData = &(__GaussJacobi_01A2B0_4[0][0]);
409 int iGi = iG % GLSize;
410 int iGj = (iG / GLSize) % GLSize;
411 int iGk = (iG / (GLSize * GLSize));
413 pParam[0] = GLData[iGi] * (1 - GJData[iGk]);
414 pParam[1] = GLData[iGj] * (1 - GJData[iGk]);
415 pParam[2] = GJData[iGk];
416 w = GLData[GLSize + iGi] * GLData[GLSize + iGj] * GJData[GLSize + iGk];
425 const t_real *GLData =
nullptr;
426 const t_real *HammerData =
nullptr;
431 case INT_SCHEME_Prism_1:
432 GLData = &(__GaussLegendre_1[0][0]);
434 HammerData = &(__HammerTri_1[0][0]);
437 case INT_SCHEME_Prism_6:
438 GLData = &(__GaussLegendre_2[0][0]);
440 HammerData = &(__HammerTri_3[0][0]);
443 case INT_SCHEME_Prism_18:
444 GLData = &(__GaussLegendre_3[0][0]);
446 HammerData = &(__HammerTri_6[0][0]);
449 case INT_SCHEME_Prism_21:
450 GLData = &(__GaussLegendre_3[0][0]);
452 HammerData = &(__HammerTri_7[0][0]);
455 case INT_SCHEME_Prism_48:
456 GLData = &(__GaussLegendre_4[0][0]);
458 HammerData = &(__HammerTri_12[0][0]);
465 int iGi = iG % GLSize;
466 int iGj = iG / GLSize;
468 pParam[0] = HammerData[0 * HammerSize + iGj];
469 pParam[1] = HammerData[1 * HammerSize + iGj];
470 pParam[2] = GLData[iGi];
472 w = GLData[GLSize + iGi] * HammerData[2 * HammerSize + iGj];