407 x0/4 - x1/4 + x10 + x11 - x12 - x2/4 + x3/4 - 3*x6/2 + 3*x8/2 - x9,
408 -x0/2 + x1/2 - 2*x10 - 2*x11 + 2*x12 + x2/2 - x3/2 + 3*x6/2 - 3*x8/2 + 2*x9,
409 x0/4 - x1/4 + x10 + x11 - x12 - x2/4 + x3/4 - x6/2 + x8/2 - x9,
410 x0/4 - x1/4 + x2/4 - x3/4,
411 -3*x0/4 + 3*x1/4 - x10 + x11 - x12 - 3*x2/4 + 3*x3/4 + x9,
412 x0/2 - x1/2 + x10 - x11 + x12 + x2/2 - x3/2 - x9,
413 -x0/4 + x1/4 + x2/4 - x3/4 - x6/2 + x8/2,
414 x0/4 - x1/4 - x2/4 + x3/4 + x6/2 - x8/2,
418 -x0/2 - x1/2 + x2/2 + x3/2 + x5 - x7,
419 x0/2 + x1/2 - x2/2 - x3/2 - x5 + x7,
420 x0/2 + x1/2 + 2*x13 + x2/2 + x3/2 - x5 - x6 - x7 - x8
428 x0/4 + x1/4 - x10 + x11 + x12 - x2/4 - x3/4 + 3*x5/2 - 3*x7/2 - x9,
429 -x0/2 - x1/2 + 2*x10 - 2*x11 - 2*x12 + x2/2 + x3/2 - 3*x5/2 + 3*x7/2 + 2*x9,
430 x0/4 + x1/4 - x10 + x11 + x12 - x2/4 - x3/4 + x5/2 - x7/2 - x9,
434 x0/4 - x1/4 + x2/4 - x3/4,
435 -3*x0/4 + 3*x1/4 - x10 + x11 - x12 - 3*x2/4 + 3*x3/4 + x9,
436 x0/2 - x1/2 + x10 - x11 + x12 + x2/2 - x3/2 - x9,
437 -x0/2 + x1/2 + x2/2 - x3/2 - x6 + x8,
438 x0/2 - x1/2 - x2/2 + x3/2 + x6 - x8,
439 -x0/4 - x1/4 + x2/4 + x3/4 + x5/2 - x7/2,
440 x0/4 + x1/4 - x2/4 - x3/4 - x5/2 + x7/2,
441 x0/2 + x1/2 + 2*x13 + x2/2 + x3/2 - x5 - x6 - x7 - x8
448 -x0/4 - x1/4 + x10 + x11 + x12 - 2*x13 - x2/4 - x3/4 - x4 + x9,
449 5*x0/4 + 5*x1/4 - 5*x10 - 5*x11 - 5*x12 + 8*x13 + 5*x2/4 + 5*x3/4 + 7*x4 - 5*x9,
450 -9*x0/4 - 9*x1/4 + 9*x10 + 9*x11 + 9*x12 - 12*x13 - 9*x2/4 - 9*x3/4 - 15*x4 + 9*x9,
451 7*x0/4 + 7*x1/4 - 7*x10 - 7*x11 - 7*x12 + 8*x13 + 7*x2/4 + 7*x3/4 + 13*x4 - 7*x9,
452 -x0/2 - x1/2 + 2*x10 + 2*x11 + 2*x12 - 2*x13 - x2/2 - x3/2 - 4*x4 + 2*x9,
453 x0/4 + x1/4 - x10 + x11 + x12 - x2/4 - x3/4 + x5/2 - x7/2 - x9,
454 -3*x0/4 - 3*x1/4 + 3*x10 - 3*x11 - 3*x12 + 3*x2/4 + 3*x3/4 - 3*x5/2 + 3*x7/2 + 3*x9,
455 3*x0/4 + 3*x1/4 - 3*x10 + 3*x11 + 3*x12 - 3*x2/4 - 3*x3/4 + 3*x5/2 - 3*x7/2 - 3*x9,
456 -x0/4 - x1/4 + x10 - x11 - x12 + x2/4 + x3/4 - x5/2 + x7/2 + x9,
457 x0/4 - x1/4 + x10 + x11 - x12 - x2/4 + x3/4 - x6/2 + x8/2 - x9,
458 -3*x0/4 + 3*x1/4 - 3*x10 - 3*x11 + 3*x12 + 3*x2/4 - 3*x3/4 + 3*x6/2 - 3*x8/2 + 3*x9,
459 3*x0/4 - 3*x1/4 + 3*x10 + 3*x11 - 3*x12 - 3*x2/4 + 3*x3/4 - 3*x6/2 + 3*x8/2 - 3*x9,
460 -x0/4 + x1/4 - x10 - x11 + x12 + x2/4 - x3/4 + x6/2 - x8/2 + x9,
461 -x0/4 + x1/4 - x10 + x11 - x12 - x2/4 + x3/4 + x9,
462 x0/4 - x1/4 + x10 - x11 + x12 + x2/4 - x3/4 - x9,
463 -x0/4 + x1/4 + x2/4 - x3/4 - x6/2 + x8/2,
464 x0/4 - x1/4 - x2/4 + x3/4 + x6/2 - x8/2,
465 -x0/4 - x1/4 + x2/4 + x3/4 + x5/2 - x7/2,
466 x0/4 + x1/4 - x2/4 - x3/4 - x5/2 + x7/2,
467 x0/2 + x1/2 + 2*x13 + x2/2 + x3/2 - x5 - x6 - x7 - x8
471 static const int dx_dxi_exponents[15][3] =
491 static const int dx_deta_exponents[15][3] =
511 static const int dx_dzeta_exponents[20][3] =
541 a1 = -7.1805574131988893873307823958101e-01_R,
542 a2 = -5.0580870785392503961340276902425e-01_R,
543 a3 = -2.2850430565396735359574351631314e-01_R,
545 b1 = 7.2994024073149732155837979012003e-02_R,
546 b2 = 3.4700376603835188472176354340395e-01_R,
547 b3 = 7.0500220988849838312239847758405e-01_R,
550 w1 = 4.8498876871878584357513834016440e-02_R,
551 w2 = 4.5137737425884574692441981593901e-02_R,
552 w3 = 9.2440441384508327195915094925393e-03_R,
553 w4 = 7.7598202995005734972022134426305e-02_R,
554 w5 = 7.2220379881415319507907170550242e-02_R,
555 w6 = 1.4790470621521332351346415188063e-02_R,
556 w7 = 1.2415712479200917595523541508209e-01_R,
557 w8 = 1.1555260781026451121265147288039e-01_R,
558 w9 = 2.3664752994434131762154264300901e-02_R;
561 static const Real xi[N][3] =
592 static const Real eta[N][3] =
623 static const Real zeta[N][5] =
625 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
626 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
627 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
628 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
629 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
630 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
631 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
632 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
633 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
634 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
635 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
636 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
637 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
638 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
639 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
640 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
641 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
642 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
643 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
644 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
645 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
646 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
647 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
648 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3},
649 { 1., b1, b1*b1, b1*b1*b1, b1*b1*b1*b1},
650 { 1., b2, b2*b2, b2*b2*b2, b2*b2*b2*b2},
651 { 1., b3, b3*b3, b3*b3*b3, b3*b3*b3*b3}
654 static const Real w[N] = {w1, w2, w3, w4, w5, w6,
655 w1, w2, w3, w4, w5, w6,
656 w7, w8, w9, w4, w5, w6,
657 w1, w2, w3, w4, w5, w6,
661 for (
int q=0; q<N; ++q)
665 den2 = (1. - zeta[q][1])*(1. - zeta[q][1]),
666 den3 = den2*(1. - zeta[q][1]);
669 Point dx_dxi_q, dx_deta_q;
670 for (
int c=0; c<15; ++c)
673 xi[q][dx_dxi_exponents[c][0]]*
674 eta[q][dx_dxi_exponents[c][1]]*
675 zeta[q][dx_dxi_exponents[c][2]]*dx_dxi[c];
678 xi[q][dx_deta_exponents[c][0]]*
679 eta[q][dx_deta_exponents[c][1]]*
680 zeta[q][dx_deta_exponents[c][2]]*dx_deta[c];
685 for (
int c=0; c<20; ++c)
688 xi[q][dx_dzeta_exponents[c][0]]*
689 eta[q][dx_dzeta_exponents[c][1]]*
690 zeta[q][dx_dzeta_exponents[c][2]]*dx_dzeta[c];