PolyFEM
Loading...
Searching...
No Matches
auto_q_bases_3d_val.cpp
Go to the documentation of this file.
2
3
4namespace polyfem {
5namespace autogen {
6namespace {
7void q_0_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
8
9auto x=uv.col(0).array();
10auto y=uv.col(1).array();
11auto z=uv.col(2).array();
12
13result_0.resize(x.size(),1);
14switch(local_index){
15 case 0: {result_0.setOnes();} break;
16 default: assert(false);
17}}
18void q_1_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
19
20auto x=uv.col(0).array();
21auto y=uv.col(1).array();
22auto z=uv.col(2).array();
23
24switch(local_index){
25 case 0: {result_0 = -1.0*(x - 1)*(y - 1)*(z - 1);} break;
26 case 1: {result_0 = 1.0*x*(y - 1)*(z - 1);} break;
27 case 2: {result_0 = -1.0*x*y*(z - 1);} break;
28 case 3: {result_0 = 1.0*y*(x - 1)*(z - 1);} break;
29 case 4: {result_0 = 1.0*z*(x - 1)*(y - 1);} break;
30 case 5: {result_0 = -1.0*x*z*(y - 1);} break;
31 case 6: {result_0 = 1.0*x*y*z;} break;
32 case 7: {result_0 = -1.0*y*z*(x - 1);} break;
33 default: assert(false);
34}}
35void q_2_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
36
37auto x=uv.col(0).array();
38auto y=uv.col(1).array();
39auto z=uv.col(2).array();
40
41switch(local_index){
42 case 0: {result_0 = 1.0*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);} break;
43 case 1: {result_0 = 1.0*x*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);} break;
44 case 2: {result_0 = 1.0*x*y*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);} break;
45 case 3: {result_0 = 1.0*y*(x - 1)*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);} break;
46 case 4: {result_0 = 1.0*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);} break;
47 case 5: {result_0 = 1.0*x*z*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);} break;
48 case 6: {result_0 = 1.0*x*y*z*(2.0*x - 1.0)*(2.0*y - 1.0)*(2.0*z - 1.0);} break;
49 case 7: {result_0 = 1.0*y*z*(x - 1)*(2.0*x - 1.0)*(2.0*y - 1.0)*(2.0*z - 1.0);} break;
50 case 8: {result_0 = -4.0*x*(x - 1)*(y - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);} break;
51 case 9: {result_0 = -4.0*x*y*(2.0*x - 1.0)*(y - 1)*(z - 1)*(2.0*z - 1.0);} break;
52 case 10: {result_0 = -4.0*x*y*(x - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);} break;
53 case 11: {result_0 = -4.0*y*(x - 1)*(2.0*x - 1.0)*(y - 1)*(z - 1)*(2.0*z - 1.0);} break;
54 case 12: {result_0 = -4.0*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1);} break;
55 case 13: {result_0 = -4.0*x*z*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1);} break;
56 case 14: {result_0 = -4.0*x*y*z*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1);} break;
57 case 15: {result_0 = -4.0*y*z*(x - 1)*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1);} break;
58 case 16: {result_0 = -4.0*x*z*(x - 1)*(y - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);} break;
59 case 17: {result_0 = -4.0*x*y*z*(2.0*x - 1.0)*(y - 1)*(2.0*z - 1.0);} break;
60 case 18: {result_0 = -4.0*x*y*z*(x - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);} break;
61 case 19: {result_0 = -4.0*y*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*z - 1.0);} break;
62 case 20: {result_0 = 16.0*y*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(z - 1);} break;
63 case 21: {result_0 = 16.0*x*y*z*(2.0*x - 1.0)*(y - 1)*(z - 1);} break;
64 case 22: {result_0 = 16.0*x*z*(x - 1)*(y - 1)*(2.0*y - 1.0)*(z - 1);} break;
65 case 23: {result_0 = 16.0*x*y*z*(x - 1)*(2.0*y - 1.0)*(z - 1);} break;
66 case 24: {result_0 = 16.0*x*y*(x - 1)*(y - 1)*(z - 1)*(2.0*z - 1.0);} break;
67 case 25: {result_0 = 16.0*x*y*z*(x - 1)*(y - 1)*(2.0*z - 1.0);} break;
68 case 26: {result_0 = -64.0*x*y*z*(x - 1)*(y - 1)*(z - 1);} break;
69 default: assert(false);
70}}
71void q_3_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
72
73auto x=uv.col(0).array();
74auto y=uv.col(1).array();
75auto z=uv.col(2).array();
76
77switch(local_index){
78 case 0: {result_0 = -1.0*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
79 case 1: {result_0 = 1.0*x*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
80 case 2: {result_0 = -1.0*x*y*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
81 case 3: {result_0 = 1.0*y*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
82 case 4: {result_0 = 1.0*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
83 case 5: {result_0 = -1.0*x*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
84 case 6: {result_0 = 1.0*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
85 case 7: {result_0 = -1.0*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
86 case 8: {result_0 = 4.4999999999999991*x*(x - 1)*(3.0*x - 2.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
87 case 9: {result_0 = -4.4999999999999991*x*(x - 1)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
88 case 10: {result_0 = -4.4999999999999991*x*y*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
89 case 11: {result_0 = 4.4999999999999991*x*y*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
90 case 12: {result_0 = 4.4999999999999991*x*y*(x - 1)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
91 case 13: {result_0 = -4.4999999999999991*x*y*(x - 1)*(3.0*x - 2.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
92 case 14: {result_0 = -4.4999999999999991*y*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
93 case 15: {result_0 = 4.4999999999999991*y*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
94 case 16: {result_0 = 4.4999999999999991*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
95 case 17: {result_0 = -4.4999999999999991*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
96 case 18: {result_0 = 4.4999999999999991*x*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
97 case 19: {result_0 = -4.4999999999999991*x*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
98 case 20: {result_0 = -4.4999999999999991*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 1.0);} break;
99 case 21: {result_0 = 4.4999999999999991*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 2.0);} break;
100 case 22: {result_0 = 4.4999999999999991*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 1.0);} break;
101 case 23: {result_0 = -4.4999999999999991*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 2.0);} break;
102 case 24: {result_0 = -4.4999999999999991*x*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
103 case 25: {result_0 = 4.4999999999999991*x*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
104 case 26: {result_0 = 4.4999999999999991*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 2.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
105 case 27: {result_0 = -4.4999999999999991*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
106 case 28: {result_0 = -4.4999999999999991*x*y*z*(x - 1)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
107 case 29: {result_0 = 4.4999999999999991*x*y*z*(x - 1)*(3.0*x - 2.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
108 case 30: {result_0 = 4.4999999999999991*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
109 case 31: {result_0 = -4.4999999999999991*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
110 case 32: {result_0 = -20.249999999999993*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
111 case 33: {result_0 = 20.249999999999993*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
112 case 34: {result_0 = 20.249999999999993*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 1.0);} break;
113 case 35: {result_0 = -20.249999999999993*y*z*(x - 1)*(1.5*x - 1.0)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 2.0);} break;
114 case 36: {result_0 = 20.249999999999993*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 2.0);} break;
115 case 37: {result_0 = -20.249999999999993*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 1.0);} break;
116 case 38: {result_0 = -20.249999999999993*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
117 case 39: {result_0 = 20.249999999999993*x*y*z*(1.4999999999999998*x - 0.49999999999999989)*(2.9999999999999996*x - 1.9999999999999996)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
118 case 40: {result_0 = -20.249999999999993*x*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
119 case 41: {result_0 = 20.249999999999993*x*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
120 case 42: {result_0 = 20.249999999999993*x*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
121 case 43: {result_0 = -20.249999999999993*x*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(1.5*y - 1.0)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
122 case 44: {result_0 = 20.249999999999993*x*y*z*(x - 1)*(3.0*x - 2.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 2.0);} break;
123 case 45: {result_0 = -20.249999999999993*x*y*z*(x - 1)*(3.0*x - 2.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 1.0);} break;
124 case 46: {result_0 = -20.249999999999993*x*y*z*(x - 1)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 2.0);} break;
125 case 47: {result_0 = 20.249999999999993*x*y*z*(x - 1)*(3.0*x - 1.0)*(1.4999999999999998*y - 0.49999999999999989)*(2.9999999999999996*y - 1.9999999999999996)*(z - 1)*(3.0*z - 1.0);} break;
126 case 48: {result_0 = -20.249999999999993*x*y*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
127 case 49: {result_0 = 20.249999999999993*x*y*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
128 case 50: {result_0 = 20.249999999999993*x*y*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
129 case 51: {result_0 = -20.249999999999993*x*y*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(1.5*z - 1.0)*(3.0*z - 1.0);} break;
130 case 52: {result_0 = 20.249999999999993*x*y*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 2.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
131 case 53: {result_0 = -20.249999999999993*x*y*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
132 case 54: {result_0 = -20.249999999999993*x*y*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
133 case 55: {result_0 = 20.249999999999993*x*y*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(1.4999999999999998*z - 0.49999999999999989)*(2.9999999999999996*z - 1.9999999999999996);} break;
134 case 56: {result_0 = 91.124999999999957*x*y*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 2.0);} break;
135 case 57: {result_0 = -91.124999999999957*x*y*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 1.0);} break;
136 case 58: {result_0 = -91.124999999999957*x*y*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
137 case 59: {result_0 = 91.124999999999957*x*y*z*(x - 1)*(3.0*x - 2.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
138 case 60: {result_0 = -91.124999999999957*x*y*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 2.0);} break;
139 case 61: {result_0 = 91.124999999999957*x*y*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 2.0)*(z - 1)*(3.0*z - 1.0);} break;
140 case 62: {result_0 = 91.124999999999957*x*y*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 2.0);} break;
141 case 63: {result_0 = -91.124999999999957*x*y*z*(x - 1)*(3.0*x - 1.0)*(y - 1)*(3.0*y - 1.0)*(z - 1)*(3.0*z - 1.0);} break;
142 default: assert(false);
143}}
144void q_m2_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
145
146auto x=uv.col(0).array();
147auto y=uv.col(1).array();
148auto z=uv.col(2).array();
149
150switch(local_index){
151 case 0: {result_0 = 1.0*(x - 1)*(y - 1)*(z - 1)*(2*x + 2*y + 2*z - 1);} break;
152 case 1: {result_0 = -1.0*x*(y - 1)*(z - 1)*(-2*x + 2*y + 2*z + 1);} break;
153 case 2: {result_0 = -1.0*x*y*(z - 1)*(2*x + 2*y - 2*z - 3);} break;
154 case 3: {result_0 = -1.0*y*(x - 1)*(z - 1)*(2*x - 2*y + 2*z + 1);} break;
155 case 4: {result_0 = -1.0*z*(x - 1)*(y - 1)*(2*x + 2*y - 2*z + 1);} break;
156 case 5: {result_0 = -1.0*x*z*(y - 1)*(2*x - 2*y + 2*z - 3);} break;
157 case 6: {result_0 = x*y*z*(2.0*x + 2.0*y + 2.0*z - 5.0);} break;
158 case 7: {result_0 = 1.0*y*z*(x - 1)*(2*x - 2*y - 2*z + 3);} break;
159 case 8: {result_0 = -4*x*(x - 1)*(y - 1)*(z - 1);} break;
160 case 9: {result_0 = 4*x*y*(y - 1)*(z - 1);} break;
161 case 10: {result_0 = 4*x*y*(x - 1)*(z - 1);} break;
162 case 11: {result_0 = -4*y*(x - 1)*(y - 1)*(z - 1);} break;
163 case 12: {result_0 = -4*z*(x - 1)*(y - 1)*(z - 1);} break;
164 case 13: {result_0 = 4*x*z*(y - 1)*(z - 1);} break;
165 case 14: {result_0 = -4*x*y*z*(z - 1);} break;
166 case 15: {result_0 = 4*y*z*(x - 1)*(z - 1);} break;
167 case 16: {result_0 = 4*x*z*(x - 1)*(y - 1);} break;
168 case 17: {result_0 = -4*x*y*z*(y - 1);} break;
169 case 18: {result_0 = -4*x*y*z*(x - 1);} break;
170 case 19: {result_0 = 4*y*z*(x - 1)*(y - 1);} break;
171 default: assert(false);
172}}
173}
174
175void q_basis_value_3d(const int q, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
176switch(q){
177 case 0: q_0_basis_value_3d(local_index, uv, val); break;
178 case 1: q_1_basis_value_3d(local_index, uv, val); break;
179 case 2: q_2_basis_value_3d(local_index, uv, val); break;
180 case 3: q_3_basis_value_3d(local_index, uv, val); break;
181 case -2: q_m2_basis_value_3d(local_index, uv, val); break;
182 default: assert(false);
183}}
184}}
double val
Definition Assembler.cpp:86
int y
int z
int x
void q_basis_value_3d(const int q, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)