321 const double quad_v[7][2] =
323 {0, 0}, {0.5, 0}, {1, 0}, {0, 0.5},
324 {1./3., 1./3.}, {0.5, 0.5}, {0, 1}
326 const int quad_e[3][4] =
328 {0, 1, 4, 3}, {1, 2, 5, 4}, {3, 4, 5, 6}
331 for (
int j = 0; j < Nvert; j++)
335 for (
int j = 0; j < NEsplit; j++)
337 int attribute = j + 1;
345 for (
int k = 0; k <
dim; k++)
347 for (
int j = 0; j < npt; j++)
366 const double hex_v[15][3] =
368 {0, 0, 0.}, {1, 0., 0.}, {0., 1., 0.}, {0, 0., 1.},
369 {0.5, 0., 0.}, {0.5, 0.5, 0.}, {0., 0.5, 0.},
370 {0., 0., 0.5}, {0.5, 0., 0.5}, {0., 0.5, 0.5},
371 {1./3., 0., 1./3.}, {1./3., 1./3., 1./3.}, {0, 1./3., 1./3.},
372 {1./3., 1./3., 0}, {0.25, 0.25, 0.25}
374 const int hex_e[4][8] =
376 {7, 10, 4, 0, 12, 14, 13, 6},
377 {10, 8, 1, 4, 14, 11, 5, 13},
378 {14, 11, 5, 13, 12, 9, 2, 6},
379 {7, 3, 8, 10, 12, 9, 11, 14}
382 for (
int j = 0; j < Nvert; j++)
386 for (
int j = 0; j < NEsplit; j++)
388 int attribute = j + 1;
396 for (
int k = 0; k <
dim; k++)
398 for (
int j = 0; j < npt; j++)
410 const double hex_v[14][3] =
412 {0, 0, 0}, {0.5, 0, 0}, {1, 0, 0}, {0, 0.5, 0},
413 {1./3., 1./3., 0}, {0.5, 0.5, 0}, {0, 1, 0},
414 {0, 0, 1}, {0.5, 0, 1}, {1, 0, 1}, {0, 0.5, 1},
415 {1./3., 1./3., 1}, {0.5, 0.5, 1}, {0, 1, 1}
417 const int hex_e[3][8] =
419 {0, 1, 4, 3, 7, 8, 11, 10},
420 {1, 2, 5, 4, 8, 9, 12, 11},
421 {3, 4, 5, 6, 10, 11, 12, 13}
424 for (
int j = 0; j < Nvert; j++)
428 for (
int j = 0; j < NEsplit; j++)
430 int attribute = j + 1;
438 for (
int k = 0; k <
dim; k++)
440 for (
int j = 0; j < npt; j++)
452 const double hex_v[23][3] =
454 {0.0000, 0.0000, 0.0000}, {0.5000, 0.0000, 0.0000},
455 {0.0000, 0.0000, 0.5000}, {0.3333, 0.0000, 0.3333},
456 {0.0000, 0.5000, 0.0000}, {0.3333, 0.3333, 0.0000},
457 {0.0000, 0.3333, 0.3333}, {0.2500, 0.2500, 0.2500},
458 {1.0000, 0.0000, 0.0000}, {0.5000, 0.0000, 0.5000},
459 {0.5000, 0.5000, 0.0000}, {0.3333, 0.3333, 0.3333},
460 {0.0000, 1.0000, 0.0000}, {0.0000, 0.5000, 0.5000},
461 {0.0000, 0.0000, 1.0000}, {1.0000, 0.5000, 0.0000},
462 {0.6667, 0.3333, 0.3333}, {0.6667, 0.6667, 0.0000},
463 {0.5000, 0.5000, 0.2500}, {1.0000, 1.0000, 0.0000},
464 {0.5000, 0.5000, 0.5000}, {0.5000, 1.0000, 0.0000},
465 {0.3333, 0.6667, 0.3333}
467 const int hex_e[8][8] =
469 {2, 3, 1, 0, 6, 7, 5, 4}, {3, 9, 8, 1, 7, 11, 10, 5},
470 {7, 11, 10, 5, 6, 13, 12, 4}, {2, 14, 9, 3, 6, 13, 11, 7},
471 {9, 16, 15, 8, 11, 18, 17, 10}, {16, 20, 19, 15, 18, 22, 21, 17},
472 {18, 22, 21, 17, 11, 13, 12, 10}, {9, 14, 20, 16, 11, 13, 22, 18}
475 for (
int j = 0; j < Nvert; j++)
479 for (
int j = 0; j < NEsplit; j++)
481 int attribute = j + 1;
489 for (
int k = 0; k <
dim; k++)
491 for (
int j = 0; j < npt; j++)
524 MFEM_ABORT(
"Unsupported geometry type.");
527 for (
int i = 0; i < NEsplit; i++)