inf_fe_lagrange_eval.C
Go to the documentation of this file.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2018 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
13 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 
19 // Local Includes
20 #include "libmesh/libmesh_config.h"
21 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS
22 #include "libmesh/inf_fe.h"
23 
24 namespace libMesh
25 {
26 
27 // Anonymous namespace for local helper functions
28 namespace {
29 
30 Real lagrange_eval(Real v, Order o_radial, unsigned i)
31 {
32  libmesh_assert (-1.-1.e-5 <= v && v < 1.);
33 
34  switch (o_radial)
35  {
36  case CONSTANT:
37  switch (i)
38  {
39  case 0:
40  return 1.;
41 
42  default:
43  libmesh_error_msg("bad index i = " << i);
44  }
45 
46 
47  case FIRST:
48  switch (i)
49  {
50  case 0:
51  return -1.*v;
52 
53  case 1:
54  return v+1.;
55 
56  default:
57  libmesh_error_msg("bad index i = " << i);
58  }
59 
60 
61  case SECOND:
62  switch (i)
63  {
64  case 0:
65  return 2.*v*(v+.5);
66 
67  case 1:
68  return 2.*(v+1.)*(v+.5);
69 
70  case 2:
71  return -4.*(v+1.)*v;
72 
73  default:
74  libmesh_error_msg("bad index i = " << i);
75  }
76 
77 
78  case THIRD:
79  switch (i)
80  {
81  case 0:
82  return -4.5*v*(v+.6666666666666667)*(v+.3333333333333333);
83 
84  case 1:
85  return 4.5*(v+1.)*(v+.6666666666666667)*(v+.3333333333333333);
86 
87  case 2:
88  return 13.5*(v+1.)*v*(v+.3333333333333333);
89 
90  case 3:
91  return -13.5*(v+1.)*v*(v+.6666666666666667);
92 
93  default:
94  libmesh_error_msg("bad index i = " << i);
95  }
96 
97 
98  case FOURTH:
99  switch (i)
100  {
101  case 0:
102  return 10.66666666666667*v*(v+.75)*(v+.5)*(v+.25);
103 
104  case 1:
105  return 10.66666666666667*(v+1.)*(v+.75)*(v+.5)*(v+.25);
106 
107  case 2:
108  return -42.66666666666667*(v+1.)*v*(v+.5)*(v+.25);
109 
110  case 3:
111  return 64.*(v+1.)*v*(v+.75)*(v+.25);
112 
113  case 4:
114  return -42.66666666666667*(v+1.)*v*(v+.75)*(v+.5);
115 
116  default:
117  libmesh_error_msg("bad index i = " << i);
118  }
119 
120 
121  case FIFTH:
122  switch (i)
123  {
124  case 0:
125  return -26.04166666666667*v*(v+.8)*(v+.6)*(v+.4)*(v+.2);
126 
127  case 1:
128  return 26.04166666666667*(v+1.)*(v+.8)*(v+.6)*(v+.4)*(v+.2);
129 
130  case 2:
131  return 130.2083333333333*(v+1.)*v*(v+.6)*(v+.4)*(v+.2);
132 
133  case 3:
134  return -260.4166666666667*(v+1.)*v*(v+.8)*(v+.4)*(v+.2);
135 
136  case 4:
137  return 260.4166666666667*(v+1.)*v*(v+.8)*(v+.6)*(v+.2);
138 
139  case 5:
140  return -130.2083333333333*(v+1.)*v*(v+.8)*(v+.6)*(v+.4);
141 
142  default:
143  libmesh_error_msg("bad index i = " << i);
144  }
145 
146 
147  case SIXTH:
148  switch (i)
149  {
150  case 0:
151  return 64.8*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667);
152 
153  case 1:
154  return 64.8*(v+1.)*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667);
155 
156  case 2:
157  return -388.8*(v+1.)*v*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667);
158 
159  case 3:
160  return 972.*(v+1.)*v*(v+.8333333333333333)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667);
161 
162  case 4:
163  return -1296.*(v+1.)*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.3333333333333333)*(v+.1666666666666667);
164 
165  case 5:
166  return 972.*(v+1.)*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.1666666666666667);
167 
168  case 6:
169  return -388.8*(v+1.)*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333);
170 
171  default:
172  libmesh_error_msg("bad index i = " << i);
173  }
174 
175 
176  case SEVENTH:
177  switch (i)
178  {
179  case 0:
180  return -163.401388888889*v*
181  (v+.8571428571428571)*
182  (v+.7142857142857143)*
183  (v+.5714285714285714)*
184  (v+.4285714285714286)*
185  (v+.2857142857142857)*
186  (v+.1428571428571429);
187 
188  case 1:
189  return 163.4013888888888*
190  (v+1.)*
191  (v+.8571428571428571)*
192  (v+.7142857142857143)*
193  (v+.5714285714285714)*
194  (v+.4285714285714286)*
195  (v+.2857142857142857)*
196  (v+.1428571428571429);
197 
198  case 2:
199  return 1143.809722222222*
200  (v+1.)*v*
201  (v+.7142857142857143)*
202  (v+.5714285714285714)*
203  (v+.4285714285714286)*
204  (v+.2857142857142857)*
205  (v+.1428571428571429);
206 
207  case 3:
208  return -3431.429166666665*
209  (v+1.)*v*
210  (v+.8571428571428571)*
211  (v+.5714285714285714)*
212  (v+.4285714285714286)*
213  (v+.2857142857142857)*
214  (v+.1428571428571429);
215 
216  case 4:
217  return 5719.048611111112*
218  (v+1.)*v*
219  (v+.8571428571428571)*
220  (v+.7142857142857143)*
221  (v+.4285714285714286)*
222  (v+.2857142857142857)*
223  (v+.1428571428571429);
224 
225  case 5:
226  return -5719.048611111112*
227  (v+1.)*v*
228  (v+.8571428571428571)*
229  (v+.7142857142857143)*
230  (v+.5714285714285714)*
231  (v+.2857142857142857)*
232  (v+.1428571428571429);
233 
234  case 6:
235  return 3431.429166666666*
236  (v+1.)*v*
237  (v+.8571428571428571)*
238  (v+.7142857142857143)*
239  (v+.5714285714285714)*
240  (v+.4285714285714286)*
241  (v+.1428571428571429);
242 
243  case 7:
244  return -1143.809722222223*
245  (v+1.)*v*
246  (v+.8571428571428571)*
247  (v+.7142857142857143)*
248  (v+.5714285714285714)*
249  (v+.4285714285714286)*
250  (v+.2857142857142857);
251 
252  default:
253  libmesh_error_msg("bad index i = " << i);
254  }
255 
256 
257  case EIGHTH:
258  switch (i)
259  {
260  case 0:
261  return 416.1015873015873*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125);
262 
263  case 1:
264  return 416.1015873015873*(v+1.)*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125);
265 
266  case 2:
267  return -3328.812698412698*(v+1.)*v*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125);
268 
269  case 3:
270  return 11650.84444444444*(v+1.)*v*(v+.875)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125);
271 
272  case 4:
273  return -23301.68888888889*(v+1.)*v*(v+.875)*(v+.75)*(v+.5)*(v+.375)*(v+.25)*(v+.125);
274 
275  case 5:
276  return 29127.11111111111*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.375)*(v+.25)*(v+.125);
277 
278  case 6:
279  return -23301.68888888889*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.25)*(v+.125);
280 
281  case 7:
282  return 11650.84444444444*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.125);
283 
284  case 8:
285  return -3328.812698412698*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25);
286 
287  default:
288  libmesh_error_msg("bad index i = " << i);
289  }
290 
291 
292  case NINTH:
293  switch (i)
294  {
295  case 0:
296  return -1067.627008928571*v*
297  (v+.8888888888888889)*
298  (v+.7777777777777778)*
299  (v+.6666666666666667)*
300  (v+.5555555555555556)*
301  (v+.4444444444444444)*
302  (v+.3333333333333333)*
303  (v+.2222222222222222)*
304  (v+.1111111111111111);
305 
306  case 1:
307  return 1067.627008928571*
308  (v+1.)*
309  (v+.8888888888888889)*
310  (v+.7777777777777778)*
311  (v+.6666666666666667)*
312  (v+.5555555555555556)*
313  (v+.4444444444444444)*
314  (v+.3333333333333333)*
315  (v+.2222222222222222)*
316  (v+.1111111111111111);
317 
318  case 2:
319  return 9608.643080357158*
320  (v+1.)*v*
321  (v+.7777777777777778)*
322  (v+.6666666666666667)*
323  (v+.5555555555555556)*
324  (v+.4444444444444444)*
325  (v+.3333333333333333)*
326  (v+.2222222222222222)*
327  (v+.1111111111111111);
328 
329  case 3:
330  return -38434.57232142862*
331  (v+1.)*v*
332  (v+.8888888888888889)*
333  (v+.6666666666666667)*
334  (v+.5555555555555556)*
335  (v+.4444444444444444)*
336  (v+.3333333333333333)*
337  (v+.2222222222222222)*
338  (v+.1111111111111111);
339 
340  case 4:
341  return 89680.66874999999*
342  (v+1.)*v*
343  (v+.8888888888888889)*
344  (v+.7777777777777778)*
345  (v+.5555555555555556)*
346  (v+.4444444444444444)*
347  (v+.3333333333333333)*
348  (v+.2222222222222222)*
349  (v+.1111111111111111);
350 
351  case 5:
352  return -134521.0031249999*
353  (v+1.)*v*
354  (v+.8888888888888889)*
355  (v+.7777777777777778)*
356  (v+.6666666666666667)*
357  (v+.4444444444444444)*
358  (v+.3333333333333333)*
359  (v+.2222222222222222)*
360  (v+.1111111111111111);
361 
362  case 6:
363  return 134521.003125*
364  (v+1.)*v*
365  (v+.8888888888888889)*
366  (v+.7777777777777778)*
367  (v+.6666666666666667)*
368  (v+.5555555555555556)*
369  (v+.3333333333333333)*
370  (v+.2222222222222222)*
371  (v+.1111111111111111);
372 
373  case 7:
374  return -89680.66875000004*
375  (v+1.)*v*
376  (v+.8888888888888889)*
377  (v+.7777777777777778)*
378  (v+.6666666666666667)*
379  (v+.5555555555555556)*
380  (v+.4444444444444444)*
381  (v+.2222222222222222)*
382  (v+.1111111111111111);
383 
384  case 8:
385  return 38434.57232142857*
386  (v+1.)*v*
387  (v+.8888888888888889)*
388  (v+.7777777777777778)*
389  (v+.6666666666666667)*
390  (v+.5555555555555556)*
391  (v+.4444444444444444)*
392  (v+.3333333333333333)*
393  (v+.1111111111111111);
394 
395  case 9:
396  return -9608.643080357148*
397  (v+1.)*v*
398  (v+.8888888888888889)*
399  (v+.7777777777777778)*
400  (v+.6666666666666667)*
401  (v+.5555555555555556)*
402  (v+.4444444444444444)*
403  (v+.3333333333333333)*
404  (v+.2222222222222222);
405 
406  default:
407  libmesh_error_msg("bad index i = " << i);
408  }
409 
410 
411  case TENTH:
412  switch (i)
413  {
414  case 0:
415  return 2755.73192239859*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
416 
417  case 1:
418  return 2755.73192239859*(v+1.)*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
419 
420  case 2:
421  return -27557.31922398588*(v+1.)*v*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
422 
423  case 3:
424  return 124007.9365079364*(v+1.)*v*(v+.9)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
425 
426  case 4:
427  return -330687.8306878306*(v+1.)*v*(v+.9)*(v+.8)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
428 
429  case 5:
430  return 578703.7037037039*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
431 
432  case 6:
433  return -694444.4444444449*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.4)*(v+.3)*(v+.2)*(v+.1);
434 
435  case 7:
436  return 578703.7037037039*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.3)*(v+.2)*(v+.1);
437 
438  case 8:
439  return -330687.8306878306*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.2)*(v+.1);
440 
441  case 9:
442  return 124007.9365079364*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.1);
443 
444  case 10:
445  return -27557.31922398588*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2);
446 
447  default:
448  libmesh_error_msg("bad index i = " << i);
449  }
450 
451 
452  case ELEVENTH:
453  switch (i)
454  {
455  case 0:
456  return -7147.658895778214*v*
457  (v+.9090909090909091)*
458  (v+.8181818181818182)*
459  (v+.7272727272727273)*
460  (v+.6363636363636364)*
461  (v+.5454545454545455)*
462  (v+.4545454545454545)*
463  (v+.3636363636363636)*
464  (v+.2727272727272727)*
465  (v+.1818181818181818)*
466  (v+.9090909090909091e-1);
467 
468  case 1:
469  return 7147.65889577822*
470  (v+1.)*
471  (v+.9090909090909091)*
472  (v+.8181818181818182)*
473  (v+.7272727272727273)*
474  (v+.6363636363636364)*
475  (v+.5454545454545455)*
476  (v+.4545454545454545)*
477  (v+.3636363636363636)*
478  (v+.2727272727272727)*
479  (v+.1818181818181818)*
480  (v+.9090909090909091e-1);
481 
482  case 2:
483  return 78624.2478535604*
484  (v+1.)*v*
485  (v+.8181818181818182)*
486  (v+.7272727272727273)*
487  (v+.6363636363636364)*
488  (v+.5454545454545455)*
489  (v+.4545454545454545)*
490  (v+.3636363636363636)*
491  (v+.2727272727272727)*
492  (v+.1818181818181818)*
493  (v+.9090909090909091e-1);
494 
495  case 3:
496  return -393121.2392678026*
497  (v+1.)*v*
498  (v+.9090909090909091)*
499  (v+.7272727272727273)*
500  (v+.6363636363636364)*
501  (v+.5454545454545455)*
502  (v+.4545454545454545)*
503  (v+.3636363636363636)*
504  (v+.2727272727272727)*
505  (v+.1818181818181818)*
506  (v+.9090909090909091e-1);
507 
508  case 4:
509  return 1179363.717803407*
510  (v+1.)*v*
511  (v+.9090909090909091)*
512  (v+.8181818181818182)*
513  (v+.6363636363636364)*
514  (v+.5454545454545455)*
515  (v+.4545454545454545)*
516  (v+.3636363636363636)*
517  (v+.2727272727272727)*
518  (v+.1818181818181818)*
519  (v+.9090909090909091e-1);
520 
521  case 5:
522  return -2358727.435606812*
523  (v+1.)*v*
524  (v+.9090909090909091)*
525  (v+.8181818181818182)*
526  (v+.7272727272727273)*
527  (v+.5454545454545455)*
528  (v+.4545454545454545)*
529  (v+.3636363636363636)*
530  (v+.2727272727272727)*
531  (v+.1818181818181818)*
532  (v+.9090909090909091e-1);
533 
534  case 6:
535  return 3302218.409849539*
536  (v+1.)*v*
537  (v+.9090909090909091)*
538  (v+.8181818181818182)*
539  (v+.7272727272727273)*
540  (v+.6363636363636364)*
541  (v+.4545454545454545)*
542  (v+.3636363636363636)*
543  (v+.2727272727272727)*
544  (v+.1818181818181818)*
545  (v+.9090909090909091e-1);
546 
547  case 7:
548  return -3302218.40984954*
549  (v+1.)*v*
550  (v+.9090909090909091)*
551  (v+.8181818181818182)*
552  (v+.7272727272727273)*
553  (v+.6363636363636364)*
554  (v+.5454545454545455)*
555  (v+.3636363636363636)*
556  (v+.2727272727272727)*
557  (v+.1818181818181818)*
558  (v+.9090909090909091e-1);
559 
560  case 8:
561  return 2358727.435606811*
562  (v+1.)*v*
563  (v+.9090909090909091)*
564  (v+.8181818181818182)*
565  (v+.7272727272727273)*
566  (v+.6363636363636364)*
567  (v+.5454545454545455)*
568  (v+.4545454545454545)*
569  (v+.2727272727272727)*
570  (v+.1818181818181818)*
571  (v+.9090909090909091e-1);
572 
573  case 9:
574  return -1179363.717803406*
575  (v+1.)*v*
576  (v+.9090909090909091)*
577  (v+.8181818181818182)*
578  (v+.7272727272727273)*
579  (v+.6363636363636364)*
580  (v+.5454545454545455)*
581  (v+.4545454545454545)*
582  (v+.3636363636363636)*
583  (v+.1818181818181818)*
584  (v+.9090909090909091e-1);
585 
586  case 10:
587  return 393121.2392678019*
588  (v+1.)*v*
589  (v+.9090909090909091)*
590  (v+.8181818181818182)*
591  (v+.7272727272727273)*
592  (v+.6363636363636364)*
593  (v+.5454545454545455)*
594  (v+.4545454545454545)*
595  (v+.3636363636363636)*
596  (v+.2727272727272727)*
597  (v+.9090909090909091e-1);
598 
599  case 11:
600  return -78624.24785356052*
601  (v+1.)*v*
602  (v+.9090909090909091)*
603  (v+.8181818181818182)*
604  (v+.7272727272727273)*
605  (v+.6363636363636364)*
606  (v+.5454545454545455)*
607  (v+.4545454545454545)*
608  (v+.3636363636363636)*
609  (v+.2727272727272727)*
610  (v+.1818181818181818);
611 
612  default:
613  libmesh_error_msg("bad index i = " << i);
614  }
615 
616 
617  case TWELFTH:
618  switch (i)
619  {
620  case 0:
621  return 18613.92623376623*v*
622  (v+.9166666666666667)*
623  (v+.8333333333333333)*
624  (v+.75)*
625  (v+.6666666666666667)*
626  (v+.5833333333333333)*
627  (v+.5)*
628  (v+.4166666666666667)*
629  (v+.3333333333333333)*
630  (v+.25)*
631  (v+.1666666666666667)*
632  (v+.8333333333333333e-1);
633 
634  case 1:
635  return 18613.92623376623*
636  (v+1.)*
637  (v+.9166666666666667)*
638  (v+.8333333333333333)*
639  (v+.75)*
640  (v+.6666666666666667)*
641  (v+.5833333333333333)*
642  (v+.5)*
643  (v+.4166666666666667)*
644  (v+.3333333333333333)*
645  (v+.25)*
646  (v+.1666666666666667)*
647  (v+.8333333333333333e-1);
648 
649  case 2:
650  return -223367.1148051951*
651  (v+1.)*v*
652  (v+.8333333333333333)*
653  (v+.75)*
654  (v+.6666666666666667)*
655  (v+.5833333333333333)*
656  (v+.5)*
657  (v+.4166666666666667)*
658  (v+.3333333333333333)*
659  (v+.25)*
660  (v+.1666666666666667)*
661  (v+.8333333333333333e-1);
662 
663  case 3:
664  return 1228519.131428571*
665  (v+1.)*v*
666  (v+.9166666666666667)*
667  (v+.75)*
668  (v+.6666666666666667)*
669  (v+.5833333333333333)*
670  (v+.5)*
671  (v+.4166666666666667)*
672  (v+.3333333333333333)*
673  (v+.25)*
674  (v+.1666666666666667)*
675  (v+.8333333333333333e-1);
676 
677  case 4:
678  return -4095063.771428572*
679  (v+1.)*v*
680  (v+.9166666666666667)*
681  (v+.8333333333333333)*
682  (v+.6666666666666667)*
683  (v+.5833333333333333)*
684  (v+.5)*
685  (v+.4166666666666667)*
686  (v+.3333333333333333)*
687  (v+.25)*
688  (v+.1666666666666667)*
689  (v+.8333333333333333e-1);
690 
691  case 5:
692  return 9213893.485714271*
693  (v+1.)*v*
694  (v+.9166666666666667)*
695  (v+.8333333333333333)*
696  (v+.75)*
697  (v+.5833333333333333)*
698  (v+.5)*
699  (v+.4166666666666667)*
700  (v+.3333333333333333)*
701  (v+.25)*
702  (v+.1666666666666667)*
703  (v+.8333333333333333e-1);
704 
705  case 6:
706  return -14742229.57714284*
707  (v+1.)*v*
708  (v+.9166666666666667)*
709  (v+.8333333333333333)*
710  (v+.75)*
711  (v+.6666666666666667)*
712  (v+.5)*
713  (v+.4166666666666667)*
714  (v+.3333333333333333)*
715  (v+.25)*
716  (v+.1666666666666667)*
717  (v+.8333333333333333e-1);
718 
719  case 7:
720  return 17199267.84*
721  (v+1.)*v*
722  (v+.9166666666666667)*
723  (v+.8333333333333333)*
724  (v+.75)*
725  (v+.6666666666666667)*
726  (v+.5833333333333333)*
727  (v+.4166666666666667)*
728  (v+.3333333333333333)*
729  (v+.25)*
730  (v+.1666666666666667)*
731  (v+.8333333333333333e-1);
732 
733  case 8:
734  return -14742229.57714286*
735  (v+1.)*v*
736  (v+.9166666666666667)*
737  (v+.8333333333333333)*
738  (v+.75)*
739  (v+.6666666666666667)*
740  (v+.5833333333333333)*
741  (v+.5)*
742  (v+.3333333333333333)*
743  (v+.25)*
744  (v+.1666666666666667)*
745  (v+.8333333333333333e-1);
746 
747  case 9:
748  return 9213893.485714291*
749  (v+1.)*v*
750  (v+.9166666666666667)*
751  (v+.8333333333333333)*
752  (v+.75)*
753  (v+.6666666666666667)*
754  (v+.5833333333333333)*
755  (v+.5)*
756  (v+.4166666666666667)*
757  (v+.25)*
758  (v+.1666666666666667)*
759  (v+.8333333333333333e-1);
760 
761  case 10:
762  return -4095063.77142857*
763  (v+1.)*v*
764  (v+.9166666666666667)*
765  (v+.8333333333333333)*
766  (v+.75)*
767  (v+.6666666666666667)*
768  (v+.5833333333333333)*
769  (v+.5)*
770  (v+.4166666666666667)*
771  (v+.3333333333333333)*
772  (v+.1666666666666667)*
773  (v+.8333333333333333e-1);
774 
775  case 11:
776  return 1228519.131428571*
777  (v+1.)*v*
778  (v+.9166666666666667)*
779  (v+.8333333333333333)*
780  (v+.75)*
781  (v+.6666666666666667)*
782  (v+.5833333333333333)*
783  (v+.5)*
784  (v+.4166666666666667)*
785  (v+.3333333333333333)*
786  (v+.25)*
787  (v+.8333333333333333e-1);
788 
789  case 12:
790  return -223367.1148051951*
791  (v+1.)*v*
792  (v+.9166666666666667)*
793  (v+.8333333333333333)*
794  (v+.75)*
795  (v+.6666666666666667)*
796  (v+.5833333333333333)*
797  (v+.5)*
798  (v+.4166666666666667)*
799  (v+.3333333333333333)*
800  (v+.25)*
801  (v+.1666666666666667);
802 
803  default:
804  libmesh_error_msg("bad index i = " << i);
805  }
806 
807 
808  case THIRTEENTH:
809  switch (i)
810  {
811  case 0:
812  return -48638.84613847011*v*
813  (v+.9230769230769231)*
814  (v+.8461538461538462)*
815  (v+.7692307692307692)*
816  (v+.6923076923076923)*
817  (v+.6153846153846154)*
818  (v+.5384615384615385)*
819  (v+.4615384615384615)*
820  (v+.3846153846153846)*
821  (v+.3076923076923077)*
822  (v+.2307692307692308)*
823  (v+.1538461538461538)*
824  (v+.7692307692307692e-1);
825 
826  case 1:
827  return 48638.84613847013*
828  (v+1.)*
829  (v+.9230769230769231)*
830  (v+.8461538461538462)*
831  (v+.7692307692307692)*
832  (v+.6923076923076923)*
833  (v+.6153846153846154)*
834  (v+.5384615384615385)*
835  (v+.4615384615384615)*
836  (v+.3846153846153846)*
837  (v+.3076923076923077)*
838  (v+.2307692307692308)*
839  (v+.1538461538461538)*
840  (v+.7692307692307692e-1);
841 
842  case 2:
843  return 632304.9998001099*
844  (v+1.)*v*
845  (v+.8461538461538462)*
846  (v+.7692307692307692)*
847  (v+.6923076923076923)*
848  (v+.6153846153846154)*
849  (v+.5384615384615385)*
850  (v+.4615384615384615)*
851  (v+.3846153846153846)*
852  (v+.3076923076923077)*
853  (v+.2307692307692308)*
854  (v+.1538461538461538)*
855  (v+.7692307692307692e-1);
856 
857  case 3:
858  return -3793829.998800662*
859  (v+1.)*v*
860  (v+.9230769230769231)*
861  (v+.7692307692307692)*
862  (v+.6923076923076923)*
863  (v+.6153846153846154)*
864  (v+.5384615384615385)*
865  (v+.4615384615384615)*
866  (v+.3846153846153846)*
867  (v+.3076923076923077)*
868  (v+.2307692307692308)*
869  (v+.1538461538461538)*
870  (v+.7692307692307692e-1);
871 
872  case 4:
873  return 13910709.99560246*
874  (v+1.)*v*
875  (v+.9230769230769231)*
876  (v+.8461538461538462)*
877  (v+.6923076923076923)*
878  (v+.6153846153846154)*
879  (v+.5384615384615385)*
880  (v+.4615384615384615)*
881  (v+.3846153846153846)*
882  (v+.3076923076923077)*
883  (v+.2307692307692308)*
884  (v+.1538461538461538)*
885  (v+.7692307692307692e-1);
886 
887  case 5:
888  return -34776774.98900616*
889  (v+1.)*v*
890  (v+.9230769230769231)*
891  (v+.8461538461538462)*
892  (v+.7692307692307692)*
893  (v+.6153846153846154)*
894  (v+.5384615384615385)*
895  (v+.4615384615384615)*
896  (v+.3846153846153846)*
897  (v+.3076923076923077)*
898  (v+.2307692307692308)*
899  (v+.1538461538461538)*
900  (v+.7692307692307692e-1);
901 
902  case 6:
903  return 62598194.98021102*
904  (v+1.)*v*
905  (v+.9230769230769231)*
906  (v+.8461538461538462)*
907  (v+.7692307692307692)*
908  (v+.6923076923076923)*
909  (v+.5384615384615385)*
910  (v+.4615384615384615)*
911  (v+.3846153846153846)*
912  (v+.3076923076923077)*
913  (v+.2307692307692308)*
914  (v+.1538461538461538)*
915  (v+.7692307692307692e-1);
916 
917  case 7:
918  return -83464259.97361468*
919  (v+1.)*v*
920  (v+.9230769230769231)*
921  (v+.8461538461538462)*
922  (v+.7692307692307692)*
923  (v+.6923076923076923)*
924  (v+.6153846153846154)*
925  (v+.4615384615384615)*
926  (v+.3846153846153846)*
927  (v+.3076923076923077)*
928  (v+.2307692307692308)*
929  (v+.1538461538461538)*
930  (v+.7692307692307692e-1);
931 
932  case 8:
933  return 83464259.97361466*
934  (v+1.)*v*
935  (v+.9230769230769231)*
936  (v+.8461538461538462)*
937  (v+.7692307692307692)*
938  (v+.6923076923076923)*
939  (v+.6153846153846154)*
940  (v+.5384615384615385)*
941  (v+.3846153846153846)*
942  (v+.3076923076923077)*
943  (v+.2307692307692308)*
944  (v+.1538461538461538)*
945  (v+.7692307692307692e-1);
946 
947  case 9:
948  return -62598194.98021099*
949  (v+1.)*v*
950  (v+.9230769230769231)*
951  (v+.8461538461538462)*
952  (v+.7692307692307692)*
953  (v+.6923076923076923)*
954  (v+.6153846153846154)*
955  (v+.5384615384615385)*
956  (v+.4615384615384615)*
957  (v+.3076923076923077)*
958  (v+.2307692307692308)*
959  (v+.1538461538461538)*
960  (v+.7692307692307692e-1);
961 
962  case 10:
963  return 34776774.98900612*
964  (v+1.)*v*
965  (v+.9230769230769231)*
966  (v+.8461538461538462)*
967  (v+.7692307692307692)*
968  (v+.6923076923076923)*
969  (v+.6153846153846154)*
970  (v+.5384615384615385)*
971  (v+.4615384615384615)*
972  (v+.3846153846153846)*
973  (v+.2307692307692308)*
974  (v+.1538461538461538)*
975  (v+.7692307692307692e-1);
976 
977  case 11:
978  return -13910709.99560244*
979  (v+1.)*v*
980  (v+.9230769230769231)*
981  (v+.8461538461538462)*
982  (v+.7692307692307692)*
983  (v+.6923076923076923)*
984  (v+.6153846153846154)*
985  (v+.5384615384615385)*
986  (v+.4615384615384615)*
987  (v+.3846153846153846)*
988  (v+.3076923076923077)*
989  (v+.1538461538461538)*
990  (v+.7692307692307692e-1);
991 
992  case 12:
993  return 3793829.998800668*
994  (v+1.)*v*
995  (v+.9230769230769231)*
996  (v+.8461538461538462)*
997  (v+.7692307692307692)*
998  (v+.6923076923076923)*
999  (v+.6153846153846154)*
1000  (v+.5384615384615385)*
1001  (v+.4615384615384615)*
1002  (v+.3846153846153846)*
1003  (v+.3076923076923077)*
1004  (v+.2307692307692308)*
1005  (v+.7692307692307692e-1);
1006 
1007  case 13:
1008  return -632304.9998001105*
1009  (v+1.)*v*
1010  (v+.9230769230769231)*
1011  (v+.8461538461538462)*
1012  (v+.7692307692307692)*
1013  (v+.6923076923076923)*
1014  (v+.6153846153846154)*
1015  (v+.5384615384615385)*
1016  (v+.4615384615384615)*
1017  (v+.3846153846153846)*
1018  (v+.3076923076923077)*
1019  (v+.2307692307692308)*
1020  (v+.1538461538461538);
1021 
1022  default:
1023  libmesh_error_msg("bad index i = " << i);
1024  }
1025 
1026 
1027  case FOURTEENTH:
1028  switch (i)
1029  {
1030  case 0:
1031  return 127463.0033762123*v*
1032  (v+.9285714285714286)*
1033  (v+.8571428571428571)*
1034  (v+.7857142857142857)*
1035  (v+.7142857142857143)*
1036  (v+.6428571428571429)*
1037  (v+.5714285714285714)*
1038  (v+.5)*
1039  (v+.4285714285714286)*
1040  (v+.3571428571428571)*
1041  (v+.2857142857142857)*
1042  (v+.2142857142857143)*
1043  (v+.1428571428571429)*
1044  (v+.7142857142857143e-1);
1045 
1046  case 1:
1047  return 127463.0033762123*
1048  (v+1.)*
1049  (v+.9285714285714286)*
1050  (v+.8571428571428571)*
1051  (v+.7857142857142857)*
1052  (v+.7142857142857143)*
1053  (v+.6428571428571429)*
1054  (v+.5714285714285714)*
1055  (v+.5)*
1056  (v+.4285714285714286)*
1057  (v+.3571428571428571)*
1058  (v+.2857142857142857)*
1059  (v+.2142857142857143)*
1060  (v+.1428571428571429)*
1061  (v+.7142857142857143e-1);
1062 
1063  case 2:
1064  return -1784482.047266971*
1065  (v+1.)*v*
1066  (v+.8571428571428571)*
1067  (v+.7857142857142857)*
1068  (v+.7142857142857143)*
1069  (v+.6428571428571429)*
1070  (v+.5714285714285714)*
1071  (v+.5)*
1072  (v+.4285714285714286)*
1073  (v+.3571428571428571)*
1074  (v+.2857142857142857)*
1075  (v+.2142857142857143)*
1076  (v+.1428571428571429)*
1077  (v+.7142857142857143e-1);
1078 
1079  case 3:
1080  return 11599133.30723529*
1081  (v+1.)*v*
1082  (v+.9285714285714286)*
1083  (v+.7857142857142857)*
1084  (v+.7142857142857143)*
1085  (v+.6428571428571429)*
1086  (v+.5714285714285714)*
1087  (v+.5)*
1088  (v+.4285714285714286)*
1089  (v+.3571428571428571)*
1090  (v+.2857142857142857)*
1091  (v+.2142857142857143)*
1092  (v+.1428571428571429)*
1093  (v+.7142857142857143e-1);
1094 
1095  case 4:
1096  return -46396533.2289412*
1097  (v+1.)*v*
1098  (v+.9285714285714286)*
1099  (v+.8571428571428571)*
1100  (v+.7142857142857143)*
1101  (v+.6428571428571429)*
1102  (v+.5714285714285714)*
1103  (v+.5)*
1104  (v+.4285714285714286)*
1105  (v+.3571428571428571)*
1106  (v+.2857142857142857)*
1107  (v+.2142857142857143)*
1108  (v+.1428571428571429)*
1109  (v+.7142857142857143e-1);
1110 
1111  case 5:
1112  return 127590466.3795883*
1113  (v+1.)*v*
1114  (v+.9285714285714286)*
1115  (v+.8571428571428571)*
1116  (v+.7857142857142857)*
1117  (v+.6428571428571429)*
1118  (v+.5714285714285714)*
1119  (v+.5)*
1120  (v+.4285714285714286)*
1121  (v+.3571428571428571)*
1122  (v+.2857142857142857)*
1123  (v+.2142857142857143)*
1124  (v+.1428571428571429)*
1125  (v+.7142857142857143e-1);
1126 
1127  case 6:
1128  return -255180932.7591769*
1129  (v+1.)*v*
1130  (v+.9285714285714286)*
1131  (v+.8571428571428571)*
1132  (v+.7857142857142857)*
1133  (v+.7142857142857143)*
1134  (v+.5714285714285714)*
1135  (v+.5)*
1136  (v+.4285714285714286)*
1137  (v+.3571428571428571)*
1138  (v+.2857142857142857)*
1139  (v+.2142857142857143)*
1140  (v+.1428571428571429)*
1141  (v+.7142857142857143e-1);
1142 
1143  case 7:
1144  return 382771399.1387658*
1145  (v+1.)*v*
1146  (v+.9285714285714286)*
1147  (v+.8571428571428571)*
1148  (v+.7857142857142857)*
1149  (v+.7142857142857143)*
1150  (v+.6428571428571429)*
1151  (v+.5)*
1152  (v+.4285714285714286)*
1153  (v+.3571428571428571)*
1154  (v+.2857142857142857)*
1155  (v+.2142857142857143)*
1156  (v+.1428571428571429)*
1157  (v+.7142857142857143e-1);
1158 
1159  case 8:
1160  return -437453027.5871608*
1161  (v+1.)*v*
1162  (v+.9285714285714286)*
1163  (v+.8571428571428571)*
1164  (v+.7857142857142857)*
1165  (v+.7142857142857143)*
1166  (v+.6428571428571429)*
1167  (v+.5714285714285714)*
1168  (v+.4285714285714286)*
1169  (v+.3571428571428571)*
1170  (v+.2857142857142857)*
1171  (v+.2142857142857143)*
1172  (v+.1428571428571429)*
1173  (v+.7142857142857143e-1);
1174 
1175  case 9:
1176  return 382771399.1387654*
1177  (v+1.)*v*
1178  (v+.9285714285714286)*
1179  (v+.8571428571428571)*
1180  (v+.7857142857142857)*
1181  (v+.7142857142857143)*
1182  (v+.6428571428571429)*
1183  (v+.5714285714285714)*
1184  (v+.5)*
1185  (v+.3571428571428571)*
1186  (v+.2857142857142857)*
1187  (v+.2142857142857143)*
1188  (v+.1428571428571429)*
1189  (v+.7142857142857143e-1);
1190 
1191  case 10:
1192  return -255180932.7591768*
1193  (v+1.)*v*
1194  (v+.9285714285714286)*
1195  (v+.8571428571428571)*
1196  (v+.7857142857142857)*
1197  (v+.7142857142857143)*
1198  (v+.6428571428571429)*
1199  (v+.5714285714285714)*
1200  (v+.5)*
1201  (v+.4285714285714286)*
1202  (v+.2857142857142857)*
1203  (v+.2142857142857143)*
1204  (v+.1428571428571429)*
1205  (v+.7142857142857143e-1);
1206 
1207  case 11:
1208  return 127590466.3795886*
1209  (v+1.)*v*
1210  (v+.9285714285714286)*
1211  (v+.8571428571428571)*
1212  (v+.7857142857142857)*
1213  (v+.7142857142857143)*
1214  (v+.6428571428571429)*
1215  (v+.5714285714285714)*
1216  (v+.5)*
1217  (v+.4285714285714286)*
1218  (v+.3571428571428571)*
1219  (v+.2142857142857143)*
1220  (v+.1428571428571429)*
1221  (v+.7142857142857143e-1);
1222 
1223  case 12:
1224  return -46396533.22894132*
1225  (v+1.)*v*
1226  (v+.9285714285714286)*
1227  (v+.8571428571428571)*
1228  (v+.7857142857142857)*
1229  (v+.7142857142857143)*
1230  (v+.6428571428571429)*
1231  (v+.5714285714285714)*
1232  (v+.5)*
1233  (v+.4285714285714286)*
1234  (v+.3571428571428571)*
1235  (v+.2857142857142857)*
1236  (v+.1428571428571429)*
1237  (v+.7142857142857143e-1);
1238 
1239  case 13:
1240  return 11599133.30723532*
1241  (v+1.)*v*
1242  (v+.9285714285714286)*
1243  (v+.8571428571428571)*
1244  (v+.7857142857142857)*
1245  (v+.7142857142857143)*
1246  (v+.6428571428571429)*
1247  (v+.5714285714285714)*
1248  (v+.5)*
1249  (v+.4285714285714286)*
1250  (v+.3571428571428571)*
1251  (v+.2857142857142857)*
1252  (v+.2142857142857143)*
1253  (v+.7142857142857143e-1);
1254 
1255  case 14:
1256  return -1784482.047266969*
1257  (v+1.)*v*
1258  (v+.9285714285714286)*
1259  (v+.8571428571428571)*
1260  (v+.7857142857142857)*
1261  (v+.7142857142857143)*
1262  (v+.6428571428571429)*
1263  (v+.5714285714285714)*
1264  (v+.5)*
1265  (v+.4285714285714286)*
1266  (v+.3571428571428571)*
1267  (v+.2857142857142857)*
1268  (v+.2142857142857143)*
1269  (v+.1428571428571429);
1270 
1271  default:
1272  libmesh_error_msg("bad index i = " << i);
1273  }
1274 
1275 
1276  // provided the constructor worked fine, we should never end up here.
1277  default:
1278  libmesh_error_msg("Lagrange polynomials only defined up to 15.");
1279  } // switch (o_radial)
1280 } // lagrange_eval()
1281 
1282 
1283 
1284 
1285 Real lagrange_eval_deriv(Real v, Order o_radial, unsigned i)
1286 {
1287  libmesh_assert (-1.-1.e-5 <= v && v < 1.);
1288 
1289  switch (o_radial)
1290  {
1291  case CONSTANT:
1292  switch (i)
1293  {
1294  case 0:
1295  return 0.;
1296 
1297  default:
1298  libmesh_error_msg("bad index i = " << i);
1299  }
1300 
1301 
1302  case FIRST:
1303  switch (i)
1304  {
1305  case 0:
1306  return -1.;
1307 
1308  case 1:
1309  return 1.;
1310 
1311  default:
1312  libmesh_error_msg("bad index i = " << i);
1313  }
1314 
1315 
1316  case SECOND:
1317  switch (i)
1318  {
1319  case 0:
1320  return 4.*v+1.;
1321 
1322  case 1:
1323  return 4.*v+3.;
1324 
1325  case 2:
1326  return -8.*v-4.;
1327 
1328  default:
1329  libmesh_error_msg("bad index i = " << i);
1330  }
1331 
1332 
1333  case THIRD:
1334  switch (i)
1335  {
1336  case 0:
1337  return -1.+(-9.-13.5*v)*v;
1338 
1339  case 1:
1340  return 5.5+(18.+13.5*v)*v;
1341 
1342  case 2:
1343  return 4.5+(36.+40.5*v)*v;
1344 
1345  case 3:
1346  return -9.+(-45.-40.5*v)*v;
1347 
1348  default:
1349  libmesh_error_msg("bad index i = " << i);
1350  }
1351 
1352 
1353  case FOURTH:
1354  switch (i)
1355  {
1356  case 0:
1357  return 1.+(14.66666666666667+(48.+42.66666666666667*v)*v)*v;
1358 
1359  case 1:
1360  return 8.333333333333333+(46.66666666666667+(80.+42.66666666666667*v)*v)*v;
1361 
1362  case 2:
1363  return -5.333333333333333+(-74.66666666666667+(-224.-170.6666666666667*v)*v)*v;
1364 
1365  case 3:
1366  return 12.+(152.+(384.+256.*v)*v)*v;
1367 
1368  case 4:
1369  return -16.+(-138.6666666666667+(-288.-170.6666666666667*v)*v)*v;
1370 
1371  default:
1372  libmesh_error_msg("bad index i = " << i);
1373  }
1374 
1375 
1376  case FIFTH:
1377  switch (i)
1378  {
1379  case 0:
1380  return -1.+(-20.83333333333333+(-109.375+(-208.3333333333333-130.2083333333333*v)*v)*v)*v;
1381 
1382  case 1:
1383  return 11.41666666666667+(93.75+(265.625+(312.5+130.2083333333333*v)*v)*v)*v;
1384 
1385  case 2:
1386  return 6.25+(127.0833333333333+(640.625+(1145.833333333333+651.0416666666667*v)*v)*v)*v;
1387 
1388  case 3:
1389  return -16.66666666666667+(-325.+(-1531.25+(-2500.-1302.083333333333*v)*v)*v)*v;
1390 
1391  case 4:
1392  return 25.+(445.8333333333333+(1843.75+(2708.333333333333+1302.083333333333*v)*v)*v)*v;
1393 
1394  case 5:
1395  return -25.+(-320.8333333333333+(-1109.375+(-1458.333333333333-651.0416666666667*v)*v)*v)*v;
1396 
1397  default:
1398  libmesh_error_msg("bad index i = " << i);
1399  }
1400 
1401 
1402  case SIXTH:
1403  switch (i)
1404  {
1405  case 0:
1406  return 1.+(27.4+(202.5+(612.+(810.+388.8*v)*v)*v)*v)*v;
1407 
1408  case 1:
1409  return 14.7+(162.4+(661.5+(1260.+(1134.+388.8*v)*v)*v)*v)*v;
1410 
1411  case 2:
1412  return -7.2+(-194.4+(-1404.+(-4104.+(-5184.-2332.8*v)*v)*v)*v)*v;
1413 
1414  case 3:
1415  return 22.5+(594.+(4144.5+(11556.+(13770.+5832.*v)*v)*v)*v)*v;
1416 
1417  case 4:
1418  return -40.+(-1016.+(-6696.+(-17424.+(-19440.-7776.*v)*v)*v)*v)*v;
1419 
1420  case 5:
1421  return 45.+(1053.+(6223.5+(14796.+(15390.+5832.*v)*v)*v)*v)*v;
1422 
1423  case 6:
1424  return -36.+(-626.4+(-3132.+(-6696.+(-6480.-2332.8*v)*v)*v)*v)*v;
1425 
1426  default:
1427  libmesh_error_msg("bad index i = " << i);
1428  }
1429 
1430 
1431  case SEVENTH:
1432  switch (i)
1433  {
1434  case 0:
1435  return -1.000000000000001+
1436  (-34.30000000000002+
1437  (-331.5666666666668+
1438  (-1400.583333333334+
1439  (-2917.881944444446+
1440  (-2941.225000000002-1143.809722222223*v)*v)*v)*v)*v)*v;
1441 
1442  case 1:
1443  return 18.14999999999999+
1444  (255.3444444444444+
1445  (1382.004166666666+
1446  (3734.888888888888+
1447  (5368.902777777776+
1448  (3921.633333333332+1143.809722222222*v)*v)*v)*v)*v)*v;
1449 
1450  case 2:
1451  return 8.166666666666662+
1452  (277.3944444444443+
1453  (2642.529166666665+
1454  (10937.88888888888+
1455  (22175.90277777776+
1456  (21568.98333333332+8006.668055555551*v)*v)*v)*v)*v)*v;
1457 
1458  case 3:
1459  return -29.39999999999998+
1460  (-984.8999999999994+
1461  (-9192.399999999994+
1462  (-37015.41666666664+
1463  (-72480.18749999995+
1464  (-67648.17499999996-24020.00416666665*v)*v)*v)*v)*v)*v;
1465 
1466  case 4:
1467  return 61.25000000000001+
1468  (2009.+
1469  (18186.14583333333+
1470  (70429.33333333334+
1471  (131888.2638888889+
1472  (117649.+40033.34027777778*v)*v)*v)*v)*v)*v;
1473 
1474  case 5:
1475  return -81.66666666666667+
1476  (-2583.388888888889+
1477  (-22237.83333333334+
1478  (-81300.52777777778+
1479  (-144143.3680555556+
1480  (-122551.0416666667-40033.34027777778*v)*v)*v)*v)*v)*v;
1481 
1482  case 6:
1483  return 73.49999999999999+
1484  (2153.55+
1485  (16845.5875+
1486  (56823.66666666666+
1487  (94539.37499999999+
1488  (76471.84999999999+24020.00416666666*v)*v)*v)*v)*v)*v;
1489 
1490  case 7:
1491  return -49.00000000000003+
1492  (-1092.700000000001+
1493  (-7294.466666666671+
1494  (-22209.25000000001+
1495  (-34431.00694444447+
1496  (-26471.02500000002-8006.66805555556*v)*v)*v)*v)*v)*v;
1497 
1498  default:
1499  libmesh_error_msg("bad index i = " << i);
1500  }
1501 
1502 
1503  case EIGHTH:
1504  switch (i)
1505  {
1506  case 0:
1507  return 1.+
1508  (41.48571428571429+
1509  (500.2666666666667+
1510  (2750.577777777778+
1511  (7964.444444444444+
1512  (12561.06666666667+
1513  (10194.48888888889+3328.812698412698*v)*v)*v)*v)*v)*v)*v;
1514 
1515  case 1:
1516  return 21.74285714285714+
1517  (374.9968253968254+
1518  (2563.2+
1519  (9122.133333333333+
1520  (18432.+
1521  (21299.2+
1522  (13107.2+3328.812698412698*v)*v)*v)*v)*v)*v)*v;
1523 
1524  case 2:
1525  return -9.142857142857143+
1526  (-376.6857142857143+
1527  (-4497.066666666667+
1528  (-24393.95555555556+
1529  (-69404.44444444444+
1530  (-107042.1333333333+
1531  (-84468.62222222222-26630.50158730159*v)*v)*v)*v)*v)*v)*v;
1532 
1533  case 3:
1534  return 37.33333333333333+
1535  (1523.911111111111+
1536  (17952.+
1537  (95675.73333333333+
1538  (266240.+
1539  (399769.6+
1540  (305834.6666666667+93206.75555555556*v)*v)*v)*v)*v)*v)*v;
1541 
1542  case 4:
1543  return -89.6+
1544  (-3609.6+
1545  (-41736.53333333333+
1546  (-217179.0222222222+
1547  (-587320.8888888889+
1548  (-854152.5333333333+
1549  (-632058.3111111111-186413.5111111111*v)*v)*v)*v)*v)*v)*v;
1550 
1551  case 5:
1552  return 140.+
1553  (5528.+
1554  (62165.33333333333+
1555  (312689.7777777778+
1556  (814648.8888888889+
1557  (1141418.666666667+
1558  (815559.1111111111+233016.8888888889*v)*v)*v)*v)*v)*v)*v;
1559 
1560  case 6:
1561  return -149.3333333333333+
1562  (-5697.422222222222+
1563  (-61209.6+
1564  (-292727.4666666667+
1565  (-727040.+
1566  (-976486.4+
1567  (-672836.2666666667-186413.5111111111*v)*v)*v)*v)*v)*v)*v;
1568 
1569  case 7:
1570  return 112.+
1571  (3974.4+
1572  (39153.06666666667+
1573  (173954.8444444444+
1574  (407324.4444444444+
1575  (522103.4666666667+
1576  (346612.6222222222+93206.75555555556*v)*v)*v)*v)*v)*v)*v;
1577 
1578  case 8:
1579  return -64.+
1580  (-1759.085714285714+
1581  (-14890.66666666667+
1582  (-59892.62222222222+
1583  (-130844.4444444444+
1584  (-159470.9333333333+
1585  (-101944.8888888889-26630.50158730159*v)*v)*v)*v)*v)*v)*v;
1586 
1587  default:
1588  libmesh_error_msg("bad index i = " << i);
1589  }
1590 
1591 
1592  case NINTH:
1593  switch (i)
1594  {
1595  case 0:
1596  return -.9999999999999998+
1597  (-48.92142857142856+
1598  (-711.9080357142856+
1599  (-4866.074999999999+
1600  (-18264.8671875+
1601  (-39858.07499999999+
1602  (-50376.17812499999+
1603  (-34164.06428571428-9608.643080357141*v)*v)*v)*v)*v)*v)*v)*v;
1604 
1605  case 1:
1606  return 25.46071428571428+
1607  (523.5267857142855+
1608  (4361.464285714284+
1609  (19477.96874999999+
1610  (51479.92968749998+
1611  (83037.65624999997+
1612  (80269.73437499997+
1613  (42705.08035714284+9608.643080357139*v)*v)*v)*v)*v)*v)*v)*v;
1614 
1615  case 2:
1616  return 10.12500000000002+
1617  (492.7982142857151+
1618  (7119.466071428583+
1619  (48200.56875000008+
1620  (178735.9921875003+
1621  (384187.5562500006+
1622  (476636.1468750008+
1623  (316017.5946428576+86477.78772321442*v)*v)*v)*v)*v)*v)*v)*v;
1624 
1625  case 3:
1626  return -46.28571428571434+
1627  (-2237.914285714288+
1628  (-32031.73928571432+
1629  (-214253.1000000003+
1630  (-782604.2812500009+
1631  (-1651895.775000002+
1632  (-2006189.775000002+
1633  (-1298234.442857144-345911.1508928576*v)*v)*v)*v)*v)*v)*v)*v;
1634 
1635  case 4:
1636  return 126.+
1637  (6038.1+
1638  (85360.8375+
1639  (562004.325+
1640  (2014021.96875+
1641  (4158525.825+
1642  (4929115.275+
1643  (3108929.85+807126.01875*v)*v)*v)*v)*v)*v)*v)*v;
1644 
1645  case 5:
1646  return -226.7999999999999+
1647  (-10732.49999999999+
1648  (-149126.0624999999+
1649  (-961004.2499999995+
1650  (-3359744.578124998+
1651  (-6753729.374999997+
1652  (-7788932.156249996+
1653  (-4782968.999999998-1210689.028124999*v)*v)*v)*v)*v)*v)*v)*v;
1654 
1655  case 6:
1656  return 283.5+
1657  (13160.475+
1658  (178213.1625+
1659  (1113994.0125+
1660  (3769397.015624999+
1661  (7336100.137499999+
1662  (8207441.943749999+
1663  (4902543.224999999+1210689.028125*v)*v)*v)*v)*v)*v)*v)*v;
1664 
1665  case 7:
1666  return -252.0000000000001+
1667  (-11320.2+
1668  (-146952.2250000001+
1669  (-877643.1000000003+
1670  (-2844398.531250001+
1671  (-5327696.025000002+
1672  (-5766134.850000002+
1673  (-3348078.300000001-807126.0187500003*v)*v)*v)*v)*v)*v)*v)*v;
1674 
1675  case 8:
1676  return 162.+
1677  (6791.271428571428+
1678  (81375.92678571428+
1679  (453820.725+
1680  (1391547.09375+
1681  (2493344.025+
1682  (2604060.9+
1683  (1469054.764285714+345911.1508928571*v)*v)*v)*v)*v)*v)*v)*v;
1684 
1685  case 9:
1686  return -81.00000000000004+
1687  (-2666.635714285716+
1688  (-27608.92232142859+
1689  (-139731.0750000001+
1690  (-400169.7421875002+
1691  (-682015.9500000004+
1692  (-685891.0406250004+
1693  (-375804.7071428573-86477.78772321433*v)*v)*v)*v)*v)*v)*v)*v;
1694 
1695  default:
1696  libmesh_error_msg("bad index i = " << i);
1697  }
1698 
1699 
1700  case TENTH:
1701  switch (i)
1702  {
1703  case 0:
1704  return 1.+
1705  (56.57936507936509+
1706  (969.4940476190478+
1707  (7977.072310405645+
1708  (37109.37500000001+
1709  (104618.0555555556+
1710  (182291.6666666667+
1711  (191798.9417989418+
1712  (111607.1428571429+27557.3192239859*v)*v)*v)*v)*v)*v)*v)*v)*v;
1713 
1714  case 1:
1715  return 29.28968253968254+
1716  (702.9087301587303+
1717  (6952.298280423282+
1718  (37664.57231040565+
1719  (124291.087962963+
1720  (260868.0555555556+
1721  (350115.7407407408+
1722  (291005.2910052911+
1723  (136408.7301587302+27557.3192239859*v)*v)*v)*v)*v)*v)*v)*v)*v;
1724 
1725  case 2:
1726  return -11.11111111111111+
1727  (-626.190476190476+
1728  (-10671.49470899471+
1729  (-87187.38977072308+
1730  (-402025.4629629629+
1731  (-1121180.555555555+
1732  (-1928240.74074074+
1733  (-1997354.497354497+
1734  (-1140873.015873016-275573.1922398588*v)*v)*v)*v)*v)*v)*v)*v)*v;
1735 
1736  case 3:
1737  return 56.24999999999993+
1738  (3154.464285714282+
1739  (53393.30357142851+
1740  (432433.5317460312+
1741  (1972612.84722222+
1742  (5430729.16666666+
1743  (9199652.777777767+
1744  (9365079.365079354+
1745  (5245535.714285708+1240079.365079364*v)*v)*v)*v)*v)*v)*v)*v)*v;
1746 
1747  case 4:
1748  return -171.4285714285714+
1749  (-9552.380952380949+
1750  (-160278.5714285714+
1751  (-1283804.232804232+
1752  (-5778472.22222222+
1753  (-15662499.99999999+
1754  (-26069444.44444444+
1755  (-26031746.03174602+
1756  (-14285714.28571428-3306878.306878306*v)*v)*v)*v)*v)*v)*v)*v)*v;
1757 
1758  case 5:
1759  return 350.0000000000001+
1760  (19336.11111111112+
1761  (320686.8055555557+
1762  (2531768.518518519+
1763  (11203732.63888889+
1764  (29794791.66666668+
1765  (48586805.55555557+
1766  (47500000.00000002+
1767  (25520833.33333334+5787037.037037039*v)*v)*v)*v)*v)*v)*v)*v)*v;
1768 
1769  case 6:
1770  return -504.0000000000003+
1771  (-27508.00000000002+
1772  (-448875.0000000003+
1773  (-3474944.444444447+
1774  (-15041319.44444445+
1775  (-39072083.33333336+
1776  (-62222222.22222226+
1777  (-59444444.44444448+
1778  (-31250000.00000002-6944444.444444449*v)*v)*v)*v)*v)*v)*v)*v)*v;
1779 
1780  case 7:
1781  return 525.0000000000002+
1782  (28129.16666666668+
1783  (448056.2500000002+
1784  (3373087.962962964+
1785  (14176475.69444445+
1786  (35773958.33333335+
1787  (55440972.22222224+
1788  (51666666.66666669+
1789  (26562500.00000001+5787037.037037039*v)*v)*v)*v)*v)*v)*v)*v)*v;
1790 
1791  case 8:
1792  return -399.9999999999999+
1793  (-20765.07936507936+
1794  (-317919.8412698412+
1795  (-2294915.343915343+
1796  (-9270138.888888886+
1797  (-22579166.66666666+
1798  (-33930555.55555554+
1799  (-30793650.79365078+
1800  (-15476190.47619047-3306878.306878306*v)*v)*v)*v)*v)*v)*v)*v)*v;
1801 
1802  case 9:
1803  return 224.9999999999997+
1804  (10930.35714285713+
1805  (155254.0178571427+
1806  (1050662.698412697+
1807  (4026519.097222217+
1808  (9399479.166666656+
1809  (13647569.44444443+
1810  (12043650.79365078+
1811  (5915178.571428564+1240079.365079364*v)*v)*v)*v)*v)*v)*v)*v)*v;
1812 
1813  case 10:
1814  return -99.99999999999998+
1815  (-3857.936507936507+
1816  (-47567.26190476189+
1817  (-292742.9453262786+
1818  (-1048784.722222222+
1819  (-2329513.888888888+
1820  (-3256944.444444444+
1821  (-2791005.29100529+
1822  (-1339285.714285714-275573.1922398588*v)*v)*v)*v)*v)*v)*v)*v)*v;
1823 
1824  default:
1825  libmesh_error_msg("bad index i = " << i);
1826  }
1827 
1828 
1829  case ELEVENTH:
1830  switch (i)
1831  {
1832  case 0:
1833  return -.9999999999999994+
1834  (-64.43730158730155+
1835  (-1275.779345238094+
1836  (-12338.01201499117+
1837  (-68930.87539958109+
1838  (-240206.4480902776+
1839  (-539167.6189293978+
1840  (-779744.6068121688+
1841  (-701770.1461309519+
1842  (-357382.9447889107-78624.24785356036*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1843 
1844  case 1:
1845  return 33.2186507936508+
1846  (914.9568650793652+
1847  (10529.28835648148+
1848  (67482.7123346561+
1849  (269102.9154748127+
1850  (702350.1214583334+
1851  (1221444.149890046+
1852  (1403540.292261905+
1853  (1023414.796440972+
1854  (428859.5337466932+78624.24785356042*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1855 
1856  case 2:
1857  return 12.1+
1858  (777.2713492063492+
1859  (15323.969375+
1860  (147397.3637345679+
1861  (818004.6489266424+
1862  (2827608.196111111+
1863  (6286078.696244213+
1864  (8988328.740343915+
1865  (7982635.412239583+
1866  (4002688.981635802+864866.7263891644*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1867 
1868  case 3:
1869  return -67.22222222222232+
1870  (-4301.74206349207+
1871  (-84371.62344576732+
1872  (-806241.7181878318+
1873  (-4438664.17533345+
1874  (-15197594.39114585+
1875  (-33411814.74551509+
1876  (-47167460.12480165+
1877  (-41287476.93070442+
1878  (-20370827.85296795-4324333.631945828*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1879 
1880  case 4:
1881  return 226.8750000000001+
1882  (14449.05654761906+
1883  (281570.0790178573+
1884  (2668897.916302912+
1885  (14550507.15751076+
1886  (49254931.92812503+
1887  (106890177.8054688+
1888  (148732739.4557541+
1889  (128160772.9371653+
1890  (62184632.39327054+12973000.89583747*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1891 
1892  case 5:
1893  return -518.5714285714285+
1894  (-32822.69047619047+
1895  (-634337.9624999999+
1896  (-5951161.742195766+
1897  (-32053476.18047288+
1898  (-107015202.0322916+
1899  (-228727286.4230902+
1900  (-313117079.7464285+
1901  (-265269115.2375+
1902  (-126513562.4552744-25946001.79167493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1903 
1904  case 6:
1905  return 847.0000000000005+
1906  (53166.72777777781+
1907  (1016244.195694445+
1908  (9406923.838888894+
1909  (49889787.88686346+
1910  (163758669.9375001+
1911  (343777378.7658683+
1912  (462062476.8222225+
1913  (384394597.5432294+
1914  (180121004.1736112+36324402.50834493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1915 
1916  case 7:
1917  return -1016.400000000001+
1918  (-63054.71333333338+
1919  (-1186862.682500001+
1920  (-10787827.71203705+
1921  (-56070259.81307875+
1922  (-180193958.0397918+
1923  (-370348948.3898267+
1924  (-487666454.2750004+
1925  (-397903672.8562503+
1926  (-183123020.9098381-36324402.50834493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1927 
1928  case 8:
1929  return 907.4999999999995+
1930  (55300.60119047616+
1931  (1017370.052678571+
1932  (9010082.051521159+
1933  (45578544.75252147+
1934  (142643877.2687499+
1935  (285964084.8567707+
1936  (368067808.7646823+
1937  (294217133.7654016+
1938  (132946455.4614748+25946001.79167492*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1939 
1940  case 9:
1941  return -604.9999999999997+
1942  (-35757.90079365078+
1943  (-633654.9006944442+
1944  (-5395757.537499998+
1945  (-26303245.82287532+
1946  (-79634435.01406247+
1947  (-155083710.9469617+
1948  (-194666785.3843253+
1949  (-152284121.7104166+
1950  (-67545376.56510414-12973000.89583746*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1951 
1952  case 10:
1953  return 302.4999999999999+
1954  (16769.78373015873+
1955  (276810.9617559523+
1956  (2216865.917570546+
1957  (10275947.41824432+
1958  (29863105.35694444+
1959  (56249470.99094327+
1960  (68702588.44748676+
1961  (52545039.69155505+
1962  (22872508.46649029+4324333.631945821*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1963 
1964  case 11:
1965  return -121.0000000000002+
1966  (-5376.9134920635+
1967  (-77345.59839285725+
1968  (-564323.0784171084+
1969  (-2447317.912381507+
1970  (-6769146.883506954+
1971  (-12277707.14086229+
1972  (-14559958.38538362+
1973  (-10877437.26502978+
1974  (-4645978.282255849-864866.7263891657*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1975 
1976  default:
1977  libmesh_error_msg("bad index i = " << i);
1978  }
1979 
1980 
1981  case TWELFTH:
1982  switch (i)
1983  {
1984  case 0:
1985  return .9999999999999998+
1986  (72.47705627705626+
1987  (1633.311428571428+
1988  (18226.50666666666+
1989  (119469.4285714285+
1990  (498933.257142857+
1991  (1381121.28+
1992  (2566761.325714285+
1993  (3167275.885714285+
1994  (2488319.999999999+
1995  (1126142.537142857+223367.1148051948*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1996 
1997  case 1:
1998  return 37.23852813852813+
1999  (1161.351341991342+
2000  (15303.19142857143+
2001  (113802.0495238095+
2002  (535247.1428571427+
2003  (1682751.497142857+
2004  (3627037.439999999+
2005  (5382117.668571427+
2006  (5406763.885714285+
2007  (3512085.942857142+
2008  (1330895.725714285+223367.1148051948*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2009 
2010  case 2:
2011  return -13.09090909090911+
2012  (-946.410389610391+
2013  (-21256.04571428574+
2014  (-236192.3657142861+
2015  (-1540134.857142859+
2016  (-6392069.485714295+
2017  (-17564843.52000003+
2018  (-32365222.76571433+
2019  (-39542959.5428572+
2020  (-30712978.28571433+
2021  (-13718463.63428573-2680405.377662341*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2022 
2023  case 3:
2024  return 79.19999999999997+
2025  (5708.502857142855+
2026  (127693.2342857142+
2027  (1411707.84+
2028  (9148841.14285714+
2029  (37695557.21142856+
2030  (102712458.24+
2031  (187435903.2685714+
2032  (226508214.8571428+
2033  (173784268.7999999+
2034  (76577692.52571426+14742229.57714285*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2035 
2036  case 4:
2037  return -293.3333333333333+
2038  (-21064.38095238095+
2039  (-468865.8285714286+
2040  (-5151708.952380953+
2041  (-33141236.57142857+
2042  (-135381015.7714286+
2043  (-365282265.6+
2044  (-659300527.5428572+
2045  (-787148039.3142857+
2046  (-596059282.2857143+
2047  (-259012783.5428571-49140765.25714286*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2048 
2049  case 5:
2050  return 742.4999999999988+
2051  (53071.7142857142+
2052  (1174043.699999998+
2053  (12802072.11428569+
2054  (81618641.99999987+
2055  (329991648.6857138+
2056  (880198099.1999986+
2057  (1568889314.742855+
2058  (1848249446.399997+
2059  (1380164461.714284+
2060  (591224831.9999991+110566721.8285713*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2061 
2062  case 6:
2063  return -1357.714285714284+
2064  (-96463.54285714276+
2065  (-2117125.851428569+
2066  (-22864004.02285712+
2067  (-144144041.142857+
2068  (-575530346.0571423+
2069  (-1514417679.359998+
2070  (-2660955375.908569+
2071  (-3088957791.085711+
2072  (-2272760393.142855+
2073  (-959473441.6457133-176906754.9257141*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2074 
2075  case 7:
2076  return 1848.+
2077  (130241.6+
2078  (2828541.120000001+
2079  (30164287.36000001+
2080  (187472016.+
2081  (737031225.6000001+
2082  (1908272701.44+
2083  (3298536898.560001+
2084  (3767714611.200001+
2085  (2729189376.+
2086  (1135151677.44+206391214.08*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2087 
2088  case 8:
2089  return -1900.800000000001+
2090  (-132442.1485714286+
2091  (-2834453.211428572+
2092  (-29714158.08000001+
2093  (-181251195.4285715+
2094  (-698873880.1371431+
2095  (-1774822855.680001+
2096  (-3011083328.365715+
2097  (-3379195435.885715+
2098  (-2407897497.600001+
2099  (-986500862.5371432-176906754.9257143*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2100 
2101  case 9:
2102  return 1485.000000000001+
2103  (101688.4285714286+
2104  (2129312.185714287+
2105  (21783070.2857143+
2106  (129558540.8571429+
2107  (487399661.4857146+
2108  (1209468153.600001+
2109  (2008852728.685716+
2110  (2211622370.742859+
2111  (1549085842.285715+
2112  (625009108.1142861+110566721.8285715*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2113 
2114  case 10:
2115  return -879.9999999999996+
2116  (-58499.8095238095+
2117  (-1181984.914285714+
2118  (-11651825.06666666+
2119  (-66923129.14285712+
2120  (-243989962.9714285+
2121  (-589005043.1999998+
2122  (-955168885.028571+
2123  (-1030036509.257142+
2124  (-708673535.9999997+
2125  (-281535634.2857142-49140765.25714284*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2126 
2127  case 11:
2128  return 395.9999999999998+
2129  (24740.91428571427+
2130  (467174.4685714284+
2131  (4342689.325714284+
2132  (23761844.57142856+
2133  (83264161.37142853+
2134  (194582062.0799999+
2135  (307216518.582857+
2136  (324021920.9142856+
2137  (218829970.2857142+
2138  (85586832.8228571+14742229.57714285*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2139 
2140  case 12:
2141  return -144.0000000000002+
2142  (-7268.696103896113+
2143  (-120015.3600000001+
2144  (-1017966.994285716+
2145  (-5214864.000000006+
2146  (-17396664.68571431+
2147  (-39148945.92000005+
2148  (-60006903.22285722+
2149  (-61809868.80000008+
2150  (-40950637.71428576+
2151  (-15765995.52000002-2680405.377662341*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2152 
2153  default:
2154  libmesh_error_msg("bad index i = " << i);
2155  }
2156 
2157 
2158  case THIRTEENTH:
2159  switch (i)
2160  {
2161  case 0:
2162  return -1.+
2163  (-80.68347763347765+
2164  (-2044.462258297259+
2165  (-25942.2157164903+
2166  (-195933.4211304931+
2167  (-958398.5214740412+
2168  (-3173506.650750547+
2169  (-7259032.308898811+
2170  (-11486892.61199839+
2171  (-12346784.01976549+
2172  (-8601592.867103291+
2173  (-3501996.921969848-632304.9998001114*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2174 
2175  case 1:
2176  return 41.34173881673884+
2177  (1443.658316498317+
2178  (21501.124045665+
2179  (182688.9526208849+
2180  (994598.8556921946+
2181  (3678547.079260226+
2182  (9525159.921037011+
2183  (17469603.51956405+
2184  (22598998.22978734+
2185  (20166413.89895031+
2186  (11811756.71224232+
2187  (4085663.075631491+632304.9998001117*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2188 
2189  case 2:
2190  return 14.0833333333333+
2191  (1133.945087782585+
2192  (28654.62116838017+
2193  (362353.3209476036+
2194  (2725399.981313606+
2195  (13265700.68549035+
2196  (43674200.44979463+
2197  (99236897.21980192+
2198  (155839062.2764586+
2199  (166048415.8555637+
2200  (114536999.7566909+
2201  (46109626.13926956+8219964.997401429*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2202 
2203  case 3:
2204  return -92.18181818181805+
2205  (-7404.029004328994+
2206  (-186493.2485281383+
2207  (-2348815.46078042+
2208  (-17580908.74629903+
2209  (-85087791.92399955+
2210  (-278293001.5682587+
2211  (-627605520.9915996+
2212  (-977247224.5855008+
2213  (-1031431341.958869+
2214  (-704013624.8070271+
2215  (-280159753.7575874-49319789.98440861*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2216 
2217  case 4:
2218  return 371.8000000000002+
2219  (29775.036984127+
2220  (747066.9209920639+
2221  (9363907.89718475+
2222  (69688340.39763103+
2223  (335036414.4353251+
2224  (1087492542.853534+
2225  (2431673317.636533+
2226  (3750776185.102226+
2227  (3918109445.780044+
2228  (2644763448.927234+
2229  (1040093085.825045+180839229.9428319*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2230 
2231  case 5:
2232  return -1032.777777777779+
2233  (-82410.07804232813+
2234  (-2057912.1728836+
2235  (-25644457.74177325+
2236  (-189543869.9955658+
2237  (-904096807.162213+
2238  (-2908738078.894543+
2239  (-6440986214.655237+
2240  (-9830892990.478734+
2241  (-10155071564.15431+
2242  (-6774886171.378993+
2243  (-2632334353.014005-452098074.8570801*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2244 
2245  case 6:
2246  return 2091.375+
2247  (166125.1892857143+
2248  (4123916.218616072+
2249  (51020732.59433532+
2250  (373953022.277135+
2251  (1766886624.747501+
2252  (5625702404.785355+
2253  (12318759910.9515+
2254  (18582195606.11107+
2255  (18963235625.43443+
2256  (12496303574.24485+
2257  (4795984784.637706+813776534.7427433*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2258 
2259  case 7:
2260  return -3186.857142857142+
2261  (-251663.5333333333+
2262  (-6200036.526666666+
2263  (-76008876.2598148+
2264  (-551305314.9444829+
2265  (-2574950087.743402+
2266  (-8097779517.245471+
2267  (-17504674905.19222+
2268  (-26060004891.47182+
2269  (-26247363320.78761+
2270  (-17074614556.61409+
2271  (-6471690311.800277-1085035379.656991*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2272 
2273  case 8:
2274  return 3717.999999999998+
2275  (291305.8365079364+
2276  (7104538.462460314+
2277  (86064016.71082448+
2278  (615956862.0470787+
2279  (2836014413.233886+
2280  (8787496836.24099+
2281  (18714249266.16391+
2282  (27455001535.18193+
2283  (27263598620.87599+
2284  (17498356184.17243+
2285  (6548734244.083612+1085035379.656991*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2286 
2287  case 9:
2288  return -3346.199999999998+
2289  (-259275.2128571427+
2290  (-6234980.857857139+
2291  (-74314814.73490075+
2292  (-522619068.6865779+
2293  (-2363180534.798538+
2294  (-7192365653.835081+
2295  (-15054787917.48891+
2296  (-21728631050.65575+
2297  (-21251474605.34373+
2298  (-13449722236.25113+
2299  (-4969333632.275211-813776534.7427428*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2300 
2301  case 10:
2302  return 2323.75+
2303  (177031.3561507936+
2304  (4169023.658209325+
2305  (48551880.14924492+
2306  (333412303.9596687+
2307  (1473130923.654975+
2308  (4387072985.810989+
2309  (9001260757.284597+
2310  (12758505432.0885+
2311  (12276977202.42297+
2312  (7657681228.792217+
2313  (2792842545.270953+452098074.8570795*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2314 
2315  case 11:
2316  return -1239.333333333332+
2317  (-91731.50105820099+
2318  (-2087506.053492062+
2319  (-23468266.89172691+
2320  (-155895856.7716664+
2321  (-668508962.9727646+
2322  (-1939086147.461385+
2323  (-3888161778.825734+
2324  (-5402206035.376699+
2325  (-5109035910.537828+
2326  (-3139128681.07864+
2327  (-1129977673.488937-180839229.9428317*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2328 
2329  case 12:
2330  return 507.0000000000001+
2331  (35329.52316017317+
2332  (753439.2988852815+
2333  (8004952.597863758+
2334  (50738883.86584271+
2335  (209350649.6495577+
2336  (588284837.5399432+
2337  (1149033869.66415+
2338  (1561914935.552244+
2339  (1450272246.013992+
2340  (877362472.4445357+
2341  (311677726.0553165+49319789.98440869*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2342 
2343  case 13:
2344  return -168.9999999999998+
2345  (-9579.507720057708+
2346  (-179166.9826911975+
2347  (-1739358.918309081+
2348  (-10328458.8186393+
2349  (-40580690.36360362+
2350  (-109813061.9461516+
2351  (-208208252.9774634+
2352  (-276362669.3617079+
2353  (-251684443.4798346+
2354  (-149848802.0532203+
2355  (-52529953.82954764-8219964.997401437*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2356 
2357  default:
2358  libmesh_error_msg("bad index i = " << i);
2359  }
2360 
2361 
2362  case FOURTEENTH:
2363  switch (i)
2364  {
2365  case 0:
2366  return 1.000000000000001+
2367  (89.0437451437452+
2368  (2511.452929292931+
2369  (35805.84699214368+
2370  (307157.435133745+
2371  (1728831.305617285+
2372  (6694701.358837453+
2373  (18287612.31917697+
2374  (35556011.50111113+
2375  (48922521.07901238+
2376  (46544481.35786011+
2377  (29116191.77122336+
2378  (10770623.78528994+1784482.047266973*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2379 
2380  case 1:
2381  return 45.52187257187257+
2382  (1763.345698005698+
2383  (29365.83817340067+
2384  (281531.7950991395+
2385  (1747850.189814815+
2386  (7467146.756049383+
2387  (22696362.13811728+
2388  (49892955.87572016+
2389  (79586280.47222222+
2390  (91235685.94979424+
2391  (73234323.81481481+
2392  (39058306.0345679+
2393  (12427642.8291807+1784482.047266972*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2394 
2395  case 2:
2396  return -15.07692307692307+
2397  (-1340.186169386169+
2398  (-37713.82505050504+
2399  (-536175.4596184062+
2400  (-4584016.86584362+
2401  (-25698683.17679012+
2402  (-99057107.66633743+
2403  (-269159338.175144+
2404  (-520164399.5644443+
2405  (-710821314.4148147+
2406  (-671058896.060576+
2407  (-416148497.0228506+
2408  (-152445752.0379498-24982748.6617376*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2409 
2410  case 3:
2411  return 106.1666666666664+
2412  (9418.0887205387+
2413  (264331.1471464641+
2414  (3745715.752540209+
2415  (31899113.16882709+
2416  (178017355.746049+
2417  (682587693.1574368+
2418  (1843708348.548309+
2419  (3539222709.936659+
2420  (4800352165.04608+
2421  (4494355579.027644+
2422  (2761777312.15335+
2423  (1001668012.031962+162387866.3012941*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2424 
2425  case 4:
2426  return -463.2727272727266+
2427  (-40998.84444444439+
2428  (-1147094.434747473+
2429  (-16192604.75699212+
2430  (-137271541.0485595+
2431  (-762026508.285431+
2432  (-2904385776.815469+
2433  (-7792130969.395215+
2434  (-14846386660.68442+
2435  (-19971946670.39009+
2436  (-18532980221.46894+
2437  (-11280038782.78319+
2438  (-4049754543.269010-649551465.2051768*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2439 
2440  case 5:
2441  return 1401.399999999998+
2442  (123664.7844444442+
2443  (3447032.944444439+
2444  (48436585.99197523+
2445  (408409296.5789602+
2446  (2253197088.95512+
2447  (8528314129.288823+
2448  (22705190993.54646+
2449  (42899311094.9277+
2450  (57192419912.08138+
2451  (52567132654.44024+
2452  (31676286194.03451+
2453  (11255301855.62796+1786266529.314236*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2454 
2455  case 6:
2456  return -3114.222222222221+
2457  (-273841.7629629629+
2458  (-7598211.423703702+
2459  (-106176407.7618107+
2460  (-889486589.4962961+
2461  (-4871457715.624196+
2462  (-18289286459.60543+
2463  (-48264587628.2762+
2464  (-90336942561.1022+
2465  (-119250255953.088+
2466  (-108490582744.8178+
2467  (-64696178115.65826+
2468  (-22747557434.53234-3572533058.628476*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2469 
2470  case 7:
2471  return 5255.250000000005+
2472  (460064.2666666671+
2473  (12692565.01916668+
2474  (176150443.0362965+
2475  (1464070863.601545+
2476  (7947918838.465933+
2477  (29555009192.81537+
2478  (77204332615.9018+
2479  (142978921074.0568+
2480  (186702987302.2742+
2481  (168009721889.5444+
2482  (99106545732.11268+
2483  (34476766736.71312+5358799587.942721*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2484 
2485  case 8:
2486  return -6864.000000000005+
2487  (-597468.2666666671+
2488  (-16363002.50666668+
2489  (-225121477.611852+
2490  (-1852739107.920989+
2491  (-9950118584.456304+
2492  (-36579967858.71213+
2493  (-94431878855.5576+
2494  (-172801677847.3068+
2495  (-222974303851.9113+
2496  (-198322454721.1221+
2497  (-115675079151.9764+
2498  (-39808225510.43164-6124342386.220252*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2499 
2500  case 9:
2501  return 7007.+
2502  (605244.1888888889+
2503  (16415290.29777778+
2504  (223285445.4038272+
2505  (1814617394.563426+
2506  (9615694831.261296+
2507  (34866622054.4775+
2508  (88774809190.10321+
2509  (160266060424.7967+
2510  (204118806975.1876+
2511  (179312358692.2474+
2512  (103371712751.0874+
2513  (35187627906.54222+5358799587.942716*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2514 
2515  case 10:
2516  return -5605.599999999996+
2517  (-478963.4577777775+
2518  (-12815269.44444444+
2519  (-171640517.3604937+
2520  (-1371951477.497941+
2521  (-7147541864.43802+
2522  (-25485507407.83126+
2523  (-63848350696.57444+
2524  (-113517642944.8444+
2525  (-142532726188.3604+
2526  (-123573040616.0328+
2527  (-70383067474.29131+
2528  (-23695372327.63784-3572533058.628475*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2529 
2530  case 11:
2531  return 3503.500000000003+
2532  (294447.2611111113+
2533  (7720974.358611117+
2534  (101146405.0471606+
2535  (790417783.0809677+
2536  (4028557079.079386+
2537  (14071398696.88138+
2538  (34590639213.49616+
2539  (60449325371.26783+
2540  (74730994261.10376+
2541  (63894320392.36532+
2542  (35941453213.00941+
2543  (11966163025.45713+1786266529.31424*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2544 
2545  case 12:
2546  return -1698.666666666669+
2547  (-138798.752861953+
2548  (-3521413.568484853+
2549  (-44599342.83238314+
2550  (-337623011.738272+
2551  (-1672128961.184199+
2552  (-5694412271.43013+
2553  (-13691005583.17104+
2554  (-23467659366.85336+
2555  (-28527575611.29551+
2556  (-24035365582.07213+
2557  (-13347998549.55889+
2558  (-4394414504.398299-649551465.2051785*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2559 
2560  case 13:
2561  return 637.0000000000005+
2562  (49076.86565656569+
2563  (1169569.725050506+
2564  (14025401.12147027+
2565  (101447432.0348252+
2566  (483898256.0019139+
2567  (1597498806.855073+
2568  (3742961181.708809+
2569  (6278720198.481116+
2570  (7494910301.597536+
2571  (6218035822.71984+
2572  (3408014739.270754+
2573  (1109374249.884864+162387866.3012945*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2574 
2575  case 14:
2576  return -195.9999999999997+
2577  (-12356.57404817403+
2578  (-258935.5802020198+
2579  (-2840808.212210995+
2580  (-19261146.08559668+
2581  (-87507110.40641962+
2582  (-278204754.9117691+
2583  (-632709040.3499579+
2584  (-1036229385.084443+
2585  (-1212999534.859257+
2586  (-990221053.9430438+
2587  (-535453868.1829846+
2588  (-172329980.5646387-24982748.66173757*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2589 
2590  default:
2591  libmesh_error_msg("bad index i = " << i);
2592  }
2593 
2594 
2595  // provided the constructor worked fine, we should never end up here.
2596  default:
2597  libmesh_error_msg("Lagrange polynomials only defined up to 15.");
2598  } // switch (o_radial)
2599 } // lagrange_eval_deriv()
2600 
2601 } // anonymous namespace
2602 
2603 
2604 
2605  // Specialize the eval() function for 1, 2, and 3 dimensions and the CARTESIAN mapping type
2606  // to call the local helper function from the anonymous namespace.
2607 template <> Real InfFE<1,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); }
2608 template <> Real InfFE<2,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); }
2609 template <> Real InfFE<3,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); }
2610 
2611 // Specialize the eval_deriv() function for 1, 2, and 3 dimensions and the CARTESIAN mapping type
2612 // to call the local helper function from the anonymous namespace.
2613 template <> Real InfFE<1,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); }
2614 template <> Real InfFE<2,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); }
2615 template <> Real InfFE<3,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); }
2616 
2617 
2618 } // namespace libMesh
2619 
2620 #endif // LIBMESH_ENABLE_INFINITE_ELEMENTS
static Real eval_deriv(Real v, Order o_radial, unsigned int i)
static Real eval(Real v, Order o_radial, unsigned int i)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real