9 void p_0_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
12 auto x = uv.col(0).array();
13 auto y = uv.col(1).array();
15 result_0.resize(
x.size(), 1);
27 void p_0_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
30 auto x = uv.col(0).array();
31 auto y = uv.col(1).array();
33 val.resize(uv.rows(), uv.cols());
34 Eigen::ArrayXd result_0(uv.rows());
41 val.col(0) = result_0;
45 val.col(1) = result_0;
54 void p_0_nodes_2d(Eigen::MatrixXd &res)
57 res << 0.33333333333333331, 0.33333333333333331;
60 void p_1_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
63 auto x = uv.col(0).array();
64 auto y = uv.col(1).array();
70 result_0 = -
x -
y + 1;
87 void p_1_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
90 auto x = uv.col(0).array();
91 auto y = uv.col(1).array();
93 val.resize(uv.rows(), uv.cols());
94 Eigen::ArrayXd result_0(uv.rows());
100 result_0.setConstant(-1);
101 val.col(0) = result_0;
104 result_0.setConstant(-1);
105 val.col(1) = result_0;
113 val.col(0) = result_0;
117 val.col(1) = result_0;
125 val.col(0) = result_0;
129 val.col(1) = result_0;
138 void p_1_nodes_2d(Eigen::MatrixXd &res)
146 void p_2_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
149 auto x = uv.col(0).array();
150 auto y = uv.col(1).array();
156 result_0 = (
x +
y - 1) * (2 *
x + 2 *
y - 1);
161 result_0 =
x * (2 *
x - 1);
166 result_0 =
y * (2 *
y - 1);
171 result_0 = -4 *
x * (
x +
y - 1);
176 result_0 = 4 *
x *
y;
181 result_0 = -4 *
y * (
x +
y - 1);
188 void p_2_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
191 auto x = uv.col(0).array();
192 auto y = uv.col(1).array();
194 val.resize(uv.rows(), uv.cols());
195 Eigen::ArrayXd result_0(uv.rows());
201 result_0 = 4 *
x + 4 *
y - 3;
202 val.col(0) = result_0;
205 result_0 = 4 *
x + 4 *
y - 3;
206 val.col(1) = result_0;
213 result_0 = 4 *
x - 1;
214 val.col(0) = result_0;
218 val.col(1) = result_0;
226 val.col(0) = result_0;
229 result_0 = 4 *
y - 1;
230 val.col(1) = result_0;
237 result_0 = 4 * (-2 *
x -
y + 1);
238 val.col(0) = result_0;
242 val.col(1) = result_0;
250 val.col(0) = result_0;
254 val.col(1) = result_0;
262 val.col(0) = result_0;
265 result_0 = 4 * (-
x - 2 *
y + 1);
266 val.col(1) = result_0;
275 void p_2_nodes_2d(Eigen::MatrixXd &res)
282 1.0 / 2.0, 1.0 / 2.0,
286 void p_3_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
289 auto x = uv.col(0).array();
290 auto y = uv.col(1).array();
296 const auto helper_0 = pow(
x, 2);
297 const auto helper_1 = pow(
y, 2);
298 result_0 = -27.0 / 2.0 * helper_0 *
y + 9 * helper_0 - 27.0 / 2.0 * helper_1 *
x + 9 * helper_1 - 9.0 / 2.0 * pow(
x, 3) + 18 *
x *
y - 11.0 / 2.0 *
x - 9.0 / 2.0 * pow(
y, 3) - 11.0 / 2.0 *
y + 1;
303 result_0 = (1.0 / 2.0) *
x * (9 * pow(
x, 2) - 9 *
x + 2);
308 result_0 = (1.0 / 2.0) *
y * (9 * pow(
y, 2) - 9 *
y + 2);
313 result_0 = (9.0 / 2.0) *
x * (
x +
y - 1) * (3 *
x + 3 *
y - 2);
318 result_0 = -9.0 / 2.0 *
x * (3 * pow(
x, 2) + 3 *
x *
y - 4 *
x -
y + 1);
323 result_0 = (9.0 / 2.0) *
x *
y * (3 *
x - 1);
328 result_0 = (9.0 / 2.0) *
x *
y * (3 *
y - 1);
333 result_0 = -9.0 / 2.0 *
y * (3 *
x *
y -
x + 3 * pow(
y, 2) - 4 *
y + 1);
338 result_0 = (9.0 / 2.0) *
y * (
x +
y - 1) * (3 *
x + 3 *
y - 2);
343 result_0 = -27 *
x *
y * (
x +
y - 1);
350 void p_3_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
353 auto x = uv.col(0).array();
354 auto y = uv.col(1).array();
356 val.resize(uv.rows(), uv.cols());
357 Eigen::ArrayXd result_0(uv.rows());
363 result_0 = -27.0 / 2.0 * pow(
x, 2) - 27 *
x *
y + 18 *
x - 27.0 / 2.0 * pow(
y, 2) + 18 *
y - 11.0 / 2.0;
364 val.col(0) = result_0;
367 result_0 = -27.0 / 2.0 * pow(
x, 2) - 27 *
x *
y + 18 *
x - 27.0 / 2.0 * pow(
y, 2) + 18 *
y - 11.0 / 2.0;
368 val.col(1) = result_0;
375 result_0 = (27.0 / 2.0) * pow(
x, 2) - 9 *
x + 1;
376 val.col(0) = result_0;
380 val.col(1) = result_0;
388 val.col(0) = result_0;
391 result_0 = (27.0 / 2.0) * pow(
y, 2) - 9 *
y + 1;
392 val.col(1) = result_0;
399 result_0 = 9 * ((9.0 / 2.0) * pow(
x, 2) + 6 *
x *
y - 5 *
x + (3.0 / 2.0) * pow(
y, 2) - 5.0 / 2.0 *
y + 1);
400 val.col(0) = result_0;
403 result_0 = (9.0 / 2.0) *
x * (6 *
x + 6 *
y - 5);
404 val.col(1) = result_0;
411 result_0 = 9 * (-9.0 / 2.0 * pow(
x, 2) - 3 *
x *
y + 4 *
x + (1.0 / 2.0) *
y - 1.0 / 2.0);
412 val.col(0) = result_0;
415 result_0 = -9.0 / 2.0 *
x * (3 *
x - 1);
416 val.col(1) = result_0;
423 result_0 = (9.0 / 2.0) *
y * (6 *
x - 1);
424 val.col(0) = result_0;
427 result_0 = (9.0 / 2.0) *
x * (3 *
x - 1);
428 val.col(1) = result_0;
435 result_0 = (9.0 / 2.0) *
y * (3 *
y - 1);
436 val.col(0) = result_0;
439 result_0 = (9.0 / 2.0) *
x * (6 *
y - 1);
440 val.col(1) = result_0;
447 result_0 = -9.0 / 2.0 *
y * (3 *
y - 1);
448 val.col(0) = result_0;
451 result_0 = 9 * (-3 *
x *
y + (1.0 / 2.0) *
x - 9.0 / 2.0 * pow(
y, 2) + 4 *
y - 1.0 / 2.0);
452 val.col(1) = result_0;
459 result_0 = (9.0 / 2.0) *
y * (6 *
x + 6 *
y - 5);
460 val.col(0) = result_0;
463 result_0 = 9 * ((3.0 / 2.0) * pow(
x, 2) + 6 *
x *
y - 5.0 / 2.0 *
x + (9.0 / 2.0) * pow(
y, 2) - 5 *
y + 1);
464 val.col(1) = result_0;
471 result_0 = -27 *
y * (2 *
x +
y - 1);
472 val.col(0) = result_0;
475 result_0 = -27 *
x * (
x + 2 *
y - 1);
476 val.col(1) = result_0;
485 void p_3_nodes_2d(Eigen::MatrixXd &res)
493 2.0 / 3.0, 1.0 / 3.0,
494 1.0 / 3.0, 2.0 / 3.0,
497 1.0 / 3.0, 1.0 / 3.0;
500 void p_4_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
503 auto x = uv.col(0).array();
504 auto y = uv.col(1).array();
510 const auto helper_0 = pow(
x, 2);
511 const auto helper_1 = pow(
x, 3);
512 const auto helper_2 = pow(
y, 2);
513 const auto helper_3 = pow(
y, 3);
514 result_0 = 64 * helper_0 * helper_2 - 80 * helper_0 *
y + (70.0 / 3.0) * helper_0 + (128.0 / 3.0) * helper_1 *
y - 80.0 / 3.0 * helper_1 - 80 * helper_2 *
x + (70.0 / 3.0) * helper_2 + (128.0 / 3.0) * helper_3 *
x - 80.0 / 3.0 * helper_3 + (32.0 / 3.0) * pow(
x, 4) + (140.0 / 3.0) *
x *
y - 25.0 / 3.0 *
x + (32.0 / 3.0) * pow(
y, 4) - 25.0 / 3.0 *
y + 1;
519 result_0 = (1.0 / 3.0) *
x * (32 * pow(
x, 3) - 48 * pow(
x, 2) + 22 *
x - 3);
524 result_0 = (1.0 / 3.0) *
y * (32 * pow(
y, 3) - 48 * pow(
y, 2) + 22 *
y - 3);
529 const auto helper_0 = pow(
x, 2);
530 const auto helper_1 = pow(
y, 2);
531 result_0 = -16.0 / 3.0 *
x * (24 * helper_0 *
y - 18 * helper_0 + 24 * helper_1 *
x - 18 * helper_1 + 8 * pow(
x, 3) - 36 *
x *
y + 13 *
x + 8 * pow(
y, 3) + 13 *
y - 3);
536 const auto helper_0 = 32 * pow(
x, 2);
537 const auto helper_1 = pow(
y, 2);
538 result_0 = 4 *
x * (helper_0 *
y - helper_0 + 16 * helper_1 *
x - 4 * helper_1 + 16 * pow(
x, 3) - 36 *
x *
y + 19 *
x + 7 *
y - 3);
543 const auto helper_0 = pow(
x, 2);
544 result_0 = -16.0 / 3.0 *
x * (8 * helper_0 *
y - 14 * helper_0 + 8 * pow(
x, 3) - 6 *
x *
y + 7 *
x +
y - 1);
549 result_0 = (16.0 / 3.0) *
x *
y * (8 * pow(
x, 2) - 6 *
x + 1);
554 const auto helper_0 = 4 *
x;
555 result_0 = helper_0 *
y * (-helper_0 + 16 *
x *
y - 4 *
y + 1);
560 result_0 = (16.0 / 3.0) *
x *
y * (8 * pow(
y, 2) - 6 *
y + 1);
565 const auto helper_0 = pow(
y, 2);
566 result_0 = -16.0 / 3.0 *
y * (8 * helper_0 *
x - 14 * helper_0 - 6 *
x *
y +
x + 8 * pow(
y, 3) + 7 *
y - 1);
571 const auto helper_0 = pow(
x, 2);
572 const auto helper_1 = 32 * pow(
y, 2);
573 result_0 = 4 *
y * (16 * helper_0 *
y - 4 * helper_0 + helper_1 *
x - helper_1 - 36 *
x *
y + 7 *
x + 16 * pow(
y, 3) + 19 *
y - 3);
578 const auto helper_0 = pow(
x, 2);
579 const auto helper_1 = pow(
y, 2);
580 result_0 = -16.0 / 3.0 *
y * (24 * helper_0 *
y - 18 * helper_0 + 24 * helper_1 *
x - 18 * helper_1 + 8 * pow(
x, 3) - 36 *
x *
y + 13 *
x + 8 * pow(
y, 3) + 13 *
y - 3);
585 result_0 = 32 *
x *
y * (
x +
y - 1) * (4 *
x + 4 *
y - 3);
590 result_0 = -32 *
x *
y * (4 *
y - 1) * (
x +
y - 1);
595 result_0 = -32 *
x *
y * (4 *
x - 1) * (
x +
y - 1);
602 void p_4_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
605 auto x = uv.col(0).array();
606 auto y = uv.col(1).array();
608 val.resize(uv.rows(), uv.cols());
609 Eigen::ArrayXd result_0(uv.rows());
615 const auto helper_0 = pow(
x, 2);
616 const auto helper_1 = pow(
y, 2);
617 result_0 = 128 * helper_0 *
y - 80 * helper_0 + 128 * helper_1 *
x - 80 * helper_1 + (128.0 / 3.0) * pow(
x, 3) - 160 *
x *
y + (140.0 / 3.0) *
x + (128.0 / 3.0) * pow(
y, 3) + (140.0 / 3.0) *
y - 25.0 / 3.0;
618 val.col(0) = result_0;
621 const auto helper_0 = pow(
x, 2);
622 const auto helper_1 = pow(
y, 2);
623 result_0 = 128 * helper_0 *
y - 80 * helper_0 + 128 * helper_1 *
x - 80 * helper_1 + (128.0 / 3.0) * pow(
x, 3) - 160 *
x *
y + (140.0 / 3.0) *
x + (128.0 / 3.0) * pow(
y, 3) + (140.0 / 3.0) *
y - 25.0 / 3.0;
624 val.col(1) = result_0;
631 result_0 = (128.0 / 3.0) * pow(
x, 3) - 48 * pow(
x, 2) + (44.0 / 3.0) *
x - 1;
632 val.col(0) = result_0;
636 val.col(1) = result_0;
644 val.col(0) = result_0;
647 result_0 = (128.0 / 3.0) * pow(
y, 3) - 48 * pow(
y, 2) + (44.0 / 3.0) *
y - 1;
648 val.col(1) = result_0;
655 const auto helper_0 = pow(
x, 2);
656 const auto helper_1 = pow(
y, 2);
657 result_0 = -384 * helper_0 *
y + 288 * helper_0 - 256 * helper_1 *
x + 96 * helper_1 - 512.0 / 3.0 * pow(
x, 3) + 384 *
x *
y - 416.0 / 3.0 *
x - 128.0 / 3.0 * pow(
y, 3) - 208.0 / 3.0 *
y + 16;
658 val.col(0) = result_0;
661 result_0 = -16.0 / 3.0 *
x * (24 * pow(
x, 2) + 48 *
x *
y - 36 *
x + 24 * pow(
y, 2) - 36 *
y + 13);
662 val.col(1) = result_0;
669 const auto helper_0 = 96 * pow(
x, 2);
670 const auto helper_1 = pow(
y, 2);
671 result_0 = 4 * helper_0 *
y - 4 * helper_0 + 128 * helper_1 *
x - 16 * helper_1 + 256 * pow(
x, 3) - 288 *
x *
y + 152 *
x + 28 *
y - 12;
672 val.col(0) = result_0;
675 result_0 = 4 *
x * (32 * pow(
x, 2) + 32 *
x *
y - 36 *
x - 8 *
y + 7);
676 val.col(1) = result_0;
683 const auto helper_0 = pow(
x, 2);
684 result_0 = -128 * helper_0 *
y + 224 * helper_0 - 512.0 / 3.0 * pow(
x, 3) + 64 *
x *
y - 224.0 / 3.0 *
x - 16.0 / 3.0 *
y + 16.0 / 3.0;
685 val.col(0) = result_0;
688 result_0 = -16.0 / 3.0 *
x * (8 * pow(
x, 2) - 6 *
x + 1);
689 val.col(1) = result_0;
696 result_0 = (16.0 / 3.0) *
y * (24 * pow(
x, 2) - 12 *
x + 1);
697 val.col(0) = result_0;
700 result_0 = (16.0 / 3.0) *
x * (8 * pow(
x, 2) - 6 *
x + 1);
701 val.col(1) = result_0;
708 const auto helper_0 = 4 *
y;
709 result_0 = helper_0 * (-helper_0 + 32 *
x *
y - 8 *
x + 1);
710 val.col(0) = result_0;
713 const auto helper_0 = 4 *
x;
714 result_0 = helper_0 * (-helper_0 + 32 *
x *
y - 8 *
y + 1);
715 val.col(1) = result_0;
722 result_0 = (16.0 / 3.0) *
y * (8 * pow(
y, 2) - 6 *
y + 1);
723 val.col(0) = result_0;
726 result_0 = (16.0 / 3.0) *
x * (24 * pow(
y, 2) - 12 *
y + 1);
727 val.col(1) = result_0;
734 result_0 = -16.0 / 3.0 *
y * (8 * pow(
y, 2) - 6 *
y + 1);
735 val.col(0) = result_0;
738 const auto helper_0 = pow(
y, 2);
739 result_0 = -128 * helper_0 *
x + 224 * helper_0 + 64 *
x *
y - 16.0 / 3.0 *
x - 512.0 / 3.0 * pow(
y, 3) - 224.0 / 3.0 *
y + 16.0 / 3.0;
740 val.col(1) = result_0;
747 result_0 = 4 *
y * (32 *
x *
y - 8 *
x + 32 * pow(
y, 2) - 36 *
y + 7);
748 val.col(0) = result_0;
751 const auto helper_0 = pow(
x, 2);
752 const auto helper_1 = 96 * pow(
y, 2);
753 result_0 = 128 * helper_0 *
y - 16 * helper_0 + 4 * helper_1 *
x - 4 * helper_1 - 288 *
x *
y + 28 *
x + 256 * pow(
y, 3) + 152 *
y - 12;
754 val.col(1) = result_0;
761 result_0 = -16.0 / 3.0 *
y * (24 * pow(
x, 2) + 48 *
x *
y - 36 *
x + 24 * pow(
y, 2) - 36 *
y + 13);
762 val.col(0) = result_0;
765 const auto helper_0 = pow(
x, 2);
766 const auto helper_1 = pow(
y, 2);
767 result_0 = -256 * helper_0 *
y + 96 * helper_0 - 384 * helper_1 *
x + 288 * helper_1 - 128.0 / 3.0 * pow(
x, 3) + 384 *
x *
y - 208.0 / 3.0 *
x - 512.0 / 3.0 * pow(
y, 3) - 416.0 / 3.0 *
y + 16;
768 val.col(1) = result_0;
775 result_0 = 32 *
y * (12 * pow(
x, 2) + 16 *
x *
y - 14 *
x + 4 * pow(
y, 2) - 7 *
y + 3);
776 val.col(0) = result_0;
779 result_0 = 32 *
x * (4 * pow(
x, 2) + 16 *
x *
y - 7 *
x + 12 * pow(
y, 2) - 14 *
y + 3);
780 val.col(1) = result_0;
787 result_0 = -32 *
y * (8 *
x *
y - 2 *
x + 4 * pow(
y, 2) - 5 *
y + 1);
788 val.col(0) = result_0;
791 result_0 = -32 *
x * (8 *
x *
y -
x + 12 * pow(
y, 2) - 10 *
y + 1);
792 val.col(1) = result_0;
799 result_0 = -32 *
y * (12 * pow(
x, 2) + 8 *
x *
y - 10 *
x -
y + 1);
800 val.col(0) = result_0;
803 result_0 = -32 *
x * (4 * pow(
x, 2) + 8 *
x *
y - 5 *
x - 2 *
y + 1);
804 val.col(1) = result_0;
813 void p_4_nodes_2d(Eigen::MatrixXd &res)
822 3.0 / 4.0, 1.0 / 4.0,
823 1.0 / 2.0, 1.0 / 2.0,
824 1.0 / 4.0, 3.0 / 4.0,
828 1.0 / 4.0, 1.0 / 4.0,
829 1.0 / 4.0, 1.0 / 2.0,
830 1.0 / 2.0, 1.0 / 4.0;
858 void p_basis_value_2d(
const int p,
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
863 p_0_basis_value_2d(local_index, uv,
val);
866 p_1_basis_value_2d(local_index, uv,
val);
869 p_2_basis_value_2d(local_index, uv,
val);
872 p_3_basis_value_2d(local_index, uv,
val);
875 p_4_basis_value_2d(local_index, uv,
val);
887 p_0_basis_grad_value_2d(local_index, uv,
val);
890 p_1_basis_grad_value_2d(local_index, uv,
val);
893 p_2_basis_grad_value_2d(local_index, uv,
val);
896 p_3_basis_grad_value_2d(local_index, uv,
val);
899 p_4_basis_grad_value_2d(local_index, uv,
val);
908 void p_0_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
911 auto x = uv.col(0).array();
912 auto y = uv.col(1).array();
913 auto z = uv.col(2).array();
915 result_0.resize(
x.size(), 1);
927 void p_0_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
930 auto x = uv.col(0).array();
931 auto y = uv.col(1).array();
932 auto z = uv.col(2).array();
934 val.resize(uv.rows(), uv.cols());
935 Eigen::ArrayXd result_0(uv.rows());
942 val.col(0) = result_0;
946 val.col(1) = result_0;
950 val.col(2) = result_0;
959 void p_0_nodes_3d(Eigen::MatrixXd &res)
962 res << 0.33333333333333331, 0.33333333333333331, 0.33333333333333331;
965 void p_1_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
968 auto x = uv.col(0).array();
969 auto y = uv.col(1).array();
970 auto z = uv.col(2).array();
976 result_0 = -
x -
y -
z + 1;
998 void p_1_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
1001 auto x = uv.col(0).array();
1002 auto y = uv.col(1).array();
1003 auto z = uv.col(2).array();
1005 val.resize(uv.rows(), uv.cols());
1006 Eigen::ArrayXd result_0(uv.rows());
1007 switch (local_index)
1012 result_0.setConstant(-1);
1013 val.col(0) = result_0;
1016 result_0.setConstant(-1);
1017 val.col(1) = result_0;
1020 result_0.setConstant(-1);
1021 val.col(2) = result_0;
1029 val.col(0) = result_0;
1033 val.col(1) = result_0;
1037 val.col(2) = result_0;
1045 val.col(0) = result_0;
1049 val.col(1) = result_0;
1053 val.col(2) = result_0;
1061 val.col(0) = result_0;
1065 val.col(1) = result_0;
1069 val.col(2) = result_0;
1078 void p_1_nodes_3d(Eigen::MatrixXd &res)
1087 void p_2_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
1090 auto x = uv.col(0).array();
1091 auto y = uv.col(1).array();
1092 auto z = uv.col(2).array();
1094 switch (local_index)
1098 result_0 = (
x +
y +
z - 1) * (2 *
x + 2 *
y + 2 *
z - 1);
1103 result_0 =
x * (2 *
x - 1);
1108 result_0 =
y * (2 *
y - 1);
1113 result_0 =
z * (2 *
z - 1);
1118 result_0 = -4 *
x * (
x +
y +
z - 1);
1123 result_0 = 4 *
x *
y;
1128 result_0 = -4 *
y * (
x +
y +
z - 1);
1133 result_0 = -4 *
z * (
x +
y +
z - 1);
1138 result_0 = 4 *
x *
z;
1143 result_0 = 4 *
y *
z;
1150 void p_2_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
1153 auto x = uv.col(0).array();
1154 auto y = uv.col(1).array();
1155 auto z = uv.col(2).array();
1157 val.resize(uv.rows(), uv.cols());
1158 Eigen::ArrayXd result_0(uv.rows());
1159 switch (local_index)
1164 result_0 = 4 *
x + 4 *
y + 4 *
z - 3;
1165 val.col(0) = result_0;
1168 result_0 = 4 *
x + 4 *
y + 4 *
z - 3;
1169 val.col(1) = result_0;
1172 result_0 = 4 *
x + 4 *
y + 4 *
z - 3;
1173 val.col(2) = result_0;
1180 result_0 = 4 *
x - 1;
1181 val.col(0) = result_0;
1185 val.col(1) = result_0;
1189 val.col(2) = result_0;
1197 val.col(0) = result_0;
1200 result_0 = 4 *
y - 1;
1201 val.col(1) = result_0;
1205 val.col(2) = result_0;
1213 val.col(0) = result_0;
1217 val.col(1) = result_0;
1220 result_0 = 4 *
z - 1;
1221 val.col(2) = result_0;
1228 result_0 = 4 * (-2 *
x -
y -
z + 1);
1229 val.col(0) = result_0;
1233 val.col(1) = result_0;
1237 val.col(2) = result_0;
1245 val.col(0) = result_0;
1249 val.col(1) = result_0;
1253 val.col(2) = result_0;
1261 val.col(0) = result_0;
1264 result_0 = 4 * (-
x - 2 *
y -
z + 1);
1265 val.col(1) = result_0;
1269 val.col(2) = result_0;
1277 val.col(0) = result_0;
1281 val.col(1) = result_0;
1284 result_0 = 4 * (-
x -
y - 2 *
z + 1);
1285 val.col(2) = result_0;
1293 val.col(0) = result_0;
1297 val.col(1) = result_0;
1301 val.col(2) = result_0;
1309 val.col(0) = result_0;
1313 val.col(1) = result_0;
1317 val.col(2) = result_0;
1326 void p_2_nodes_3d(Eigen::MatrixXd &res)
1334 1.0 / 2.0, 1.0 / 2.0, 0,
1337 1.0 / 2.0, 0, 1.0 / 2.0,
1338 0, 1.0 / 2.0, 1.0 / 2.0;
1341 void p_3_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
1344 auto x = uv.col(0).array();
1345 auto y = uv.col(1).array();
1346 auto z = uv.col(2).array();
1348 switch (local_index)
1352 const auto helper_0 = pow(
x, 2);
1353 const auto helper_1 = pow(
y, 2);
1354 const auto helper_2 = pow(
z, 2);
1355 const auto helper_3 = (27.0 / 2.0) *
x;
1356 const auto helper_4 = (27.0 / 2.0) *
y;
1357 const auto helper_5 = (27.0 / 2.0) *
z;
1358 result_0 = -helper_0 * helper_4 - helper_0 * helper_5 + 9 * helper_0 - helper_1 * helper_3 - helper_1 * helper_5 + 9 * helper_1 - helper_2 * helper_3 - helper_2 * helper_4 + 9 * helper_2 - 9.0 / 2.0 * pow(
x, 3) - 27 *
x *
y *
z + 18 *
x *
y + 18 *
x *
z - 11.0 / 2.0 *
x - 9.0 / 2.0 * pow(
y, 3) + 18 *
y *
z - 11.0 / 2.0 *
y - 9.0 / 2.0 * pow(
z, 3) - 11.0 / 2.0 *
z + 1;
1363 result_0 = (1.0 / 2.0) *
x * (9 * pow(
x, 2) - 9 *
x + 2);
1368 result_0 = (1.0 / 2.0) *
y * (9 * pow(
y, 2) - 9 *
y + 2);
1373 result_0 = (1.0 / 2.0) *
z * (9 * pow(
z, 2) - 9 *
z + 2);
1378 result_0 = (9.0 / 2.0) *
x * (
x +
y +
z - 1) * (3 *
x + 3 *
y + 3 *
z - 2);
1383 const auto helper_0 = 3 *
x;
1384 result_0 = -9.0 / 2.0 *
x * (helper_0 *
y + helper_0 *
z + 3 * pow(
x, 2) - 4 *
x -
y -
z + 1);
1389 result_0 = (9.0 / 2.0) *
x *
y * (3 *
x - 1);
1394 result_0 = (9.0 / 2.0) *
x *
y * (3 *
y - 1);
1399 const auto helper_0 = 3 *
y;
1400 result_0 = -9.0 / 2.0 *
y * (helper_0 *
x + helper_0 *
z -
x + 3 * pow(
y, 2) - 4 *
y -
z + 1);
1405 result_0 = (9.0 / 2.0) *
y * (
x +
y +
z - 1) * (3 *
x + 3 *
y + 3 *
z - 2);
1410 result_0 = (9.0 / 2.0) *
z * (
x +
y +
z - 1) * (3 *
x + 3 *
y + 3 *
z - 2);
1415 const auto helper_0 = 3 *
z;
1416 result_0 = -9.0 / 2.0 *
z * (helper_0 *
x + helper_0 *
y -
x -
y + 3 * pow(
z, 2) - 4 *
z + 1);
1421 result_0 = (9.0 / 2.0) *
x *
z * (3 *
x - 1);
1426 result_0 = (9.0 / 2.0) *
x *
z * (3 *
z - 1);
1431 result_0 = (9.0 / 2.0) *
y *
z * (3 *
y - 1);
1436 result_0 = (9.0 / 2.0) *
y *
z * (3 *
z - 1);
1441 result_0 = -27 *
x *
y * (
x +
y +
z - 1);
1446 result_0 = -27 *
x *
z * (
x +
y +
z - 1);
1451 result_0 = 27 *
x *
y *
z;
1456 result_0 = -27 *
y *
z * (
x +
y +
z - 1);
1463 void p_3_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
1466 auto x = uv.col(0).array();
1467 auto y = uv.col(1).array();
1468 auto z = uv.col(2).array();
1470 val.resize(uv.rows(), uv.cols());
1471 Eigen::ArrayXd result_0(uv.rows());
1472 switch (local_index)
1477 const auto helper_0 = 27 *
x;
1478 result_0 = -helper_0 *
y - helper_0 *
z - 27.0 / 2.0 * pow(
x, 2) + 18 *
x - 27.0 / 2.0 * pow(
y, 2) - 27 *
y *
z + 18 *
y - 27.0 / 2.0 * pow(
z, 2) + 18 *
z - 11.0 / 2.0;
1479 val.col(0) = result_0;
1482 const auto helper_0 = 27 *
x;
1483 result_0 = -helper_0 *
y - helper_0 *
z - 27.0 / 2.0 * pow(
x, 2) + 18 *
x - 27.0 / 2.0 * pow(
y, 2) - 27 *
y *
z + 18 *
y - 27.0 / 2.0 * pow(
z, 2) + 18 *
z - 11.0 / 2.0;
1484 val.col(1) = result_0;
1487 const auto helper_0 = 27 *
x;
1488 result_0 = -helper_0 *
y - helper_0 *
z - 27.0 / 2.0 * pow(
x, 2) + 18 *
x - 27.0 / 2.0 * pow(
y, 2) - 27 *
y *
z + 18 *
y - 27.0 / 2.0 * pow(
z, 2) + 18 *
z - 11.0 / 2.0;
1489 val.col(2) = result_0;
1496 result_0 = (27.0 / 2.0) * pow(
x, 2) - 9 *
x + 1;
1497 val.col(0) = result_0;
1501 val.col(1) = result_0;
1505 val.col(2) = result_0;
1513 val.col(0) = result_0;
1516 result_0 = (27.0 / 2.0) * pow(
y, 2) - 9 *
y + 1;
1517 val.col(1) = result_0;
1521 val.col(2) = result_0;
1529 val.col(0) = result_0;
1533 val.col(1) = result_0;
1536 result_0 = (27.0 / 2.0) * pow(
z, 2) - 9 *
z + 1;
1537 val.col(2) = result_0;
1544 const auto helper_0 = 6 *
x;
1545 result_0 = 9 * helper_0 *
y + 9 * helper_0 *
z + (81.0 / 2.0) * pow(
x, 2) - 45 *
x + (27.0 / 2.0) * pow(
y, 2) + 27 *
y *
z - 45.0 / 2.0 *
y + (27.0 / 2.0) * pow(
z, 2) - 45.0 / 2.0 *
z + 9;
1546 val.col(0) = result_0;
1549 result_0 = (9.0 / 2.0) *
x * (6 *
x + 6 *
y + 6 *
z - 5);
1550 val.col(1) = result_0;
1553 result_0 = (9.0 / 2.0) *
x * (6 *
x + 6 *
y + 6 *
z - 5);
1554 val.col(2) = result_0;
1561 const auto helper_0 = 3 *
x;
1562 result_0 = -9 * helper_0 *
y - 9 * helper_0 *
z - 81.0 / 2.0 * pow(
x, 2) + 36 *
x + (9.0 / 2.0) *
y + (9.0 / 2.0) *
z - 9.0 / 2.0;
1563 val.col(0) = result_0;
1566 result_0 = -9.0 / 2.0 *
x * (3 *
x - 1);
1567 val.col(1) = result_0;
1570 result_0 = -9.0 / 2.0 *
x * (3 *
x - 1);
1571 val.col(2) = result_0;
1578 result_0 = (9.0 / 2.0) *
y * (6 *
x - 1);
1579 val.col(0) = result_0;
1582 result_0 = (9.0 / 2.0) *
x * (3 *
x - 1);
1583 val.col(1) = result_0;
1587 val.col(2) = result_0;
1594 result_0 = (9.0 / 2.0) *
y * (3 *
y - 1);
1595 val.col(0) = result_0;
1598 result_0 = (9.0 / 2.0) *
x * (6 *
y - 1);
1599 val.col(1) = result_0;
1603 val.col(2) = result_0;
1610 result_0 = -9.0 / 2.0 *
y * (3 *
y - 1);
1611 val.col(0) = result_0;
1614 const auto helper_0 = 3 *
y;
1615 result_0 = -9 * helper_0 *
x - 9 * helper_0 *
z + (9.0 / 2.0) *
x - 81.0 / 2.0 * pow(
y, 2) + 36 *
y + (9.0 / 2.0) *
z - 9.0 / 2.0;
1616 val.col(1) = result_0;
1619 result_0 = -9.0 / 2.0 *
y * (3 *
y - 1);
1620 val.col(2) = result_0;
1627 result_0 = (9.0 / 2.0) *
y * (6 *
x + 6 *
y + 6 *
z - 5);
1628 val.col(0) = result_0;
1631 const auto helper_0 = 6 *
y;
1632 result_0 = 9 * helper_0 *
x + 9 * helper_0 *
z + (27.0 / 2.0) * pow(
x, 2) + 27 *
x *
z - 45.0 / 2.0 *
x + (81.0 / 2.0) * pow(
y, 2) - 45 *
y + (27.0 / 2.0) * pow(
z, 2) - 45.0 / 2.0 *
z + 9;
1633 val.col(1) = result_0;
1636 result_0 = (9.0 / 2.0) *
y * (6 *
x + 6 *
y + 6 *
z - 5);
1637 val.col(2) = result_0;
1644 result_0 = (9.0 / 2.0) *
z * (6 *
x + 6 *
y + 6 *
z - 5);
1645 val.col(0) = result_0;
1648 result_0 = (9.0 / 2.0) *
z * (6 *
x + 6 *
y + 6 *
z - 5);
1649 val.col(1) = result_0;
1652 const auto helper_0 = 6 *
z;
1653 result_0 = 9 * helper_0 *
x + 9 * helper_0 *
y + (27.0 / 2.0) * pow(
x, 2) + 27 *
x *
y - 45.0 / 2.0 *
x + (27.0 / 2.0) * pow(
y, 2) - 45.0 / 2.0 *
y + (81.0 / 2.0) * pow(
z, 2) - 45 *
z + 9;
1654 val.col(2) = result_0;
1661 result_0 = -9.0 / 2.0 *
z * (3 *
z - 1);
1662 val.col(0) = result_0;
1665 result_0 = -9.0 / 2.0 *
z * (3 *
z - 1);
1666 val.col(1) = result_0;
1669 const auto helper_0 = 3 *
z;
1670 result_0 = -9 * helper_0 *
x - 9 * helper_0 *
y + (9.0 / 2.0) *
x + (9.0 / 2.0) *
y - 81.0 / 2.0 * pow(
z, 2) + 36 *
z - 9.0 / 2.0;
1671 val.col(2) = result_0;
1678 result_0 = (9.0 / 2.0) *
z * (6 *
x - 1);
1679 val.col(0) = result_0;
1683 val.col(1) = result_0;
1686 result_0 = (9.0 / 2.0) *
x * (3 *
x - 1);
1687 val.col(2) = result_0;
1694 result_0 = (9.0 / 2.0) *
z * (3 *
z - 1);
1695 val.col(0) = result_0;
1699 val.col(1) = result_0;
1702 result_0 = (9.0 / 2.0) *
x * (6 *
z - 1);
1703 val.col(2) = result_0;
1711 val.col(0) = result_0;
1714 result_0 = (9.0 / 2.0) *
z * (6 *
y - 1);
1715 val.col(1) = result_0;
1718 result_0 = (9.0 / 2.0) *
y * (3 *
y - 1);
1719 val.col(2) = result_0;
1727 val.col(0) = result_0;
1730 result_0 = (9.0 / 2.0) *
z * (3 *
z - 1);
1731 val.col(1) = result_0;
1734 result_0 = (9.0 / 2.0) *
y * (6 *
z - 1);
1735 val.col(2) = result_0;
1742 result_0 = -27 *
y * (2 *
x +
y +
z - 1);
1743 val.col(0) = result_0;
1746 result_0 = -27 *
x * (
x + 2 *
y +
z - 1);
1747 val.col(1) = result_0;
1750 result_0 = -27 *
x *
y;
1751 val.col(2) = result_0;
1758 result_0 = -27 *
z * (2 *
x +
y +
z - 1);
1759 val.col(0) = result_0;
1762 result_0 = -27 *
x *
z;
1763 val.col(1) = result_0;
1766 result_0 = -27 *
x * (
x +
y + 2 *
z - 1);
1767 val.col(2) = result_0;
1774 result_0 = 27 *
y *
z;
1775 val.col(0) = result_0;
1778 result_0 = 27 *
x *
z;
1779 val.col(1) = result_0;
1782 result_0 = 27 *
x *
y;
1783 val.col(2) = result_0;
1790 result_0 = -27 *
y *
z;
1791 val.col(0) = result_0;
1794 result_0 = -27 *
z * (
x + 2 *
y +
z - 1);
1795 val.col(1) = result_0;
1798 result_0 = -27 *
y * (
x +
y + 2 *
z - 1);
1799 val.col(2) = result_0;
1808 void p_3_nodes_3d(Eigen::MatrixXd &res)
1817 2.0 / 3.0, 1.0 / 3.0, 0,
1818 1.0 / 3.0, 2.0 / 3.0, 0,
1823 2.0 / 3.0, 0, 1.0 / 3.0,
1824 1.0 / 3.0, 0, 2.0 / 3.0,
1825 0, 2.0 / 3.0, 1.0 / 3.0,
1826 0, 1.0 / 3.0, 2.0 / 3.0,
1827 1.0 / 3.0, 1.0 / 3.0, 0,
1828 1.0 / 3.0, 0, 1.0 / 3.0,
1829 1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0,
1830 0, 1.0 / 3.0, 1.0 / 3.0;
1833 void p_4_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)
1836 auto x = uv.col(0).array();
1837 auto y = uv.col(1).array();
1838 auto z = uv.col(2).array();
1840 switch (local_index)
1844 const auto helper_0 =
x +
y +
z - 1;
1845 const auto helper_1 =
x *
y;
1846 const auto helper_2 = pow(
y, 2);
1847 const auto helper_3 = 9 *
x;
1848 const auto helper_4 = pow(
z, 2);
1849 const auto helper_5 = pow(
x, 2);
1850 const auto helper_6 = 9 *
y;
1851 const auto helper_7 = 9 *
z;
1852 const auto helper_8 = 26 * helper_0;
1853 const auto helper_9 = helper_8 *
z;
1854 const auto helper_10 = 13 * pow(helper_0, 2);
1855 const auto helper_11 = 13 * helper_0;
1856 result_0 = (1.0 / 3.0) * helper_0 * (3 * pow(helper_0, 3) + helper_1 * helper_8 + 18 * helper_1 *
z + helper_10 *
x + helper_10 *
y + helper_10 *
z + helper_11 * helper_2 + helper_11 * helper_4 + helper_11 * helper_5 + helper_2 * helper_3 + helper_2 * helper_7 + helper_3 * helper_4 + helper_4 * helper_6 + helper_5 * helper_6 + helper_5 * helper_7 + helper_9 *
x + helper_9 *
y + 3 * pow(
x, 3) + 3 * pow(
y, 3) + 3 * pow(
z, 3));
1861 result_0 = (1.0 / 3.0) *
x * (32 * pow(
x, 3) - 48 * pow(
x, 2) + 22 *
x - 3);
1866 result_0 = (1.0 / 3.0) *
y * (32 * pow(
y, 3) - 48 * pow(
y, 2) + 22 *
y - 3);
1871 result_0 = (1.0 / 3.0) *
z * (32 * pow(
z, 3) - 48 * pow(
z, 2) + 22 *
z - 3);
1876 const auto helper_0 = 36 *
x;
1877 const auto helper_1 =
y *
z;
1878 const auto helper_2 = pow(
x, 2);
1879 const auto helper_3 = pow(
y, 2);
1880 const auto helper_4 = pow(
z, 2);
1881 const auto helper_5 = 24 *
x;
1882 const auto helper_6 = 24 *
y;
1883 const auto helper_7 = 24 *
z;
1884 result_0 = -16.0 / 3.0 *
x * (-helper_0 *
y - helper_0 *
z + 48 * helper_1 *
x - 36 * helper_1 + helper_2 * helper_6 + helper_2 * helper_7 - 18 * helper_2 + helper_3 * helper_5 + helper_3 * helper_7 - 18 * helper_3 + helper_4 * helper_5 + helper_4 * helper_6 - 18 * helper_4 + 8 * pow(
x, 3) + 13 *
x + 8 * pow(
y, 3) + 13 *
y + 8 * pow(
z, 3) + 13 *
z - 3);
1889 const auto helper_0 = 2 *
y;
1890 const auto helper_1 = 2 *
z;
1891 const auto helper_2 =
x +
y +
z - 1;
1892 const auto helper_3 = helper_2 *
x;
1893 result_0 = 4 * helper_3 * (-helper_0 * helper_2 + helper_0 *
x - helper_0 *
z - helper_1 * helper_2 + helper_1 *
x + 3 * pow(helper_2, 2) + 10 * helper_3 + 3 * pow(
x, 2) - pow(
y, 2) - pow(
z, 2));
1898 const auto helper_0 = 6 *
x;
1899 const auto helper_1 = pow(
x, 2);
1900 const auto helper_2 = 8 * helper_1;
1901 result_0 = -16.0 / 3.0 *
x * (-helper_0 *
y - helper_0 *
z - 14 * helper_1 + helper_2 *
y + helper_2 *
z + 8 * pow(
x, 3) + 7 *
x +
y +
z - 1);
1906 result_0 = (16.0 / 3.0) *
x *
y * (8 * pow(
x, 2) - 6 *
x + 1);
1911 const auto helper_0 = 4 *
x;
1912 result_0 = helper_0 *
y * (-helper_0 + 16 *
x *
y - 4 *
y + 1);
1917 result_0 = (16.0 / 3.0) *
x *
y * (8 * pow(
y, 2) - 6 *
y + 1);
1922 const auto helper_0 = 6 *
y;
1923 const auto helper_1 = pow(
y, 2);
1924 const auto helper_2 = 8 * helper_1;
1925 result_0 = -16.0 / 3.0 *
y * (-helper_0 *
x - helper_0 *
z - 14 * helper_1 + helper_2 *
x + helper_2 *
z +
x + 8 * pow(
y, 3) + 7 *
y +
z - 1);
1930 const auto helper_0 = 2 *
y;
1931 const auto helper_1 = 2 *
x;
1932 const auto helper_2 =
x +
y +
z - 1;
1933 const auto helper_3 = helper_2 *
y;
1934 result_0 = -4 * helper_3 * (-helper_0 *
x - helper_0 *
z + helper_1 * helper_2 + helper_1 *
z - 3 * pow(helper_2, 2) + 2 * helper_2 *
z - 10 * helper_3 + pow(
x, 2) - 3 * pow(
y, 2) + pow(
z, 2));
1939 const auto helper_0 = 36 *
x;
1940 const auto helper_1 =
y *
z;
1941 const auto helper_2 = pow(
x, 2);
1942 const auto helper_3 = pow(
y, 2);
1943 const auto helper_4 = pow(
z, 2);
1944 const auto helper_5 = 24 *
x;
1945 const auto helper_6 = 24 *
y;
1946 const auto helper_7 = 24 *
z;
1947 result_0 = -16.0 / 3.0 *
y * (-helper_0 *
y - helper_0 *
z + 48 * helper_1 *
x - 36 * helper_1 + helper_2 * helper_6 + helper_2 * helper_7 - 18 * helper_2 + helper_3 * helper_5 + helper_3 * helper_7 - 18 * helper_3 + helper_4 * helper_5 + helper_4 * helper_6 - 18 * helper_4 + 8 * pow(
x, 3) + 13 *
x + 8 * pow(
y, 3) + 13 *
y + 8 * pow(
z, 3) + 13 *
z - 3);
1952 const auto helper_0 = 36 *
x;
1953 const auto helper_1 =
y *
z;
1954 const auto helper_2 = pow(
x, 2);
1955 const auto helper_3 = pow(
y, 2);
1956 const auto helper_4 = pow(
z, 2);
1957 const auto helper_5 = 24 *
x;
1958 const auto helper_6 = 24 *
y;
1959 const auto helper_7 = 24 *
z;
1960 result_0 = -16.0 / 3.0 *
z * (-helper_0 *
y - helper_0 *
z + 48 * helper_1 *
x - 36 * helper_1 + helper_2 * helper_6 + helper_2 * helper_7 - 18 * helper_2 + helper_3 * helper_5 + helper_3 * helper_7 - 18 * helper_3 + helper_4 * helper_5 + helper_4 * helper_6 - 18 * helper_4 + 8 * pow(
x, 3) + 13 *
x + 8 * pow(
y, 3) + 13 *
y + 8 * pow(
z, 3) + 13 *
z - 3);
1965 const auto helper_0 = 2 *
x;
1966 const auto helper_1 = 2 *
z;
1967 const auto helper_2 =
x +
y +
z - 1;
1968 const auto helper_3 = helper_2 *
z;
1969 result_0 = -4 * helper_3 * (helper_0 * helper_2 + helper_0 *
y - helper_1 *
x - helper_1 *
y - 3 * pow(helper_2, 2) + 2 * helper_2 *
y - 10 * helper_3 + pow(
x, 2) + pow(
y, 2) - 3 * pow(
z, 2));
1974 const auto helper_0 = 6 *
z;
1975 const auto helper_1 = pow(
z, 2);
1976 const auto helper_2 = 8 * helper_1;
1977 result_0 = -16.0 / 3.0 *
z * (-helper_0 *
x - helper_0 *
y - 14 * helper_1 + helper_2 *
x + helper_2 *
y +
x +
y + 8 * pow(
z, 3) + 7 *
z - 1);
1982 result_0 = (16.0 / 3.0) *
x *
z * (8 * pow(
x, 2) - 6 *
x + 1);
1987 const auto helper_0 = 4 *
x;
1988 result_0 = helper_0 *
z * (-helper_0 + 16 *
x *
z - 4 *
z + 1);
1993 result_0 = (16.0 / 3.0) *
x *
z * (8 * pow(
z, 2) - 6 *
z + 1);
1998 result_0 = (16.0 / 3.0) *
y *
z * (8 * pow(
y, 2) - 6 *
y + 1);
2003 const auto helper_0 = 4 *
y;
2004 result_0 = helper_0 *
z * (-helper_0 + 16 *
y *
z - 4 *
z + 1);
2009 result_0 = (16.0 / 3.0) *
y *
z * (8 * pow(
z, 2) - 6 *
z + 1);
2014 result_0 = 32 *
x *
y * (
x +
y +
z - 1) * (4 *
x + 4 *
y + 4 *
z - 3);
2019 result_0 = -32 *
x *
y * (4 *
y - 1) * (
x +
y +
z - 1);
2024 result_0 = -32 *
x *
y * (4 *
x - 1) * (
x +
y +
z - 1);
2029 result_0 = 32 *
x *
z * (
x +
y +
z - 1) * (4 *
x + 4 *
y + 4 *
z - 3);
2034 result_0 = -32 *
x *
z * (4 *
z - 1) * (
x +
y +
z - 1);
2039 result_0 = -32 *
x *
z * (4 *
x - 1) * (
x +
y +
z - 1);
2044 result_0 = 32 *
x *
y *
z * (4 *
x - 1);
2049 result_0 = 32 *
x *
y *
z * (4 *
z - 1);
2054 result_0 = 32 *
x *
y *
z * (4 *
y - 1);
2059 result_0 = -32 *
y *
z * (4 *
y - 1) * (
x +
y +
z - 1);
2064 result_0 = -32 *
y *
z * (4 *
z - 1) * (
x +
y +
z - 1);
2069 result_0 = 32 *
y *
z * (
x +
y +
z - 1) * (4 *
x + 4 *
y + 4 *
z - 3);
2074 result_0 = -256 *
x *
y *
z * (
x +
y +
z - 1);
2081 void p_4_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val)
2084 auto x = uv.col(0).array();
2085 auto y = uv.col(1).array();
2086 auto z = uv.col(2).array();
2088 val.resize(uv.rows(), uv.cols());
2089 Eigen::ArrayXd result_0(uv.rows());
2090 switch (local_index)
2095 const auto helper_0 = 160 *
x;
2096 const auto helper_1 =
y *
z;
2097 const auto helper_2 = pow(
x, 2);
2098 const auto helper_3 = pow(
y, 2);
2099 const auto helper_4 = pow(
z, 2);
2100 const auto helper_5 = 128 *
x;
2101 const auto helper_6 = 128 *
y;
2102 const auto helper_7 = 128 *
z;
2103 result_0 = -helper_0 *
y - helper_0 *
z + 256 * helper_1 *
x - 160 * helper_1 + helper_2 * helper_6 + helper_2 * helper_7 - 80 * helper_2 + helper_3 * helper_5 + helper_3 * helper_7 - 80 * helper_3 + helper_4 * helper_5 + helper_4 * helper_6 - 80 * helper_4 + (128.0 / 3.0) * pow(
x, 3) + (140.0 / 3.0) *
x + (128.0 / 3.0) * pow(
y, 3) + (140.0 / 3.0) *
y + (128.0 / 3.0) * pow(
z, 3) + (140.0 / 3.0) *
z - 25.0 / 3.0;
2104 val.col(0) = result_0;
2107 const auto helper_0 = 160 *
x;
2108 const auto helper_1 =
y *
z;
2109 const auto helper_2 = pow(
x, 2);
2110 const auto helper_3 = pow(
y, 2);
2111 const auto helper_4 = pow(
z, 2);
2112 const auto helper_5 = 128 *
x;
2113 const auto helper_6 = 128 *
y;
2114 const auto helper_7 = 128 *
z;
2115 result_0 = -helper_0 *
y - helper_0 *
z + 256 * helper_1 *
x - 160 * helper_1 + helper_2 * helper_6 + helper_2 * helper_7 - 80 * helper_2 + helper_3 * helper_5 + helper_3 * helper_7 - 80 * helper_3 + helper_4 * helper_5 + helper_4 * helper_6 - 80 * helper_4 + (128.0 / 3.0) * pow(
x, 3) + (140.0 / 3.0) *
x + (128.0 / 3.0) * pow(
y, 3) + (140.0 / 3.0) *
y + (128.0 / 3.0) * pow(
z, 3) + (140.0 / 3.0) *
z - 25.0 / 3.0;
2116 val.col(1) = result_0;
2119 const auto helper_0 = 160 *
x;
2120 const auto helper_1 =
y *
z;
2121 const auto helper_2 = pow(
x, 2);
2122 const auto helper_3 = pow(
y, 2);
2123 const auto helper_4 = pow(
z, 2);
2124 const auto helper_5 = 128 *
x;
2125 const auto helper_6 = 128 *
y;
2126 const auto helper_7 = 128 *
z;
2127 result_0 = -helper_0 *
y - helper_0 *
z + 256 * helper_1 *
x - 160 * helper_1 + helper_2 * helper_6 + helper_2 * helper_7 - 80 * helper_2 + helper_3 * helper_5 + helper_3 * helper_7 - 80 * helper_3 + helper_4 * helper_5 + helper_4 * helper_6 - 80 * helper_4 + (128.0 / 3.0) * pow(
x, 3) + (140.0 / 3.0) *
x + (128.0 / 3.0) * pow(
y, 3) + (140.0 / 3.0) *
y + (128.0 / 3.0) * pow(
z, 3) + (140.0 / 3.0) *
z - 25.0 / 3.0;
2128 val.col(2) = result_0;
2135 result_0 = (128.0 / 3.0) * pow(
x, 3) - 48 * pow(
x, 2) + (44.0 / 3.0) *
x - 1;
2136 val.col(0) = result_0;
2140 val.col(1) = result_0;
2144 val.col(2) = result_0;
2152 val.col(0) = result_0;
2155 result_0 = (128.0 / 3.0) * pow(
y, 3) - 48 * pow(
y, 2) + (44.0 / 3.0) *
y - 1;
2156 val.col(1) = result_0;
2160 val.col(2) = result_0;
2168 val.col(0) = result_0;
2172 val.col(1) = result_0;
2175 result_0 = (128.0 / 3.0) * pow(
z, 3) - 48 * pow(
z, 2) + (44.0 / 3.0) *
z - 1;
2176 val.col(2) = result_0;
2183 const auto helper_0 = pow(
x, 2);
2184 const auto helper_1 = pow(
y, 2);
2185 const auto helper_2 = pow(
z, 2);
2186 const auto helper_3 = 16 *
x;
2187 const auto helper_4 = 24 * helper_0;
2188 result_0 = 288 * helper_0 - 16 * helper_1 * helper_3 - 128 * helper_1 *
z + 96 * helper_1 - 16 * helper_2 * helper_3 - 128 * helper_2 *
y + 96 * helper_2 - 16 * helper_4 *
y - 16 * helper_4 *
z - 512.0 / 3.0 * pow(
x, 3) - 512 *
x *
y *
z + 384 *
x *
y + 384 *
x *
z - 416.0 / 3.0 *
x - 128.0 / 3.0 * pow(
y, 3) + 192 *
y *
z - 208.0 / 3.0 *
y - 128.0 / 3.0 * pow(
z, 3) - 208.0 / 3.0 *
z + 16;
2189 val.col(0) = result_0;
2192 const auto helper_0 = 48 *
x;
2193 result_0 = -16.0 / 3.0 *
x * (helper_0 *
y + helper_0 *
z + 24 * pow(
x, 2) - 36 *
x + 24 * pow(
y, 2) + 48 *
y *
z - 36 *
y + 24 * pow(
z, 2) - 36 *
z + 13);
2194 val.col(1) = result_0;
2197 const auto helper_0 = 48 *
x;
2198 result_0 = -16.0 / 3.0 *
x * (helper_0 *
y + helper_0 *
z + 24 * pow(
x, 2) - 36 *
x + 24 * pow(
y, 2) + 48 *
y *
z - 36 *
y + 24 * pow(
z, 2) - 36 *
z + 13);
2199 val.col(2) = result_0;
2206 const auto helper_0 = 72 *
x;
2207 const auto helper_1 =
y *
z;
2208 const auto helper_2 = 96 * pow(
x, 2);
2209 const auto helper_3 = pow(
y, 2);
2210 const auto helper_4 = pow(
z, 2);
2211 const auto helper_5 = 32 *
x;
2212 result_0 = -4 * helper_0 *
y - 4 * helper_0 *
z + 256 * helper_1 *
x - 32 * helper_1 + 4 * helper_2 *
y + 4 * helper_2 *
z - 4 * helper_2 + 4 * helper_3 * helper_5 - 16 * helper_3 + 4 * helper_4 * helper_5 - 16 * helper_4 + 256 * pow(
x, 3) + 152 *
x + 28 *
y + 28 *
z - 12;
2213 val.col(0) = result_0;
2216 const auto helper_0 = 32 *
x;
2217 result_0 = 4 *
x * (helper_0 *
y + helper_0 *
z + 32 * pow(
x, 2) - 36 *
x - 8 *
y - 8 *
z + 7);
2218 val.col(1) = result_0;
2221 const auto helper_0 = 32 *
x;
2222 result_0 = 4 *
x * (helper_0 *
y + helper_0 *
z + 32 * pow(
x, 2) - 36 *
x - 8 *
y - 8 *
z + 7);
2223 val.col(2) = result_0;
2230 const auto helper_0 = pow(
x, 2);
2231 const auto helper_1 = 8 * helper_0;
2232 result_0 = 224 * helper_0 - 16 * helper_1 *
y - 16 * helper_1 *
z - 512.0 / 3.0 * pow(
x, 3) + 64 *
x *
y + 64 *
x *
z - 224.0 / 3.0 *
x - 16.0 / 3.0 *
y - 16.0 / 3.0 *
z + 16.0 / 3.0;
2233 val.col(0) = result_0;
2236 result_0 = -16.0 / 3.0 *
x * (8 * pow(
x, 2) - 6 *
x + 1);
2237 val.col(1) = result_0;
2240 result_0 = -16.0 / 3.0 *
x * (8 * pow(
x, 2) - 6 *
x + 1);
2241 val.col(2) = result_0;
2248 result_0 = (16.0 / 3.0) *
y * (24 * pow(
x, 2) - 12 *
x + 1);
2249 val.col(0) = result_0;
2252 result_0 = (16.0 / 3.0) *
x * (8 * pow(
x, 2) - 6 *
x + 1);
2253 val.col(1) = result_0;
2257 val.col(2) = result_0;
2264 const auto helper_0 = 4 *
y;
2265 result_0 = helper_0 * (-helper_0 + 32 *
x *
y - 8 *
x + 1);
2266 val.col(0) = result_0;
2269 const auto helper_0 = 4 *
x;
2270 result_0 = helper_0 * (-helper_0 + 32 *
x *
y - 8 *
y + 1);
2271 val.col(1) = result_0;
2275 val.col(2) = result_0;
2282 result_0 = (16.0 / 3.0) *
y * (8 * pow(
y, 2) - 6 *
y + 1);
2283 val.col(0) = result_0;
2286 result_0 = (16.0 / 3.0) *
x * (24 * pow(
y, 2) - 12 *
y + 1);
2287 val.col(1) = result_0;
2291 val.col(2) = result_0;
2298 result_0 = -16.0 / 3.0 *
y * (8 * pow(
y, 2) - 6 *
y + 1);
2299 val.col(0) = result_0;
2302 const auto helper_0 = pow(
y, 2);
2303 const auto helper_1 = 8 * helper_0;
2304 result_0 = 224 * helper_0 - 16 * helper_1 *
x - 16 * helper_1 *
z + 64 *
x *
y - 16.0 / 3.0 *
x - 512.0 / 3.0 * pow(
y, 3) + 64 *
y *
z - 224.0 / 3.0 *
y - 16.0 / 3.0 *
z + 16.0 / 3.0;
2305 val.col(1) = result_0;
2308 result_0 = -16.0 / 3.0 *
y * (8 * pow(
y, 2) - 6 *
y + 1);
2309 val.col(2) = result_0;
2316 const auto helper_0 = 32 *
y;
2317 result_0 = 4 *
y * (helper_0 *
x + helper_0 *
z - 8 *
x + 32 * pow(
y, 2) - 36 *
y - 8 *
z + 7);
2318 val.col(0) = result_0;
2321 const auto helper_0 = 72 *
y;
2322 const auto helper_1 =
x *
z;
2323 const auto helper_2 = pow(
x, 2);
2324 const auto helper_3 = 96 * pow(
y, 2);
2325 const auto helper_4 = pow(
z, 2);
2326 const auto helper_5 = 32 *
y;
2327 result_0 = -4 * helper_0 *
x - 4 * helper_0 *
z + 256 * helper_1 *
y - 32 * helper_1 + 4 * helper_2 * helper_5 - 16 * helper_2 + 4 * helper_3 *
x + 4 * helper_3 *
z - 4 * helper_3 + 4 * helper_4 * helper_5 - 16 * helper_4 + 28 *
x + 256 * pow(
y, 3) + 152 *
y + 28 *
z - 12;
2328 val.col(1) = result_0;
2331 const auto helper_0 = 32 *
y;
2332 result_0 = 4 *
y * (helper_0 *
x + helper_0 *
z - 8 *
x + 32 * pow(
y, 2) - 36 *
y - 8 *
z + 7);
2333 val.col(2) = result_0;
2340 const auto helper_0 = 48 *
x;
2341 result_0 = -16.0 / 3.0 *
y * (helper_0 *
y + helper_0 *
z + 24 * pow(
x, 2) - 36 *
x + 24 * pow(
y, 2) + 48 *
y *
z - 36 *
y + 24 * pow(
z, 2) - 36 *
z + 13);
2342 val.col(0) = result_0;
2345 const auto helper_0 = pow(
x, 2);
2346 const auto helper_1 = pow(
y, 2);
2347 const auto helper_2 = pow(
z, 2);
2348 const auto helper_3 = 24 * helper_1;
2349 const auto helper_4 = 16 *
y;
2350 result_0 = -16 * helper_0 * helper_4 - 128 * helper_0 *
z + 96 * helper_0 + 288 * helper_1 - 16 * helper_2 * helper_4 - 128 * helper_2 *
x + 96 * helper_2 - 16 * helper_3 *
x - 16 * helper_3 *
z - 128.0 / 3.0 * pow(
x, 3) - 512 *
x *
y *
z + 384 *
x *
y + 192 *
x *
z - 208.0 / 3.0 *
x - 512.0 / 3.0 * pow(
y, 3) + 384 *
y *
z - 416.0 / 3.0 *
y - 128.0 / 3.0 * pow(
z, 3) - 208.0 / 3.0 *
z + 16;
2351 val.col(1) = result_0;
2354 const auto helper_0 = 48 *
x;
2355 result_0 = -16.0 / 3.0 *
y * (helper_0 *
y + helper_0 *
z + 24 * pow(
x, 2) - 36 *
x + 24 * pow(
y, 2) + 48 *
y *
z - 36 *
y + 24 * pow(
z, 2) - 36 *
z + 13);
2356 val.col(2) = result_0;
2363 const auto helper_0 = 48 *
x;
2364 result_0 = -16.0 / 3.0 *
z * (helper_0 *
y + helper_0 *
z + 24 * pow(
x, 2) - 36 *
x + 24 * pow(
y, 2) + 48 *
y *
z - 36 *
y + 24 * pow(
z, 2) - 36 *
z + 13);
2365 val.col(0) = result_0;
2368 const auto helper_0 = 48 *
x;
2369 result_0 = -16.0 / 3.0 *
z * (helper_0 *
y + helper_0 *
z + 24 * pow(
x, 2) - 36 *
x + 24 * pow(
y, 2) + 48 *
y *
z - 36 *
y + 24 * pow(
z, 2) - 36 *
z + 13);
2370 val.col(1) = result_0;
2373 const auto helper_0 = pow(
x, 2);
2374 const auto helper_1 = pow(
y, 2);
2375 const auto helper_2 = pow(
z, 2);
2376 const auto helper_3 = 24 * helper_2;
2377 const auto helper_4 = 16 *
z;
2378 result_0 = -16 * helper_0 * helper_4 - 128 * helper_0 *
y + 96 * helper_0 - 16 * helper_1 * helper_4 - 128 * helper_1 *
x + 96 * helper_1 + 288 * helper_2 - 16 * helper_3 *
x - 16 * helper_3 *
y - 128.0 / 3.0 * pow(
x, 3) - 512 *
x *
y *
z + 192 *
x *
y + 384 *
x *
z - 208.0 / 3.0 *
x - 128.0 / 3.0 * pow(
y, 3) + 384 *
y *
z - 208.0 / 3.0 *
y - 512.0 / 3.0 * pow(
z, 3) - 416.0 / 3.0 *
z + 16;
2379 val.col(2) = result_0;
2386 const auto helper_0 = 32 *
z;
2387 result_0 = 4 *
z * (helper_0 *
x + helper_0 *
y - 8 *
x - 8 *
y + 32 * pow(
z, 2) - 36 *
z + 7);
2388 val.col(0) = result_0;
2391 const auto helper_0 = 32 *
z;
2392 result_0 = 4 *
z * (helper_0 *
x + helper_0 *
y - 8 *
x - 8 *
y + 32 * pow(
z, 2) - 36 *
z + 7);
2393 val.col(1) = result_0;
2396 const auto helper_0 =
x *
y;
2397 const auto helper_1 = 72 *
z;
2398 const auto helper_2 = pow(
x, 2);
2399 const auto helper_3 = pow(
y, 2);
2400 const auto helper_4 = 96 * pow(
z, 2);
2401 const auto helper_5 = 32 *
z;
2402 result_0 = 256 * helper_0 *
z - 32 * helper_0 - 4 * helper_1 *
x - 4 * helper_1 *
y + 4 * helper_2 * helper_5 - 16 * helper_2 + 4 * helper_3 * helper_5 - 16 * helper_3 + 4 * helper_4 *
x + 4 * helper_4 *
y - 4 * helper_4 + 28 *
x + 28 *
y + 256 * pow(
z, 3) + 152 *
z - 12;
2403 val.col(2) = result_0;
2410 result_0 = -16.0 / 3.0 *
z * (8 * pow(
z, 2) - 6 *
z + 1);
2411 val.col(0) = result_0;
2414 result_0 = -16.0 / 3.0 *
z * (8 * pow(
z, 2) - 6 *
z + 1);
2415 val.col(1) = result_0;
2418 const auto helper_0 = pow(
z, 2);
2419 const auto helper_1 = 8 * helper_0;
2420 result_0 = 224 * helper_0 - 16 * helper_1 *
x - 16 * helper_1 *
y + 64 *
x *
z - 16.0 / 3.0 *
x + 64 *
y *
z - 16.0 / 3.0 *
y - 512.0 / 3.0 * pow(
z, 3) - 224.0 / 3.0 *
z + 16.0 / 3.0;
2421 val.col(2) = result_0;
2428 result_0 = (16.0 / 3.0) *
z * (24 * pow(
x, 2) - 12 *
x + 1);
2429 val.col(0) = result_0;
2433 val.col(1) = result_0;
2436 result_0 = (16.0 / 3.0) *
x * (8 * pow(
x, 2) - 6 *
x + 1);
2437 val.col(2) = result_0;
2444 const auto helper_0 = 4 *
z;
2445 result_0 = helper_0 * (-helper_0 + 32 *
x *
z - 8 *
x + 1);
2446 val.col(0) = result_0;
2450 val.col(1) = result_0;
2453 const auto helper_0 = 4 *
x;
2454 result_0 = helper_0 * (-helper_0 + 32 *
x *
z - 8 *
z + 1);
2455 val.col(2) = result_0;
2462 result_0 = (16.0 / 3.0) *
z * (8 * pow(
z, 2) - 6 *
z + 1);
2463 val.col(0) = result_0;
2467 val.col(1) = result_0;
2470 result_0 = (16.0 / 3.0) *
x * (24 * pow(
z, 2) - 12 *
z + 1);
2471 val.col(2) = result_0;
2479 val.col(0) = result_0;
2482 result_0 = (16.0 / 3.0) *
z * (24 * pow(
y, 2) - 12 *
y + 1);
2483 val.col(1) = result_0;
2486 result_0 = (16.0 / 3.0) *
y * (8 * pow(
y, 2) - 6 *
y + 1);
2487 val.col(2) = result_0;
2495 val.col(0) = result_0;
2498 const auto helper_0 = 4 *
z;
2499 result_0 = helper_0 * (-helper_0 + 32 *
y *
z - 8 *
y + 1);
2500 val.col(1) = result_0;
2503 const auto helper_0 = 4 *
y;
2504 result_0 = helper_0 * (-helper_0 + 32 *
y *
z - 8 *
z + 1);
2505 val.col(2) = result_0;
2513 val.col(0) = result_0;
2516 result_0 = (16.0 / 3.0) *
z * (8 * pow(
z, 2) - 6 *
z + 1);
2517 val.col(1) = result_0;
2520 result_0 = (16.0 / 3.0) *
y * (24 * pow(
z, 2) - 12 *
z + 1);
2521 val.col(2) = result_0;
2528 const auto helper_0 = 16 *
x;
2529 result_0 = 32 *
y * (helper_0 *
y + helper_0 *
z + 12 * pow(
x, 2) - 14 *
x + 4 * pow(
y, 2) + 8 *
y *
z - 7 *
y + 4 * pow(
z, 2) - 7 *
z + 3);
2530 val.col(0) = result_0;
2533 const auto helper_0 = 16 *
y;
2534 result_0 = 32 *
x * (helper_0 *
x + helper_0 *
z + 4 * pow(
x, 2) + 8 *
x *
z - 7 *
x + 12 * pow(
y, 2) - 14 *
y + 4 * pow(
z, 2) - 7 *
z + 3);
2535 val.col(1) = result_0;
2538 result_0 = 32 *
x *
y * (8 *
x + 8 *
y + 8 *
z - 7);
2539 val.col(2) = result_0;
2546 result_0 = -32 *
y * (8 *
x *
y - 2 *
x + 4 * pow(
y, 2) + 4 *
y *
z - 5 *
y -
z + 1);
2547 val.col(0) = result_0;
2550 const auto helper_0 = 8 *
y;
2551 result_0 = -32 *
x * (helper_0 *
x + helper_0 *
z -
x + 12 * pow(
y, 2) - 10 *
y -
z + 1);
2552 val.col(1) = result_0;
2555 result_0 = -32 *
x *
y * (4 *
y - 1);
2556 val.col(2) = result_0;
2563 const auto helper_0 = 8 *
x;
2564 result_0 = -32 *
y * (helper_0 *
y + helper_0 *
z + 12 * pow(
x, 2) - 10 *
x -
y -
z + 1);
2565 val.col(0) = result_0;
2568 result_0 = -32 *
x * (4 * pow(
x, 2) + 8 *
x *
y + 4 *
x *
z - 5 *
x - 2 *
y -
z + 1);
2569 val.col(1) = result_0;
2572 result_0 = -32 *
x *
y * (4 *
x - 1);
2573 val.col(2) = result_0;
2580 const auto helper_0 = 16 *
x;
2581 result_0 = 32 *
z * (helper_0 *
y + helper_0 *
z + 12 * pow(
x, 2) - 14 *
x + 4 * pow(
y, 2) + 8 *
y *
z - 7 *
y + 4 * pow(
z, 2) - 7 *
z + 3);
2582 val.col(0) = result_0;
2585 result_0 = 32 *
x *
z * (8 *
x + 8 *
y + 8 *
z - 7);
2586 val.col(1) = result_0;
2589 const auto helper_0 = 16 *
z;
2590 result_0 = 32 *
x * (helper_0 *
x + helper_0 *
y + 4 * pow(
x, 2) + 8 *
x *
y - 7 *
x + 4 * pow(
y, 2) - 7 *
y + 12 * pow(
z, 2) - 14 *
z + 3);
2591 val.col(2) = result_0;
2598 result_0 = -32 *
z * (8 *
x *
z - 2 *
x + 4 *
y *
z -
y + 4 * pow(
z, 2) - 5 *
z + 1);
2599 val.col(0) = result_0;
2602 result_0 = -32 *
x *
z * (4 *
z - 1);
2603 val.col(1) = result_0;
2606 const auto helper_0 = 8 *
z;
2607 result_0 = -32 *
x * (helper_0 *
x + helper_0 *
y -
x -
y + 12 * pow(
z, 2) - 10 *
z + 1);
2608 val.col(2) = result_0;
2615 const auto helper_0 = 8 *
x;
2616 result_0 = -32 *
z * (helper_0 *
y + helper_0 *
z + 12 * pow(
x, 2) - 10 *
x -
y -
z + 1);
2617 val.col(0) = result_0;
2620 result_0 = -32 *
x *
z * (4 *
x - 1);
2621 val.col(1) = result_0;
2624 result_0 = -32 *
x * (4 * pow(
x, 2) + 4 *
x *
y + 8 *
x *
z - 5 *
x -
y - 2 *
z + 1);
2625 val.col(2) = result_0;
2632 result_0 = 32 *
y *
z * (8 *
x - 1);
2633 val.col(0) = result_0;
2636 result_0 = 32 *
x *
z * (4 *
x - 1);
2637 val.col(1) = result_0;
2640 result_0 = 32 *
x *
y * (4 *
x - 1);
2641 val.col(2) = result_0;
2648 result_0 = 32 *
y *
z * (4 *
z - 1);
2649 val.col(0) = result_0;
2652 result_0 = 32 *
x *
z * (4 *
z - 1);
2653 val.col(1) = result_0;
2656 result_0 = 32 *
x *
y * (8 *
z - 1);
2657 val.col(2) = result_0;
2664 result_0 = 32 *
y *
z * (4 *
y - 1);
2665 val.col(0) = result_0;
2668 result_0 = 32 *
x *
z * (8 *
y - 1);
2669 val.col(1) = result_0;
2672 result_0 = 32 *
x *
y * (4 *
y - 1);
2673 val.col(2) = result_0;
2680 result_0 = -32 *
y *
z * (4 *
y - 1);
2681 val.col(0) = result_0;
2684 const auto helper_0 = 8 *
y;
2685 result_0 = -32 *
z * (helper_0 *
x + helper_0 *
z -
x + 12 * pow(
y, 2) - 10 *
y -
z + 1);
2686 val.col(1) = result_0;
2689 result_0 = -32 *
y * (4 *
x *
y -
x + 4 * pow(
y, 2) + 8 *
y *
z - 5 *
y - 2 *
z + 1);
2690 val.col(2) = result_0;
2697 result_0 = -32 *
y *
z * (4 *
z - 1);
2698 val.col(0) = result_0;
2701 result_0 = -32 *
z * (4 *
x *
z -
x + 8 *
y *
z - 2 *
y + 4 * pow(
z, 2) - 5 *
z + 1);
2702 val.col(1) = result_0;
2705 const auto helper_0 = 8 *
z;
2706 result_0 = -32 *
y * (helper_0 *
x + helper_0 *
y -
x -
y + 12 * pow(
z, 2) - 10 *
z + 1);
2707 val.col(2) = result_0;
2714 result_0 = 32 *
y *
z * (8 *
x + 8 *
y + 8 *
z - 7);
2715 val.col(0) = result_0;
2718 const auto helper_0 = 16 *
y;
2719 result_0 = 32 *
z * (helper_0 *
x + helper_0 *
z + 4 * pow(
x, 2) + 8 *
x *
z - 7 *
x + 12 * pow(
y, 2) - 14 *
y + 4 * pow(
z, 2) - 7 *
z + 3);
2720 val.col(1) = result_0;
2723 const auto helper_0 = 16 *
z;
2724 result_0 = 32 *
y * (helper_0 *
x + helper_0 *
y + 4 * pow(
x, 2) + 8 *
x *
y - 7 *
x + 4 * pow(
y, 2) - 7 *
y + 12 * pow(
z, 2) - 14 *
z + 3);
2725 val.col(2) = result_0;
2732 result_0 = -256 *
y *
z * (2 *
x +
y +
z - 1);
2733 val.col(0) = result_0;
2736 result_0 = -256 *
x *
z * (
x + 2 *
y +
z - 1);
2737 val.col(1) = result_0;
2740 result_0 = -256 *
x *
y * (
x +
y + 2 *
z - 1);
2741 val.col(2) = result_0;
2750 void p_4_nodes_3d(Eigen::MatrixXd &res)
2760 3.0 / 4.0, 1.0 / 4.0, 0,
2761 1.0 / 2.0, 1.0 / 2.0, 0,
2762 1.0 / 4.0, 3.0 / 4.0, 0,
2769 3.0 / 4.0, 0, 1.0 / 4.0,
2770 1.0 / 2.0, 0, 1.0 / 2.0,
2771 1.0 / 4.0, 0, 3.0 / 4.0,
2772 0, 3.0 / 4.0, 1.0 / 4.0,
2773 0, 1.0 / 2.0, 1.0 / 2.0,
2774 0, 1.0 / 4.0, 3.0 / 4.0,
2775 1.0 / 4.0, 1.0 / 4.0, 0,
2776 1.0 / 4.0, 1.0 / 2.0, 0,
2777 1.0 / 2.0, 1.0 / 4.0, 0,
2778 1.0 / 4.0, 0, 1.0 / 4.0,
2779 1.0 / 4.0, 0, 1.0 / 2.0,
2780 1.0 / 2.0, 0, 1.0 / 4.0,
2781 1.0 / 2.0, 1.0 / 4.0, 1.0 / 4.0,
2782 1.0 / 4.0, 1.0 / 4.0, 1.0 / 2.0,
2783 1.0 / 4.0, 1.0 / 2.0, 1.0 / 4.0,
2784 0, 1.0 / 2.0, 1.0 / 4.0,
2785 0, 1.0 / 4.0, 1.0 / 2.0,
2786 0, 1.0 / 4.0, 1.0 / 4.0,
2787 1.0 / 4.0, 1.0 / 4.0, 1.0 / 4.0;
2820 p_0_basis_value_3d(local_index, uv,
val);
2823 p_1_basis_value_3d(local_index, uv,
val);
2826 p_2_basis_value_3d(local_index, uv,
val);
2829 p_3_basis_value_3d(local_index, uv,
val);
2832 p_4_basis_value_3d(local_index, uv,
val);
2844 p_0_basis_grad_value_3d(local_index, uv,
val);
2847 p_1_basis_grad_value_3d(local_index, uv,
val);
2850 p_2_basis_grad_value_3d(local_index, uv,
val);
2853 p_3_basis_grad_value_3d(local_index, uv,
val);
2856 p_4_basis_grad_value_3d(local_index, uv,
val);
void p_n_nodes_3d(const int p, Eigen::MatrixXd &val)
void p_grad_basis_value_2d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_n_basis_grad_value_2d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_n_basis_grad_value_3d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_nodes_2d(const int p, Eigen::MatrixXd &val)
void p_nodes_3d(const int p, Eigen::MatrixXd &val)
void p_n_basis_value_3d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_grad_basis_value_3d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_n_basis_value_2d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_basis_value_3d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_basis_value_2d(const int p, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void p_n_nodes_2d(const int p, Eigen::MatrixXd &val)