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 {
7double q_0_basis_value_3d_single_0(double x, double y, double z) {
8double result;
9result = 1;
10return result;
11}
12
13
14
15void q_0_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
16result_0.resize(uv.rows(), 1);
17switch(local_index){
18 case 0:
19 for (Eigen::Index i = 0; i < uv.rows(); ++i)
20 result_0(i, 0) = q_0_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
21 break;
22 default: assert(false);
23}
24}
25double q_1_basis_value_3d_single_0(double x, double y, double z) {
26double result;
27result = -1.0*(x - 1)*(y - 1)*(z - 1);
28return result;
29}
30
31double q_1_basis_value_3d_single_1(double x, double y, double z) {
32double result;
33result = 1.0*x*(y - 1)*(z - 1);
34return result;
35}
36
37double q_1_basis_value_3d_single_2(double x, double y, double z) {
38double result;
39result = -1.0*x*y*(z - 1);
40return result;
41}
42
43double q_1_basis_value_3d_single_3(double x, double y, double z) {
44double result;
45result = 1.0*y*(x - 1)*(z - 1);
46return result;
47}
48
49double q_1_basis_value_3d_single_4(double x, double y, double z) {
50double result;
51result = 1.0*z*(x - 1)*(y - 1);
52return result;
53}
54
55double q_1_basis_value_3d_single_5(double x, double y, double z) {
56double result;
57result = -1.0*x*z*(y - 1);
58return result;
59}
60
61double q_1_basis_value_3d_single_6(double x, double y, double z) {
62double result;
63result = 1.0*x*y*z;
64return result;
65}
66
67double q_1_basis_value_3d_single_7(double x, double y, double z) {
68double result;
69result = -1.0*y*z*(x - 1);
70return result;
71}
72
73
74
75void q_1_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
76result_0.resize(uv.rows(), 1);
77switch(local_index){
78 case 0:
79 for (Eigen::Index i = 0; i < uv.rows(); ++i)
80 result_0(i, 0) = q_1_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
81 break;
82 case 1:
83 for (Eigen::Index i = 0; i < uv.rows(); ++i)
84 result_0(i, 0) = q_1_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
85 break;
86 case 2:
87 for (Eigen::Index i = 0; i < uv.rows(); ++i)
88 result_0(i, 0) = q_1_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
89 break;
90 case 3:
91 for (Eigen::Index i = 0; i < uv.rows(); ++i)
92 result_0(i, 0) = q_1_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
93 break;
94 case 4:
95 for (Eigen::Index i = 0; i < uv.rows(); ++i)
96 result_0(i, 0) = q_1_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
97 break;
98 case 5:
99 for (Eigen::Index i = 0; i < uv.rows(); ++i)
100 result_0(i, 0) = q_1_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
101 break;
102 case 6:
103 for (Eigen::Index i = 0; i < uv.rows(); ++i)
104 result_0(i, 0) = q_1_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
105 break;
106 case 7:
107 for (Eigen::Index i = 0; i < uv.rows(); ++i)
108 result_0(i, 0) = q_1_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
109 break;
110 default: assert(false);
111}
112}
113double q_2_basis_value_3d_single_0(double x, double y, double z) {
114double result;
115result = 1.0*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);
116return result;
117}
118
119double q_2_basis_value_3d_single_1(double x, double y, double z) {
120double result;
121result = 1.0*x*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);
122return result;
123}
124
125double q_2_basis_value_3d_single_2(double x, double y, double z) {
126double result;
127result = 1.0*x*y*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);
128return result;
129}
130
131double q_2_basis_value_3d_single_3(double x, double y, double z) {
132double result;
133result = 1.0*y*(x - 1)*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);
134return result;
135}
136
137double q_2_basis_value_3d_single_4(double x, double y, double z) {
138double result;
139result = 1.0*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);
140return result;
141}
142
143double q_2_basis_value_3d_single_5(double x, double y, double z) {
144double result;
145result = 1.0*x*z*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);
146return result;
147}
148
149double q_2_basis_value_3d_single_6(double x, double y, double z) {
150double result;
151result = 1.0*x*y*z*(2.0*x - 1.0)*(2.0*y - 1.0)*(2.0*z - 1.0);
152return result;
153}
154
155double q_2_basis_value_3d_single_7(double x, double y, double z) {
156double result;
157result = 1.0*y*z*(x - 1)*(2.0*x - 1.0)*(2.0*y - 1.0)*(2.0*z - 1.0);
158return result;
159}
160
161double q_2_basis_value_3d_single_8(double x, double y, double z) {
162double result;
163result = -4.0*x*(x - 1)*(y - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);
164return result;
165}
166
167double q_2_basis_value_3d_single_9(double x, double y, double z) {
168double result;
169result = -4.0*x*y*(2.0*x - 1.0)*(y - 1)*(z - 1)*(2.0*z - 1.0);
170return result;
171}
172
173double q_2_basis_value_3d_single_10(double x, double y, double z) {
174double result;
175result = -4.0*x*y*(x - 1)*(2.0*y - 1.0)*(z - 1)*(2.0*z - 1.0);
176return result;
177}
178
179double q_2_basis_value_3d_single_11(double x, double y, double z) {
180double result;
181result = -4.0*y*(x - 1)*(2.0*x - 1.0)*(y - 1)*(z - 1)*(2.0*z - 1.0);
182return result;
183}
184
185double q_2_basis_value_3d_single_12(double x, double y, double z) {
186double result;
187result = -4.0*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1);
188return result;
189}
190
191double q_2_basis_value_3d_single_13(double x, double y, double z) {
192double result;
193result = -4.0*x*z*(2.0*x - 1.0)*(y - 1)*(2.0*y - 1.0)*(z - 1);
194return result;
195}
196
197double q_2_basis_value_3d_single_14(double x, double y, double z) {
198double result;
199result = -4.0*x*y*z*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1);
200return result;
201}
202
203double q_2_basis_value_3d_single_15(double x, double y, double z) {
204double result;
205result = -4.0*y*z*(x - 1)*(2.0*x - 1.0)*(2.0*y - 1.0)*(z - 1);
206return result;
207}
208
209double q_2_basis_value_3d_single_16(double x, double y, double z) {
210double result;
211result = -4.0*x*z*(x - 1)*(y - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);
212return result;
213}
214
215double q_2_basis_value_3d_single_17(double x, double y, double z) {
216double result;
217result = -4.0*x*y*z*(2.0*x - 1.0)*(y - 1)*(2.0*z - 1.0);
218return result;
219}
220
221double q_2_basis_value_3d_single_18(double x, double y, double z) {
222double result;
223result = -4.0*x*y*z*(x - 1)*(2.0*y - 1.0)*(2.0*z - 1.0);
224return result;
225}
226
227double q_2_basis_value_3d_single_19(double x, double y, double z) {
228double result;
229result = -4.0*y*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(2.0*z - 1.0);
230return result;
231}
232
233double q_2_basis_value_3d_single_20(double x, double y, double z) {
234double result;
235result = 16.0*y*z*(x - 1)*(2.0*x - 1.0)*(y - 1)*(z - 1);
236return result;
237}
238
239double q_2_basis_value_3d_single_21(double x, double y, double z) {
240double result;
241result = 16.0*x*y*z*(2.0*x - 1.0)*(y - 1)*(z - 1);
242return result;
243}
244
245double q_2_basis_value_3d_single_22(double x, double y, double z) {
246double result;
247result = 16.0*x*z*(x - 1)*(y - 1)*(2.0*y - 1.0)*(z - 1);
248return result;
249}
250
251double q_2_basis_value_3d_single_23(double x, double y, double z) {
252double result;
253result = 16.0*x*y*z*(x - 1)*(2.0*y - 1.0)*(z - 1);
254return result;
255}
256
257double q_2_basis_value_3d_single_24(double x, double y, double z) {
258double result;
259result = 16.0*x*y*(x - 1)*(y - 1)*(z - 1)*(2.0*z - 1.0);
260return result;
261}
262
263double q_2_basis_value_3d_single_25(double x, double y, double z) {
264double result;
265result = 16.0*x*y*z*(x - 1)*(y - 1)*(2.0*z - 1.0);
266return result;
267}
268
269double q_2_basis_value_3d_single_26(double x, double y, double z) {
270double result;
271result = -64.0*x*y*z*(x - 1)*(y - 1)*(z - 1);
272return result;
273}
274
275
276
277void q_2_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
278result_0.resize(uv.rows(), 1);
279switch(local_index){
280 case 0:
281 for (Eigen::Index i = 0; i < uv.rows(); ++i)
282 result_0(i, 0) = q_2_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
283 break;
284 case 1:
285 for (Eigen::Index i = 0; i < uv.rows(); ++i)
286 result_0(i, 0) = q_2_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
287 break;
288 case 2:
289 for (Eigen::Index i = 0; i < uv.rows(); ++i)
290 result_0(i, 0) = q_2_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
291 break;
292 case 3:
293 for (Eigen::Index i = 0; i < uv.rows(); ++i)
294 result_0(i, 0) = q_2_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
295 break;
296 case 4:
297 for (Eigen::Index i = 0; i < uv.rows(); ++i)
298 result_0(i, 0) = q_2_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
299 break;
300 case 5:
301 for (Eigen::Index i = 0; i < uv.rows(); ++i)
302 result_0(i, 0) = q_2_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
303 break;
304 case 6:
305 for (Eigen::Index i = 0; i < uv.rows(); ++i)
306 result_0(i, 0) = q_2_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
307 break;
308 case 7:
309 for (Eigen::Index i = 0; i < uv.rows(); ++i)
310 result_0(i, 0) = q_2_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
311 break;
312 case 8:
313 for (Eigen::Index i = 0; i < uv.rows(); ++i)
314 result_0(i, 0) = q_2_basis_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2));
315 break;
316 case 9:
317 for (Eigen::Index i = 0; i < uv.rows(); ++i)
318 result_0(i, 0) = q_2_basis_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2));
319 break;
320 case 10:
321 for (Eigen::Index i = 0; i < uv.rows(); ++i)
322 result_0(i, 0) = q_2_basis_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2));
323 break;
324 case 11:
325 for (Eigen::Index i = 0; i < uv.rows(); ++i)
326 result_0(i, 0) = q_2_basis_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2));
327 break;
328 case 12:
329 for (Eigen::Index i = 0; i < uv.rows(); ++i)
330 result_0(i, 0) = q_2_basis_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2));
331 break;
332 case 13:
333 for (Eigen::Index i = 0; i < uv.rows(); ++i)
334 result_0(i, 0) = q_2_basis_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2));
335 break;
336 case 14:
337 for (Eigen::Index i = 0; i < uv.rows(); ++i)
338 result_0(i, 0) = q_2_basis_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2));
339 break;
340 case 15:
341 for (Eigen::Index i = 0; i < uv.rows(); ++i)
342 result_0(i, 0) = q_2_basis_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2));
343 break;
344 case 16:
345 for (Eigen::Index i = 0; i < uv.rows(); ++i)
346 result_0(i, 0) = q_2_basis_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2));
347 break;
348 case 17:
349 for (Eigen::Index i = 0; i < uv.rows(); ++i)
350 result_0(i, 0) = q_2_basis_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2));
351 break;
352 case 18:
353 for (Eigen::Index i = 0; i < uv.rows(); ++i)
354 result_0(i, 0) = q_2_basis_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2));
355 break;
356 case 19:
357 for (Eigen::Index i = 0; i < uv.rows(); ++i)
358 result_0(i, 0) = q_2_basis_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2));
359 break;
360 case 20:
361 for (Eigen::Index i = 0; i < uv.rows(); ++i)
362 result_0(i, 0) = q_2_basis_value_3d_single_20(uv(i, 0), uv(i, 1), uv(i, 2));
363 break;
364 case 21:
365 for (Eigen::Index i = 0; i < uv.rows(); ++i)
366 result_0(i, 0) = q_2_basis_value_3d_single_21(uv(i, 0), uv(i, 1), uv(i, 2));
367 break;
368 case 22:
369 for (Eigen::Index i = 0; i < uv.rows(); ++i)
370 result_0(i, 0) = q_2_basis_value_3d_single_22(uv(i, 0), uv(i, 1), uv(i, 2));
371 break;
372 case 23:
373 for (Eigen::Index i = 0; i < uv.rows(); ++i)
374 result_0(i, 0) = q_2_basis_value_3d_single_23(uv(i, 0), uv(i, 1), uv(i, 2));
375 break;
376 case 24:
377 for (Eigen::Index i = 0; i < uv.rows(); ++i)
378 result_0(i, 0) = q_2_basis_value_3d_single_24(uv(i, 0), uv(i, 1), uv(i, 2));
379 break;
380 case 25:
381 for (Eigen::Index i = 0; i < uv.rows(); ++i)
382 result_0(i, 0) = q_2_basis_value_3d_single_25(uv(i, 0), uv(i, 1), uv(i, 2));
383 break;
384 case 26:
385 for (Eigen::Index i = 0; i < uv.rows(); ++i)
386 result_0(i, 0) = q_2_basis_value_3d_single_26(uv(i, 0), uv(i, 1), uv(i, 2));
387 break;
388 default: assert(false);
389}
390}
391double q_3_basis_value_3d_single_0(double x, double y, double z) {
392double result;
393result = -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);
394return result;
395}
396
397double q_3_basis_value_3d_single_1(double x, double y, double z) {
398double result;
399result = 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);
400return result;
401}
402
403double q_3_basis_value_3d_single_2(double x, double y, double z) {
404double result;
405result = -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);
406return result;
407}
408
409double q_3_basis_value_3d_single_3(double x, double y, double z) {
410double result;
411result = 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);
412return result;
413}
414
415double q_3_basis_value_3d_single_4(double x, double y, double z) {
416double result;
417result = 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);
418return result;
419}
420
421double q_3_basis_value_3d_single_5(double x, double y, double z) {
422double result;
423result = -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);
424return result;
425}
426
427double q_3_basis_value_3d_single_6(double x, double y, double z) {
428double result;
429result = 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);
430return result;
431}
432
433double q_3_basis_value_3d_single_7(double x, double y, double z) {
434double result;
435result = -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);
436return result;
437}
438
439double q_3_basis_value_3d_single_8(double x, double y, double z) {
440double result;
441result = 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);
442return result;
443}
444
445double q_3_basis_value_3d_single_9(double x, double y, double z) {
446double result;
447result = -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);
448return result;
449}
450
451double q_3_basis_value_3d_single_10(double x, double y, double z) {
452double result;
453result = -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);
454return result;
455}
456
457double q_3_basis_value_3d_single_11(double x, double y, double z) {
458double result;
459result = 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);
460return result;
461}
462
463double q_3_basis_value_3d_single_12(double x, double y, double z) {
464double result;
465result = 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);
466return result;
467}
468
469double q_3_basis_value_3d_single_13(double x, double y, double z) {
470double result;
471result = -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);
472return result;
473}
474
475double q_3_basis_value_3d_single_14(double x, double y, double z) {
476double result;
477result = -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);
478return result;
479}
480
481double q_3_basis_value_3d_single_15(double x, double y, double z) {
482double result;
483result = 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);
484return result;
485}
486
487double q_3_basis_value_3d_single_16(double x, double y, double z) {
488double result;
489result = 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);
490return result;
491}
492
493double q_3_basis_value_3d_single_17(double x, double y, double z) {
494double result;
495result = -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);
496return result;
497}
498
499double q_3_basis_value_3d_single_18(double x, double y, double z) {
500double result;
501result = 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);
502return result;
503}
504
505double q_3_basis_value_3d_single_19(double x, double y, double z) {
506double result;
507result = -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);
508return result;
509}
510
511double q_3_basis_value_3d_single_20(double x, double y, double z) {
512double result;
513result = -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);
514return result;
515}
516
517double q_3_basis_value_3d_single_21(double x, double y, double z) {
518double result;
519result = 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);
520return result;
521}
522
523double q_3_basis_value_3d_single_22(double x, double y, double z) {
524double result;
525result = 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);
526return result;
527}
528
529double q_3_basis_value_3d_single_23(double x, double y, double z) {
530double result;
531result = -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);
532return result;
533}
534
535double q_3_basis_value_3d_single_24(double x, double y, double z) {
536double result;
537result = -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);
538return result;
539}
540
541double q_3_basis_value_3d_single_25(double x, double y, double z) {
542double result;
543result = 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);
544return result;
545}
546
547double q_3_basis_value_3d_single_26(double x, double y, double z) {
548double result;
549result = 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);
550return result;
551}
552
553double q_3_basis_value_3d_single_27(double x, double y, double z) {
554double result;
555result = -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);
556return result;
557}
558
559double q_3_basis_value_3d_single_28(double x, double y, double z) {
560double result;
561result = -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);
562return result;
563}
564
565double q_3_basis_value_3d_single_29(double x, double y, double z) {
566double result;
567result = 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);
568return result;
569}
570
571double q_3_basis_value_3d_single_30(double x, double y, double z) {
572double result;
573result = 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);
574return result;
575}
576
577double q_3_basis_value_3d_single_31(double x, double y, double z) {
578double result;
579result = -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);
580return result;
581}
582
583double q_3_basis_value_3d_single_32(double x, double y, double z) {
584double result;
585result = -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);
586return result;
587}
588
589double q_3_basis_value_3d_single_33(double x, double y, double z) {
590double result;
591result = 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);
592return result;
593}
594
595double q_3_basis_value_3d_single_34(double x, double y, double z) {
596double result;
597result = 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);
598return result;
599}
600
601double q_3_basis_value_3d_single_35(double x, double y, double z) {
602double result;
603result = -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);
604return result;
605}
606
607double q_3_basis_value_3d_single_36(double x, double y, double z) {
608double result;
609result = 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);
610return result;
611}
612
613double q_3_basis_value_3d_single_37(double x, double y, double z) {
614double result;
615result = -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);
616return result;
617}
618
619double q_3_basis_value_3d_single_38(double x, double y, double z) {
620double result;
621result = -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);
622return result;
623}
624
625double q_3_basis_value_3d_single_39(double x, double y, double z) {
626double result;
627result = 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);
628return result;
629}
630
631double q_3_basis_value_3d_single_40(double x, double y, double z) {
632double result;
633result = -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);
634return result;
635}
636
637double q_3_basis_value_3d_single_41(double x, double y, double z) {
638double result;
639result = 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);
640return result;
641}
642
643double q_3_basis_value_3d_single_42(double x, double y, double z) {
644double result;
645result = 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);
646return result;
647}
648
649double q_3_basis_value_3d_single_43(double x, double y, double z) {
650double result;
651result = -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);
652return result;
653}
654
655double q_3_basis_value_3d_single_44(double x, double y, double z) {
656double result;
657result = 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);
658return result;
659}
660
661double q_3_basis_value_3d_single_45(double x, double y, double z) {
662double result;
663result = -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);
664return result;
665}
666
667double q_3_basis_value_3d_single_46(double x, double y, double z) {
668double result;
669result = -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);
670return result;
671}
672
673double q_3_basis_value_3d_single_47(double x, double y, double z) {
674double result;
675result = 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);
676return result;
677}
678
679double q_3_basis_value_3d_single_48(double x, double y, double z) {
680double result;
681result = -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);
682return result;
683}
684
685double q_3_basis_value_3d_single_49(double x, double y, double z) {
686double result;
687result = 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);
688return result;
689}
690
691double q_3_basis_value_3d_single_50(double x, double y, double z) {
692double result;
693result = 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);
694return result;
695}
696
697double q_3_basis_value_3d_single_51(double x, double y, double z) {
698double result;
699result = -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);
700return result;
701}
702
703double q_3_basis_value_3d_single_52(double x, double y, double z) {
704double result;
705result = 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);
706return result;
707}
708
709double q_3_basis_value_3d_single_53(double x, double y, double z) {
710double result;
711result = -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);
712return result;
713}
714
715double q_3_basis_value_3d_single_54(double x, double y, double z) {
716double result;
717result = -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);
718return result;
719}
720
721double q_3_basis_value_3d_single_55(double x, double y, double z) {
722double result;
723result = 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);
724return result;
725}
726
727double q_3_basis_value_3d_single_56(double x, double y, double z) {
728double result;
729result = 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);
730return result;
731}
732
733double q_3_basis_value_3d_single_57(double x, double y, double z) {
734double result;
735result = -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);
736return result;
737}
738
739double q_3_basis_value_3d_single_58(double x, double y, double z) {
740double result;
741result = -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);
742return result;
743}
744
745double q_3_basis_value_3d_single_59(double x, double y, double z) {
746double result;
747result = 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);
748return result;
749}
750
751double q_3_basis_value_3d_single_60(double x, double y, double z) {
752double result;
753result = -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);
754return result;
755}
756
757double q_3_basis_value_3d_single_61(double x, double y, double z) {
758double result;
759result = 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);
760return result;
761}
762
763double q_3_basis_value_3d_single_62(double x, double y, double z) {
764double result;
765result = 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);
766return result;
767}
768
769double q_3_basis_value_3d_single_63(double x, double y, double z) {
770double result;
771result = -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);
772return result;
773}
774
775
776
777void q_3_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
778result_0.resize(uv.rows(), 1);
779switch(local_index){
780 case 0:
781 for (Eigen::Index i = 0; i < uv.rows(); ++i)
782 result_0(i, 0) = q_3_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
783 break;
784 case 1:
785 for (Eigen::Index i = 0; i < uv.rows(); ++i)
786 result_0(i, 0) = q_3_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
787 break;
788 case 2:
789 for (Eigen::Index i = 0; i < uv.rows(); ++i)
790 result_0(i, 0) = q_3_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
791 break;
792 case 3:
793 for (Eigen::Index i = 0; i < uv.rows(); ++i)
794 result_0(i, 0) = q_3_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
795 break;
796 case 4:
797 for (Eigen::Index i = 0; i < uv.rows(); ++i)
798 result_0(i, 0) = q_3_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
799 break;
800 case 5:
801 for (Eigen::Index i = 0; i < uv.rows(); ++i)
802 result_0(i, 0) = q_3_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
803 break;
804 case 6:
805 for (Eigen::Index i = 0; i < uv.rows(); ++i)
806 result_0(i, 0) = q_3_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
807 break;
808 case 7:
809 for (Eigen::Index i = 0; i < uv.rows(); ++i)
810 result_0(i, 0) = q_3_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
811 break;
812 case 8:
813 for (Eigen::Index i = 0; i < uv.rows(); ++i)
814 result_0(i, 0) = q_3_basis_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2));
815 break;
816 case 9:
817 for (Eigen::Index i = 0; i < uv.rows(); ++i)
818 result_0(i, 0) = q_3_basis_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2));
819 break;
820 case 10:
821 for (Eigen::Index i = 0; i < uv.rows(); ++i)
822 result_0(i, 0) = q_3_basis_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2));
823 break;
824 case 11:
825 for (Eigen::Index i = 0; i < uv.rows(); ++i)
826 result_0(i, 0) = q_3_basis_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2));
827 break;
828 case 12:
829 for (Eigen::Index i = 0; i < uv.rows(); ++i)
830 result_0(i, 0) = q_3_basis_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2));
831 break;
832 case 13:
833 for (Eigen::Index i = 0; i < uv.rows(); ++i)
834 result_0(i, 0) = q_3_basis_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2));
835 break;
836 case 14:
837 for (Eigen::Index i = 0; i < uv.rows(); ++i)
838 result_0(i, 0) = q_3_basis_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2));
839 break;
840 case 15:
841 for (Eigen::Index i = 0; i < uv.rows(); ++i)
842 result_0(i, 0) = q_3_basis_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2));
843 break;
844 case 16:
845 for (Eigen::Index i = 0; i < uv.rows(); ++i)
846 result_0(i, 0) = q_3_basis_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2));
847 break;
848 case 17:
849 for (Eigen::Index i = 0; i < uv.rows(); ++i)
850 result_0(i, 0) = q_3_basis_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2));
851 break;
852 case 18:
853 for (Eigen::Index i = 0; i < uv.rows(); ++i)
854 result_0(i, 0) = q_3_basis_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2));
855 break;
856 case 19:
857 for (Eigen::Index i = 0; i < uv.rows(); ++i)
858 result_0(i, 0) = q_3_basis_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2));
859 break;
860 case 20:
861 for (Eigen::Index i = 0; i < uv.rows(); ++i)
862 result_0(i, 0) = q_3_basis_value_3d_single_20(uv(i, 0), uv(i, 1), uv(i, 2));
863 break;
864 case 21:
865 for (Eigen::Index i = 0; i < uv.rows(); ++i)
866 result_0(i, 0) = q_3_basis_value_3d_single_21(uv(i, 0), uv(i, 1), uv(i, 2));
867 break;
868 case 22:
869 for (Eigen::Index i = 0; i < uv.rows(); ++i)
870 result_0(i, 0) = q_3_basis_value_3d_single_22(uv(i, 0), uv(i, 1), uv(i, 2));
871 break;
872 case 23:
873 for (Eigen::Index i = 0; i < uv.rows(); ++i)
874 result_0(i, 0) = q_3_basis_value_3d_single_23(uv(i, 0), uv(i, 1), uv(i, 2));
875 break;
876 case 24:
877 for (Eigen::Index i = 0; i < uv.rows(); ++i)
878 result_0(i, 0) = q_3_basis_value_3d_single_24(uv(i, 0), uv(i, 1), uv(i, 2));
879 break;
880 case 25:
881 for (Eigen::Index i = 0; i < uv.rows(); ++i)
882 result_0(i, 0) = q_3_basis_value_3d_single_25(uv(i, 0), uv(i, 1), uv(i, 2));
883 break;
884 case 26:
885 for (Eigen::Index i = 0; i < uv.rows(); ++i)
886 result_0(i, 0) = q_3_basis_value_3d_single_26(uv(i, 0), uv(i, 1), uv(i, 2));
887 break;
888 case 27:
889 for (Eigen::Index i = 0; i < uv.rows(); ++i)
890 result_0(i, 0) = q_3_basis_value_3d_single_27(uv(i, 0), uv(i, 1), uv(i, 2));
891 break;
892 case 28:
893 for (Eigen::Index i = 0; i < uv.rows(); ++i)
894 result_0(i, 0) = q_3_basis_value_3d_single_28(uv(i, 0), uv(i, 1), uv(i, 2));
895 break;
896 case 29:
897 for (Eigen::Index i = 0; i < uv.rows(); ++i)
898 result_0(i, 0) = q_3_basis_value_3d_single_29(uv(i, 0), uv(i, 1), uv(i, 2));
899 break;
900 case 30:
901 for (Eigen::Index i = 0; i < uv.rows(); ++i)
902 result_0(i, 0) = q_3_basis_value_3d_single_30(uv(i, 0), uv(i, 1), uv(i, 2));
903 break;
904 case 31:
905 for (Eigen::Index i = 0; i < uv.rows(); ++i)
906 result_0(i, 0) = q_3_basis_value_3d_single_31(uv(i, 0), uv(i, 1), uv(i, 2));
907 break;
908 case 32:
909 for (Eigen::Index i = 0; i < uv.rows(); ++i)
910 result_0(i, 0) = q_3_basis_value_3d_single_32(uv(i, 0), uv(i, 1), uv(i, 2));
911 break;
912 case 33:
913 for (Eigen::Index i = 0; i < uv.rows(); ++i)
914 result_0(i, 0) = q_3_basis_value_3d_single_33(uv(i, 0), uv(i, 1), uv(i, 2));
915 break;
916 case 34:
917 for (Eigen::Index i = 0; i < uv.rows(); ++i)
918 result_0(i, 0) = q_3_basis_value_3d_single_34(uv(i, 0), uv(i, 1), uv(i, 2));
919 break;
920 case 35:
921 for (Eigen::Index i = 0; i < uv.rows(); ++i)
922 result_0(i, 0) = q_3_basis_value_3d_single_35(uv(i, 0), uv(i, 1), uv(i, 2));
923 break;
924 case 36:
925 for (Eigen::Index i = 0; i < uv.rows(); ++i)
926 result_0(i, 0) = q_3_basis_value_3d_single_36(uv(i, 0), uv(i, 1), uv(i, 2));
927 break;
928 case 37:
929 for (Eigen::Index i = 0; i < uv.rows(); ++i)
930 result_0(i, 0) = q_3_basis_value_3d_single_37(uv(i, 0), uv(i, 1), uv(i, 2));
931 break;
932 case 38:
933 for (Eigen::Index i = 0; i < uv.rows(); ++i)
934 result_0(i, 0) = q_3_basis_value_3d_single_38(uv(i, 0), uv(i, 1), uv(i, 2));
935 break;
936 case 39:
937 for (Eigen::Index i = 0; i < uv.rows(); ++i)
938 result_0(i, 0) = q_3_basis_value_3d_single_39(uv(i, 0), uv(i, 1), uv(i, 2));
939 break;
940 case 40:
941 for (Eigen::Index i = 0; i < uv.rows(); ++i)
942 result_0(i, 0) = q_3_basis_value_3d_single_40(uv(i, 0), uv(i, 1), uv(i, 2));
943 break;
944 case 41:
945 for (Eigen::Index i = 0; i < uv.rows(); ++i)
946 result_0(i, 0) = q_3_basis_value_3d_single_41(uv(i, 0), uv(i, 1), uv(i, 2));
947 break;
948 case 42:
949 for (Eigen::Index i = 0; i < uv.rows(); ++i)
950 result_0(i, 0) = q_3_basis_value_3d_single_42(uv(i, 0), uv(i, 1), uv(i, 2));
951 break;
952 case 43:
953 for (Eigen::Index i = 0; i < uv.rows(); ++i)
954 result_0(i, 0) = q_3_basis_value_3d_single_43(uv(i, 0), uv(i, 1), uv(i, 2));
955 break;
956 case 44:
957 for (Eigen::Index i = 0; i < uv.rows(); ++i)
958 result_0(i, 0) = q_3_basis_value_3d_single_44(uv(i, 0), uv(i, 1), uv(i, 2));
959 break;
960 case 45:
961 for (Eigen::Index i = 0; i < uv.rows(); ++i)
962 result_0(i, 0) = q_3_basis_value_3d_single_45(uv(i, 0), uv(i, 1), uv(i, 2));
963 break;
964 case 46:
965 for (Eigen::Index i = 0; i < uv.rows(); ++i)
966 result_0(i, 0) = q_3_basis_value_3d_single_46(uv(i, 0), uv(i, 1), uv(i, 2));
967 break;
968 case 47:
969 for (Eigen::Index i = 0; i < uv.rows(); ++i)
970 result_0(i, 0) = q_3_basis_value_3d_single_47(uv(i, 0), uv(i, 1), uv(i, 2));
971 break;
972 case 48:
973 for (Eigen::Index i = 0; i < uv.rows(); ++i)
974 result_0(i, 0) = q_3_basis_value_3d_single_48(uv(i, 0), uv(i, 1), uv(i, 2));
975 break;
976 case 49:
977 for (Eigen::Index i = 0; i < uv.rows(); ++i)
978 result_0(i, 0) = q_3_basis_value_3d_single_49(uv(i, 0), uv(i, 1), uv(i, 2));
979 break;
980 case 50:
981 for (Eigen::Index i = 0; i < uv.rows(); ++i)
982 result_0(i, 0) = q_3_basis_value_3d_single_50(uv(i, 0), uv(i, 1), uv(i, 2));
983 break;
984 case 51:
985 for (Eigen::Index i = 0; i < uv.rows(); ++i)
986 result_0(i, 0) = q_3_basis_value_3d_single_51(uv(i, 0), uv(i, 1), uv(i, 2));
987 break;
988 case 52:
989 for (Eigen::Index i = 0; i < uv.rows(); ++i)
990 result_0(i, 0) = q_3_basis_value_3d_single_52(uv(i, 0), uv(i, 1), uv(i, 2));
991 break;
992 case 53:
993 for (Eigen::Index i = 0; i < uv.rows(); ++i)
994 result_0(i, 0) = q_3_basis_value_3d_single_53(uv(i, 0), uv(i, 1), uv(i, 2));
995 break;
996 case 54:
997 for (Eigen::Index i = 0; i < uv.rows(); ++i)
998 result_0(i, 0) = q_3_basis_value_3d_single_54(uv(i, 0), uv(i, 1), uv(i, 2));
999 break;
1000 case 55:
1001 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1002 result_0(i, 0) = q_3_basis_value_3d_single_55(uv(i, 0), uv(i, 1), uv(i, 2));
1003 break;
1004 case 56:
1005 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1006 result_0(i, 0) = q_3_basis_value_3d_single_56(uv(i, 0), uv(i, 1), uv(i, 2));
1007 break;
1008 case 57:
1009 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1010 result_0(i, 0) = q_3_basis_value_3d_single_57(uv(i, 0), uv(i, 1), uv(i, 2));
1011 break;
1012 case 58:
1013 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1014 result_0(i, 0) = q_3_basis_value_3d_single_58(uv(i, 0), uv(i, 1), uv(i, 2));
1015 break;
1016 case 59:
1017 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1018 result_0(i, 0) = q_3_basis_value_3d_single_59(uv(i, 0), uv(i, 1), uv(i, 2));
1019 break;
1020 case 60:
1021 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1022 result_0(i, 0) = q_3_basis_value_3d_single_60(uv(i, 0), uv(i, 1), uv(i, 2));
1023 break;
1024 case 61:
1025 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1026 result_0(i, 0) = q_3_basis_value_3d_single_61(uv(i, 0), uv(i, 1), uv(i, 2));
1027 break;
1028 case 62:
1029 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1030 result_0(i, 0) = q_3_basis_value_3d_single_62(uv(i, 0), uv(i, 1), uv(i, 2));
1031 break;
1032 case 63:
1033 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1034 result_0(i, 0) = q_3_basis_value_3d_single_63(uv(i, 0), uv(i, 1), uv(i, 2));
1035 break;
1036 default: assert(false);
1037}
1038}
1039double q_m2_basis_value_3d_single_0(double x, double y, double z) {
1040double result;
1041result = 1.0*(x - 1)*(y - 1)*(z - 1)*(2*x + 2*y + 2*z - 1);
1042return result;
1043}
1044
1045double q_m2_basis_value_3d_single_1(double x, double y, double z) {
1046double result;
1047result = -1.0*x*(y - 1)*(z - 1)*(-2*x + 2*y + 2*z + 1);
1048return result;
1049}
1050
1051double q_m2_basis_value_3d_single_2(double x, double y, double z) {
1052double result;
1053result = -1.0*x*y*(z - 1)*(2*x + 2*y - 2*z - 3);
1054return result;
1055}
1056
1057double q_m2_basis_value_3d_single_3(double x, double y, double z) {
1058double result;
1059result = -1.0*y*(x - 1)*(z - 1)*(2*x - 2*y + 2*z + 1);
1060return result;
1061}
1062
1063double q_m2_basis_value_3d_single_4(double x, double y, double z) {
1064double result;
1065result = -1.0*z*(x - 1)*(y - 1)*(2*x + 2*y - 2*z + 1);
1066return result;
1067}
1068
1069double q_m2_basis_value_3d_single_5(double x, double y, double z) {
1070double result;
1071result = -1.0*x*z*(y - 1)*(2*x - 2*y + 2*z - 3);
1072return result;
1073}
1074
1075double q_m2_basis_value_3d_single_6(double x, double y, double z) {
1076double result;
1077result = x*y*z*(2.0*x + 2.0*y + 2.0*z - 5.0);
1078return result;
1079}
1080
1081double q_m2_basis_value_3d_single_7(double x, double y, double z) {
1082double result;
1083result = 1.0*y*z*(x - 1)*(2*x - 2*y - 2*z + 3);
1084return result;
1085}
1086
1087double q_m2_basis_value_3d_single_8(double x, double y, double z) {
1088double result;
1089result = -4*x*(x - 1)*(y - 1)*(z - 1);
1090return result;
1091}
1092
1093double q_m2_basis_value_3d_single_9(double x, double y, double z) {
1094double result;
1095result = 4*x*y*(y - 1)*(z - 1);
1096return result;
1097}
1098
1099double q_m2_basis_value_3d_single_10(double x, double y, double z) {
1100double result;
1101result = 4*x*y*(x - 1)*(z - 1);
1102return result;
1103}
1104
1105double q_m2_basis_value_3d_single_11(double x, double y, double z) {
1106double result;
1107result = -4*y*(x - 1)*(y - 1)*(z - 1);
1108return result;
1109}
1110
1111double q_m2_basis_value_3d_single_12(double x, double y, double z) {
1112double result;
1113result = -4*z*(x - 1)*(y - 1)*(z - 1);
1114return result;
1115}
1116
1117double q_m2_basis_value_3d_single_13(double x, double y, double z) {
1118double result;
1119result = 4*x*z*(y - 1)*(z - 1);
1120return result;
1121}
1122
1123double q_m2_basis_value_3d_single_14(double x, double y, double z) {
1124double result;
1125result = -4*x*y*z*(z - 1);
1126return result;
1127}
1128
1129double q_m2_basis_value_3d_single_15(double x, double y, double z) {
1130double result;
1131result = 4*y*z*(x - 1)*(z - 1);
1132return result;
1133}
1134
1135double q_m2_basis_value_3d_single_16(double x, double y, double z) {
1136double result;
1137result = 4*x*z*(x - 1)*(y - 1);
1138return result;
1139}
1140
1141double q_m2_basis_value_3d_single_17(double x, double y, double z) {
1142double result;
1143result = -4*x*y*z*(y - 1);
1144return result;
1145}
1146
1147double q_m2_basis_value_3d_single_18(double x, double y, double z) {
1148double result;
1149result = -4*x*y*z*(x - 1);
1150return result;
1151}
1152
1153double q_m2_basis_value_3d_single_19(double x, double y, double z) {
1154double result;
1155result = 4*y*z*(x - 1)*(y - 1);
1156return result;
1157}
1158
1159
1160
1161void q_m2_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
1162result_0.resize(uv.rows(), 1);
1163switch(local_index){
1164 case 0:
1165 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1166 result_0(i, 0) = q_m2_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
1167 break;
1168 case 1:
1169 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1170 result_0(i, 0) = q_m2_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
1171 break;
1172 case 2:
1173 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1174 result_0(i, 0) = q_m2_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
1175 break;
1176 case 3:
1177 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1178 result_0(i, 0) = q_m2_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
1179 break;
1180 case 4:
1181 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1182 result_0(i, 0) = q_m2_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
1183 break;
1184 case 5:
1185 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1186 result_0(i, 0) = q_m2_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
1187 break;
1188 case 6:
1189 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1190 result_0(i, 0) = q_m2_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
1191 break;
1192 case 7:
1193 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1194 result_0(i, 0) = q_m2_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
1195 break;
1196 case 8:
1197 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1198 result_0(i, 0) = q_m2_basis_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2));
1199 break;
1200 case 9:
1201 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1202 result_0(i, 0) = q_m2_basis_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2));
1203 break;
1204 case 10:
1205 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1206 result_0(i, 0) = q_m2_basis_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2));
1207 break;
1208 case 11:
1209 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1210 result_0(i, 0) = q_m2_basis_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2));
1211 break;
1212 case 12:
1213 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1214 result_0(i, 0) = q_m2_basis_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2));
1215 break;
1216 case 13:
1217 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1218 result_0(i, 0) = q_m2_basis_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2));
1219 break;
1220 case 14:
1221 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1222 result_0(i, 0) = q_m2_basis_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2));
1223 break;
1224 case 15:
1225 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1226 result_0(i, 0) = q_m2_basis_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2));
1227 break;
1228 case 16:
1229 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1230 result_0(i, 0) = q_m2_basis_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2));
1231 break;
1232 case 17:
1233 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1234 result_0(i, 0) = q_m2_basis_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2));
1235 break;
1236 case 18:
1237 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1238 result_0(i, 0) = q_m2_basis_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2));
1239 break;
1240 case 19:
1241 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1242 result_0(i, 0) = q_m2_basis_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2));
1243 break;
1244 default: assert(false);
1245}
1246}
1247}
1248
1249void q_basis_value_3d(const int q, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
1250switch(q){
1251 case 0: q_0_basis_value_3d(local_index, uv, val); break;
1252 case 1: q_1_basis_value_3d(local_index, uv, val); break;
1253 case 2: q_2_basis_value_3d(local_index, uv, val); break;
1254 case 3: q_3_basis_value_3d(local_index, uv, val); break;
1255 case -2: q_m2_basis_value_3d(local_index, uv, val); break;
1256 default: assert(false);
1257}}
1258}}
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)