libMesh
inf_fe_lagrange_eval.C
Go to the documentation of this file.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2017 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 
1281  libmesh_error_msg("We'll never get here!");
1282  return 0.;
1283 } // lagrange_eval()
1284 
1285 
1286 
1287 
1288 Real lagrange_eval_deriv(Real v, Order o_radial, unsigned i)
1289 {
1290  libmesh_assert (-1.-1.e-5 <= v && v < 1.);
1291 
1292  switch (o_radial)
1293  {
1294  case CONSTANT:
1295  switch (i)
1296  {
1297  case 0:
1298  return 0.;
1299 
1300  default:
1301  libmesh_error_msg("bad index i = " << i);
1302  }
1303 
1304 
1305  case FIRST:
1306  switch (i)
1307  {
1308  case 0:
1309  return -1.;
1310 
1311  case 1:
1312  return 1.;
1313 
1314  default:
1315  libmesh_error_msg("bad index i = " << i);
1316  }
1317 
1318 
1319  case SECOND:
1320  switch (i)
1321  {
1322  case 0:
1323  return 4.*v+1.;
1324 
1325  case 1:
1326  return 4.*v+3.;
1327 
1328  case 2:
1329  return -8.*v-4.;
1330 
1331  default:
1332  libmesh_error_msg("bad index i = " << i);
1333  }
1334 
1335 
1336  case THIRD:
1337  switch (i)
1338  {
1339  case 0:
1340  return -1.+(-9.-13.5*v)*v;
1341 
1342  case 1:
1343  return 5.5+(18.+13.5*v)*v;
1344 
1345  case 2:
1346  return 4.5+(36.+40.5*v)*v;
1347 
1348  case 3:
1349  return -9.+(-45.-40.5*v)*v;
1350 
1351  default:
1352  libmesh_error_msg("bad index i = " << i);
1353  }
1354 
1355 
1356  case FOURTH:
1357  switch (i)
1358  {
1359  case 0:
1360  return 1.+(14.66666666666667+(48.+42.66666666666667*v)*v)*v;
1361 
1362  case 1:
1363  return 8.333333333333333+(46.66666666666667+(80.+42.66666666666667*v)*v)*v;
1364 
1365  case 2:
1366  return -5.333333333333333+(-74.66666666666667+(-224.-170.6666666666667*v)*v)*v;
1367 
1368  case 3:
1369  return 12.+(152.+(384.+256.*v)*v)*v;
1370 
1371  case 4:
1372  return -16.+(-138.6666666666667+(-288.-170.6666666666667*v)*v)*v;
1373 
1374  default:
1375  libmesh_error_msg("bad index i = " << i);
1376  }
1377 
1378 
1379  case FIFTH:
1380  switch (i)
1381  {
1382  case 0:
1383  return -1.+(-20.83333333333333+(-109.375+(-208.3333333333333-130.2083333333333*v)*v)*v)*v;
1384 
1385  case 1:
1386  return 11.41666666666667+(93.75+(265.625+(312.5+130.2083333333333*v)*v)*v)*v;
1387 
1388  case 2:
1389  return 6.25+(127.0833333333333+(640.625+(1145.833333333333+651.0416666666667*v)*v)*v)*v;
1390 
1391  case 3:
1392  return -16.66666666666667+(-325.+(-1531.25+(-2500.-1302.083333333333*v)*v)*v)*v;
1393 
1394  case 4:
1395  return 25.+(445.8333333333333+(1843.75+(2708.333333333333+1302.083333333333*v)*v)*v)*v;
1396 
1397  case 5:
1398  return -25.+(-320.8333333333333+(-1109.375+(-1458.333333333333-651.0416666666667*v)*v)*v)*v;
1399 
1400  default:
1401  libmesh_error_msg("bad index i = " << i);
1402  }
1403 
1404 
1405  case SIXTH:
1406  switch (i)
1407  {
1408  case 0:
1409  return 1.+(27.4+(202.5+(612.+(810.+388.8*v)*v)*v)*v)*v;
1410 
1411  case 1:
1412  return 14.7+(162.4+(661.5+(1260.+(1134.+388.8*v)*v)*v)*v)*v;
1413 
1414  case 2:
1415  return -7.2+(-194.4+(-1404.+(-4104.+(-5184.-2332.8*v)*v)*v)*v)*v;
1416 
1417  case 3:
1418  return 22.5+(594.+(4144.5+(11556.+(13770.+5832.*v)*v)*v)*v)*v;
1419 
1420  case 4:
1421  return -40.+(-1016.+(-6696.+(-17424.+(-19440.-7776.*v)*v)*v)*v)*v;
1422 
1423  case 5:
1424  return 45.+(1053.+(6223.5+(14796.+(15390.+5832.*v)*v)*v)*v)*v;
1425 
1426  case 6:
1427  return -36.+(-626.4+(-3132.+(-6696.+(-6480.-2332.8*v)*v)*v)*v)*v;
1428 
1429  default:
1430  libmesh_error_msg("bad index i = " << i);
1431  }
1432 
1433 
1434  case SEVENTH:
1435  switch (i)
1436  {
1437  case 0:
1438  return -1.000000000000001+
1439  (-34.30000000000002+
1440  (-331.5666666666668+
1441  (-1400.583333333334+
1442  (-2917.881944444446+
1443  (-2941.225000000002-1143.809722222223*v)*v)*v)*v)*v)*v;
1444 
1445  case 1:
1446  return 18.14999999999999+
1447  (255.3444444444444+
1448  (1382.004166666666+
1449  (3734.888888888888+
1450  (5368.902777777776+
1451  (3921.633333333332+1143.809722222222*v)*v)*v)*v)*v)*v;
1452 
1453  case 2:
1454  return 8.166666666666662+
1455  (277.3944444444443+
1456  (2642.529166666665+
1457  (10937.88888888888+
1458  (22175.90277777776+
1459  (21568.98333333332+8006.668055555551*v)*v)*v)*v)*v)*v;
1460 
1461  case 3:
1462  return -29.39999999999998+
1463  (-984.8999999999994+
1464  (-9192.399999999994+
1465  (-37015.41666666664+
1466  (-72480.18749999995+
1467  (-67648.17499999996-24020.00416666665*v)*v)*v)*v)*v)*v;
1468 
1469  case 4:
1470  return 61.25000000000001+
1471  (2009.+
1472  (18186.14583333333+
1473  (70429.33333333334+
1474  (131888.2638888889+
1475  (117649.+40033.34027777778*v)*v)*v)*v)*v)*v;
1476 
1477  case 5:
1478  return -81.66666666666667+
1479  (-2583.388888888889+
1480  (-22237.83333333334+
1481  (-81300.52777777778+
1482  (-144143.3680555556+
1483  (-122551.0416666667-40033.34027777778*v)*v)*v)*v)*v)*v;
1484 
1485  case 6:
1486  return 73.49999999999999+
1487  (2153.55+
1488  (16845.5875+
1489  (56823.66666666666+
1490  (94539.37499999999+
1491  (76471.84999999999+24020.00416666666*v)*v)*v)*v)*v)*v;
1492 
1493  case 7:
1494  return -49.00000000000003+
1495  (-1092.700000000001+
1496  (-7294.466666666671+
1497  (-22209.25000000001+
1498  (-34431.00694444447+
1499  (-26471.02500000002-8006.66805555556*v)*v)*v)*v)*v)*v;
1500 
1501  default:
1502  libmesh_error_msg("bad index i = " << i);
1503  }
1504 
1505 
1506  case EIGHTH:
1507  switch (i)
1508  {
1509  case 0:
1510  return 1.+
1511  (41.48571428571429+
1512  (500.2666666666667+
1513  (2750.577777777778+
1514  (7964.444444444444+
1515  (12561.06666666667+
1516  (10194.48888888889+3328.812698412698*v)*v)*v)*v)*v)*v)*v;
1517 
1518  case 1:
1519  return 21.74285714285714+
1520  (374.9968253968254+
1521  (2563.2+
1522  (9122.133333333333+
1523  (18432.+
1524  (21299.2+
1525  (13107.2+3328.812698412698*v)*v)*v)*v)*v)*v)*v;
1526 
1527  case 2:
1528  return -9.142857142857143+
1529  (-376.6857142857143+
1530  (-4497.066666666667+
1531  (-24393.95555555556+
1532  (-69404.44444444444+
1533  (-107042.1333333333+
1534  (-84468.62222222222-26630.50158730159*v)*v)*v)*v)*v)*v)*v;
1535 
1536  case 3:
1537  return 37.33333333333333+
1538  (1523.911111111111+
1539  (17952.+
1540  (95675.73333333333+
1541  (266240.+
1542  (399769.6+
1543  (305834.6666666667+93206.75555555556*v)*v)*v)*v)*v)*v)*v;
1544 
1545  case 4:
1546  return -89.6+
1547  (-3609.6+
1548  (-41736.53333333333+
1549  (-217179.0222222222+
1550  (-587320.8888888889+
1551  (-854152.5333333333+
1552  (-632058.3111111111-186413.5111111111*v)*v)*v)*v)*v)*v)*v;
1553 
1554  case 5:
1555  return 140.+
1556  (5528.+
1557  (62165.33333333333+
1558  (312689.7777777778+
1559  (814648.8888888889+
1560  (1141418.666666667+
1561  (815559.1111111111+233016.8888888889*v)*v)*v)*v)*v)*v)*v;
1562 
1563  case 6:
1564  return -149.3333333333333+
1565  (-5697.422222222222+
1566  (-61209.6+
1567  (-292727.4666666667+
1568  (-727040.+
1569  (-976486.4+
1570  (-672836.2666666667-186413.5111111111*v)*v)*v)*v)*v)*v)*v;
1571 
1572  case 7:
1573  return 112.+
1574  (3974.4+
1575  (39153.06666666667+
1576  (173954.8444444444+
1577  (407324.4444444444+
1578  (522103.4666666667+
1579  (346612.6222222222+93206.75555555556*v)*v)*v)*v)*v)*v)*v;
1580 
1581  case 8:
1582  return -64.+
1583  (-1759.085714285714+
1584  (-14890.66666666667+
1585  (-59892.62222222222+
1586  (-130844.4444444444+
1587  (-159470.9333333333+
1588  (-101944.8888888889-26630.50158730159*v)*v)*v)*v)*v)*v)*v;
1589 
1590  default:
1591  libmesh_error_msg("bad index i = " << i);
1592  }
1593 
1594 
1595  case NINTH:
1596  switch (i)
1597  {
1598  case 0:
1599  return -.9999999999999998+
1600  (-48.92142857142856+
1601  (-711.9080357142856+
1602  (-4866.074999999999+
1603  (-18264.8671875+
1604  (-39858.07499999999+
1605  (-50376.17812499999+
1606  (-34164.06428571428-9608.643080357141*v)*v)*v)*v)*v)*v)*v)*v;
1607 
1608  case 1:
1609  return 25.46071428571428+
1610  (523.5267857142855+
1611  (4361.464285714284+
1612  (19477.96874999999+
1613  (51479.92968749998+
1614  (83037.65624999997+
1615  (80269.73437499997+
1616  (42705.08035714284+9608.643080357139*v)*v)*v)*v)*v)*v)*v)*v;
1617 
1618  case 2:
1619  return 10.12500000000002+
1620  (492.7982142857151+
1621  (7119.466071428583+
1622  (48200.56875000008+
1623  (178735.9921875003+
1624  (384187.5562500006+
1625  (476636.1468750008+
1626  (316017.5946428576+86477.78772321442*v)*v)*v)*v)*v)*v)*v)*v;
1627 
1628  case 3:
1629  return -46.28571428571434+
1630  (-2237.914285714288+
1631  (-32031.73928571432+
1632  (-214253.1000000003+
1633  (-782604.2812500009+
1634  (-1651895.775000002+
1635  (-2006189.775000002+
1636  (-1298234.442857144-345911.1508928576*v)*v)*v)*v)*v)*v)*v)*v;
1637 
1638  case 4:
1639  return 126.+
1640  (6038.1+
1641  (85360.8375+
1642  (562004.325+
1643  (2014021.96875+
1644  (4158525.825+
1645  (4929115.275+
1646  (3108929.85+807126.01875*v)*v)*v)*v)*v)*v)*v)*v;
1647 
1648  case 5:
1649  return -226.7999999999999+
1650  (-10732.49999999999+
1651  (-149126.0624999999+
1652  (-961004.2499999995+
1653  (-3359744.578124998+
1654  (-6753729.374999997+
1655  (-7788932.156249996+
1656  (-4782968.999999998-1210689.028124999*v)*v)*v)*v)*v)*v)*v)*v;
1657 
1658  case 6:
1659  return 283.5+
1660  (13160.475+
1661  (178213.1625+
1662  (1113994.0125+
1663  (3769397.015624999+
1664  (7336100.137499999+
1665  (8207441.943749999+
1666  (4902543.224999999+1210689.028125*v)*v)*v)*v)*v)*v)*v)*v;
1667 
1668  case 7:
1669  return -252.0000000000001+
1670  (-11320.2+
1671  (-146952.2250000001+
1672  (-877643.1000000003+
1673  (-2844398.531250001+
1674  (-5327696.025000002+
1675  (-5766134.850000002+
1676  (-3348078.300000001-807126.0187500003*v)*v)*v)*v)*v)*v)*v)*v;
1677 
1678  case 8:
1679  return 162.+
1680  (6791.271428571428+
1681  (81375.92678571428+
1682  (453820.725+
1683  (1391547.09375+
1684  (2493344.025+
1685  (2604060.9+
1686  (1469054.764285714+345911.1508928571*v)*v)*v)*v)*v)*v)*v)*v;
1687 
1688  case 9:
1689  return -81.00000000000004+
1690  (-2666.635714285716+
1691  (-27608.92232142859+
1692  (-139731.0750000001+
1693  (-400169.7421875002+
1694  (-682015.9500000004+
1695  (-685891.0406250004+
1696  (-375804.7071428573-86477.78772321433*v)*v)*v)*v)*v)*v)*v)*v;
1697 
1698  default:
1699  libmesh_error_msg("bad index i = " << i);
1700  }
1701 
1702 
1703  case TENTH:
1704  switch (i)
1705  {
1706  case 0:
1707  return 1.+
1708  (56.57936507936509+
1709  (969.4940476190478+
1710  (7977.072310405645+
1711  (37109.37500000001+
1712  (104618.0555555556+
1713  (182291.6666666667+
1714  (191798.9417989418+
1715  (111607.1428571429+27557.3192239859*v)*v)*v)*v)*v)*v)*v)*v)*v;
1716 
1717  case 1:
1718  return 29.28968253968254+
1719  (702.9087301587303+
1720  (6952.298280423282+
1721  (37664.57231040565+
1722  (124291.087962963+
1723  (260868.0555555556+
1724  (350115.7407407408+
1725  (291005.2910052911+
1726  (136408.7301587302+27557.3192239859*v)*v)*v)*v)*v)*v)*v)*v)*v;
1727 
1728  case 2:
1729  return -11.11111111111111+
1730  (-626.190476190476+
1731  (-10671.49470899471+
1732  (-87187.38977072308+
1733  (-402025.4629629629+
1734  (-1121180.555555555+
1735  (-1928240.74074074+
1736  (-1997354.497354497+
1737  (-1140873.015873016-275573.1922398588*v)*v)*v)*v)*v)*v)*v)*v)*v;
1738 
1739  case 3:
1740  return 56.24999999999993+
1741  (3154.464285714282+
1742  (53393.30357142851+
1743  (432433.5317460312+
1744  (1972612.84722222+
1745  (5430729.16666666+
1746  (9199652.777777767+
1747  (9365079.365079354+
1748  (5245535.714285708+1240079.365079364*v)*v)*v)*v)*v)*v)*v)*v)*v;
1749 
1750  case 4:
1751  return -171.4285714285714+
1752  (-9552.380952380949+
1753  (-160278.5714285714+
1754  (-1283804.232804232+
1755  (-5778472.22222222+
1756  (-15662499.99999999+
1757  (-26069444.44444444+
1758  (-26031746.03174602+
1759  (-14285714.28571428-3306878.306878306*v)*v)*v)*v)*v)*v)*v)*v)*v;
1760 
1761  case 5:
1762  return 350.0000000000001+
1763  (19336.11111111112+
1764  (320686.8055555557+
1765  (2531768.518518519+
1766  (11203732.63888889+
1767  (29794791.66666668+
1768  (48586805.55555557+
1769  (47500000.00000002+
1770  (25520833.33333334+5787037.037037039*v)*v)*v)*v)*v)*v)*v)*v)*v;
1771 
1772  case 6:
1773  return -504.0000000000003+
1774  (-27508.00000000002+
1775  (-448875.0000000003+
1776  (-3474944.444444447+
1777  (-15041319.44444445+
1778  (-39072083.33333336+
1779  (-62222222.22222226+
1780  (-59444444.44444448+
1781  (-31250000.00000002-6944444.444444449*v)*v)*v)*v)*v)*v)*v)*v)*v;
1782 
1783  case 7:
1784  return 525.0000000000002+
1785  (28129.16666666668+
1786  (448056.2500000002+
1787  (3373087.962962964+
1788  (14176475.69444445+
1789  (35773958.33333335+
1790  (55440972.22222224+
1791  (51666666.66666669+
1792  (26562500.00000001+5787037.037037039*v)*v)*v)*v)*v)*v)*v)*v)*v;
1793 
1794  case 8:
1795  return -399.9999999999999+
1796  (-20765.07936507936+
1797  (-317919.8412698412+
1798  (-2294915.343915343+
1799  (-9270138.888888886+
1800  (-22579166.66666666+
1801  (-33930555.55555554+
1802  (-30793650.79365078+
1803  (-15476190.47619047-3306878.306878306*v)*v)*v)*v)*v)*v)*v)*v)*v;
1804 
1805  case 9:
1806  return 224.9999999999997+
1807  (10930.35714285713+
1808  (155254.0178571427+
1809  (1050662.698412697+
1810  (4026519.097222217+
1811  (9399479.166666656+
1812  (13647569.44444443+
1813  (12043650.79365078+
1814  (5915178.571428564+1240079.365079364*v)*v)*v)*v)*v)*v)*v)*v)*v;
1815 
1816  case 10:
1817  return -99.99999999999998+
1818  (-3857.936507936507+
1819  (-47567.26190476189+
1820  (-292742.9453262786+
1821  (-1048784.722222222+
1822  (-2329513.888888888+
1823  (-3256944.444444444+
1824  (-2791005.29100529+
1825  (-1339285.714285714-275573.1922398588*v)*v)*v)*v)*v)*v)*v)*v)*v;
1826 
1827  default:
1828  libmesh_error_msg("bad index i = " << i);
1829  }
1830 
1831 
1832  case ELEVENTH:
1833  switch (i)
1834  {
1835  case 0:
1836  return -.9999999999999994+
1837  (-64.43730158730155+
1838  (-1275.779345238094+
1839  (-12338.01201499117+
1840  (-68930.87539958109+
1841  (-240206.4480902776+
1842  (-539167.6189293978+
1843  (-779744.6068121688+
1844  (-701770.1461309519+
1845  (-357382.9447889107-78624.24785356036*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1846 
1847  case 1:
1848  return 33.2186507936508+
1849  (914.9568650793652+
1850  (10529.28835648148+
1851  (67482.7123346561+
1852  (269102.9154748127+
1853  (702350.1214583334+
1854  (1221444.149890046+
1855  (1403540.292261905+
1856  (1023414.796440972+
1857  (428859.5337466932+78624.24785356042*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1858 
1859  case 2:
1860  return 12.1+
1861  (777.2713492063492+
1862  (15323.969375+
1863  (147397.3637345679+
1864  (818004.6489266424+
1865  (2827608.196111111+
1866  (6286078.696244213+
1867  (8988328.740343915+
1868  (7982635.412239583+
1869  (4002688.981635802+864866.7263891644*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1870 
1871  case 3:
1872  return -67.22222222222232+
1873  (-4301.74206349207+
1874  (-84371.62344576732+
1875  (-806241.7181878318+
1876  (-4438664.17533345+
1877  (-15197594.39114585+
1878  (-33411814.74551509+
1879  (-47167460.12480165+
1880  (-41287476.93070442+
1881  (-20370827.85296795-4324333.631945828*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1882 
1883  case 4:
1884  return 226.8750000000001+
1885  (14449.05654761906+
1886  (281570.0790178573+
1887  (2668897.916302912+
1888  (14550507.15751076+
1889  (49254931.92812503+
1890  (106890177.8054688+
1891  (148732739.4557541+
1892  (128160772.9371653+
1893  (62184632.39327054+12973000.89583747*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1894 
1895  case 5:
1896  return -518.5714285714285+
1897  (-32822.69047619047+
1898  (-634337.9624999999+
1899  (-5951161.742195766+
1900  (-32053476.18047288+
1901  (-107015202.0322916+
1902  (-228727286.4230902+
1903  (-313117079.7464285+
1904  (-265269115.2375+
1905  (-126513562.4552744-25946001.79167493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1906 
1907  case 6:
1908  return 847.0000000000005+
1909  (53166.72777777781+
1910  (1016244.195694445+
1911  (9406923.838888894+
1912  (49889787.88686346+
1913  (163758669.9375001+
1914  (343777378.7658683+
1915  (462062476.8222225+
1916  (384394597.5432294+
1917  (180121004.1736112+36324402.50834493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1918 
1919  case 7:
1920  return -1016.400000000001+
1921  (-63054.71333333338+
1922  (-1186862.682500001+
1923  (-10787827.71203705+
1924  (-56070259.81307875+
1925  (-180193958.0397918+
1926  (-370348948.3898267+
1927  (-487666454.2750004+
1928  (-397903672.8562503+
1929  (-183123020.9098381-36324402.50834493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1930 
1931  case 8:
1932  return 907.4999999999995+
1933  (55300.60119047616+
1934  (1017370.052678571+
1935  (9010082.051521159+
1936  (45578544.75252147+
1937  (142643877.2687499+
1938  (285964084.8567707+
1939  (368067808.7646823+
1940  (294217133.7654016+
1941  (132946455.4614748+25946001.79167492*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1942 
1943  case 9:
1944  return -604.9999999999997+
1945  (-35757.90079365078+
1946  (-633654.9006944442+
1947  (-5395757.537499998+
1948  (-26303245.82287532+
1949  (-79634435.01406247+
1950  (-155083710.9469617+
1951  (-194666785.3843253+
1952  (-152284121.7104166+
1953  (-67545376.56510414-12973000.89583746*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1954 
1955  case 10:
1956  return 302.4999999999999+
1957  (16769.78373015873+
1958  (276810.9617559523+
1959  (2216865.917570546+
1960  (10275947.41824432+
1961  (29863105.35694444+
1962  (56249470.99094327+
1963  (68702588.44748676+
1964  (52545039.69155505+
1965  (22872508.46649029+4324333.631945821*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1966 
1967  case 11:
1968  return -121.0000000000002+
1969  (-5376.9134920635+
1970  (-77345.59839285725+
1971  (-564323.0784171084+
1972  (-2447317.912381507+
1973  (-6769146.883506954+
1974  (-12277707.14086229+
1975  (-14559958.38538362+
1976  (-10877437.26502978+
1977  (-4645978.282255849-864866.7263891657*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1978 
1979  default:
1980  libmesh_error_msg("bad index i = " << i);
1981  }
1982 
1983 
1984  case TWELFTH:
1985  switch (i)
1986  {
1987  case 0:
1988  return .9999999999999998+
1989  (72.47705627705626+
1990  (1633.311428571428+
1991  (18226.50666666666+
1992  (119469.4285714285+
1993  (498933.257142857+
1994  (1381121.28+
1995  (2566761.325714285+
1996  (3167275.885714285+
1997  (2488319.999999999+
1998  (1126142.537142857+223367.1148051948*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
1999 
2000  case 1:
2001  return 37.23852813852813+
2002  (1161.351341991342+
2003  (15303.19142857143+
2004  (113802.0495238095+
2005  (535247.1428571427+
2006  (1682751.497142857+
2007  (3627037.439999999+
2008  (5382117.668571427+
2009  (5406763.885714285+
2010  (3512085.942857142+
2011  (1330895.725714285+223367.1148051948*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2012 
2013  case 2:
2014  return -13.09090909090911+
2015  (-946.410389610391+
2016  (-21256.04571428574+
2017  (-236192.3657142861+
2018  (-1540134.857142859+
2019  (-6392069.485714295+
2020  (-17564843.52000003+
2021  (-32365222.76571433+
2022  (-39542959.5428572+
2023  (-30712978.28571433+
2024  (-13718463.63428573-2680405.377662341*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2025 
2026  case 3:
2027  return 79.19999999999997+
2028  (5708.502857142855+
2029  (127693.2342857142+
2030  (1411707.84+
2031  (9148841.14285714+
2032  (37695557.21142856+
2033  (102712458.24+
2034  (187435903.2685714+
2035  (226508214.8571428+
2036  (173784268.7999999+
2037  (76577692.52571426+14742229.57714285*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2038 
2039  case 4:
2040  return -293.3333333333333+
2041  (-21064.38095238095+
2042  (-468865.8285714286+
2043  (-5151708.952380953+
2044  (-33141236.57142857+
2045  (-135381015.7714286+
2046  (-365282265.6+
2047  (-659300527.5428572+
2048  (-787148039.3142857+
2049  (-596059282.2857143+
2050  (-259012783.5428571-49140765.25714286*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2051 
2052  case 5:
2053  return 742.4999999999988+
2054  (53071.7142857142+
2055  (1174043.699999998+
2056  (12802072.11428569+
2057  (81618641.99999987+
2058  (329991648.6857138+
2059  (880198099.1999986+
2060  (1568889314.742855+
2061  (1848249446.399997+
2062  (1380164461.714284+
2063  (591224831.9999991+110566721.8285713*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2064 
2065  case 6:
2066  return -1357.714285714284+
2067  (-96463.54285714276+
2068  (-2117125.851428569+
2069  (-22864004.02285712+
2070  (-144144041.142857+
2071  (-575530346.0571423+
2072  (-1514417679.359998+
2073  (-2660955375.908569+
2074  (-3088957791.085711+
2075  (-2272760393.142855+
2076  (-959473441.6457133-176906754.9257141*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2077 
2078  case 7:
2079  return 1848.+
2080  (130241.6+
2081  (2828541.120000001+
2082  (30164287.36000001+
2083  (187472016.+
2084  (737031225.6000001+
2085  (1908272701.44+
2086  (3298536898.560001+
2087  (3767714611.200001+
2088  (2729189376.+
2089  (1135151677.44+206391214.08*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2090 
2091  case 8:
2092  return -1900.800000000001+
2093  (-132442.1485714286+
2094  (-2834453.211428572+
2095  (-29714158.08000001+
2096  (-181251195.4285715+
2097  (-698873880.1371431+
2098  (-1774822855.680001+
2099  (-3011083328.365715+
2100  (-3379195435.885715+
2101  (-2407897497.600001+
2102  (-986500862.5371432-176906754.9257143*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2103 
2104  case 9:
2105  return 1485.000000000001+
2106  (101688.4285714286+
2107  (2129312.185714287+
2108  (21783070.2857143+
2109  (129558540.8571429+
2110  (487399661.4857146+
2111  (1209468153.600001+
2112  (2008852728.685716+
2113  (2211622370.742859+
2114  (1549085842.285715+
2115  (625009108.1142861+110566721.8285715*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2116 
2117  case 10:
2118  return -879.9999999999996+
2119  (-58499.8095238095+
2120  (-1181984.914285714+
2121  (-11651825.06666666+
2122  (-66923129.14285712+
2123  (-243989962.9714285+
2124  (-589005043.1999998+
2125  (-955168885.028571+
2126  (-1030036509.257142+
2127  (-708673535.9999997+
2128  (-281535634.2857142-49140765.25714284*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2129 
2130  case 11:
2131  return 395.9999999999998+
2132  (24740.91428571427+
2133  (467174.4685714284+
2134  (4342689.325714284+
2135  (23761844.57142856+
2136  (83264161.37142853+
2137  (194582062.0799999+
2138  (307216518.582857+
2139  (324021920.9142856+
2140  (218829970.2857142+
2141  (85586832.8228571+14742229.57714285*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2142 
2143  case 12:
2144  return -144.0000000000002+
2145  (-7268.696103896113+
2146  (-120015.3600000001+
2147  (-1017966.994285716+
2148  (-5214864.000000006+
2149  (-17396664.68571431+
2150  (-39148945.92000005+
2151  (-60006903.22285722+
2152  (-61809868.80000008+
2153  (-40950637.71428576+
2154  (-15765995.52000002-2680405.377662341*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2155 
2156  default:
2157  libmesh_error_msg("bad index i = " << i);
2158  }
2159 
2160 
2161  case THIRTEENTH:
2162  switch (i)
2163  {
2164  case 0:
2165  return -1.+
2166  (-80.68347763347765+
2167  (-2044.462258297259+
2168  (-25942.2157164903+
2169  (-195933.4211304931+
2170  (-958398.5214740412+
2171  (-3173506.650750547+
2172  (-7259032.308898811+
2173  (-11486892.61199839+
2174  (-12346784.01976549+
2175  (-8601592.867103291+
2176  (-3501996.921969848-632304.9998001114*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2177 
2178  case 1:
2179  return 41.34173881673884+
2180  (1443.658316498317+
2181  (21501.124045665+
2182  (182688.9526208849+
2183  (994598.8556921946+
2184  (3678547.079260226+
2185  (9525159.921037011+
2186  (17469603.51956405+
2187  (22598998.22978734+
2188  (20166413.89895031+
2189  (11811756.71224232+
2190  (4085663.075631491+632304.9998001117*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2191 
2192  case 2:
2193  return 14.0833333333333+
2194  (1133.945087782585+
2195  (28654.62116838017+
2196  (362353.3209476036+
2197  (2725399.981313606+
2198  (13265700.68549035+
2199  (43674200.44979463+
2200  (99236897.21980192+
2201  (155839062.2764586+
2202  (166048415.8555637+
2203  (114536999.7566909+
2204  (46109626.13926956+8219964.997401429*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2205 
2206  case 3:
2207  return -92.18181818181805+
2208  (-7404.029004328994+
2209  (-186493.2485281383+
2210  (-2348815.46078042+
2211  (-17580908.74629903+
2212  (-85087791.92399955+
2213  (-278293001.5682587+
2214  (-627605520.9915996+
2215  (-977247224.5855008+
2216  (-1031431341.958869+
2217  (-704013624.8070271+
2218  (-280159753.7575874-49319789.98440861*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2219 
2220  case 4:
2221  return 371.8000000000002+
2222  (29775.036984127+
2223  (747066.9209920639+
2224  (9363907.89718475+
2225  (69688340.39763103+
2226  (335036414.4353251+
2227  (1087492542.853534+
2228  (2431673317.636533+
2229  (3750776185.102226+
2230  (3918109445.780044+
2231  (2644763448.927234+
2232  (1040093085.825045+180839229.9428319*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2233 
2234  case 5:
2235  return -1032.777777777779+
2236  (-82410.07804232813+
2237  (-2057912.1728836+
2238  (-25644457.74177325+
2239  (-189543869.9955658+
2240  (-904096807.162213+
2241  (-2908738078.894543+
2242  (-6440986214.655237+
2243  (-9830892990.478734+
2244  (-10155071564.15431+
2245  (-6774886171.378993+
2246  (-2632334353.014005-452098074.8570801*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2247 
2248  case 6:
2249  return 2091.375+
2250  (166125.1892857143+
2251  (4123916.218616072+
2252  (51020732.59433532+
2253  (373953022.277135+
2254  (1766886624.747501+
2255  (5625702404.785355+
2256  (12318759910.9515+
2257  (18582195606.11107+
2258  (18963235625.43443+
2259  (12496303574.24485+
2260  (4795984784.637706+813776534.7427433*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2261 
2262  case 7:
2263  return -3186.857142857142+
2264  (-251663.5333333333+
2265  (-6200036.526666666+
2266  (-76008876.2598148+
2267  (-551305314.9444829+
2268  (-2574950087.743402+
2269  (-8097779517.245471+
2270  (-17504674905.19222+
2271  (-26060004891.47182+
2272  (-26247363320.78761+
2273  (-17074614556.61409+
2274  (-6471690311.800277-1085035379.656991*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2275 
2276  case 8:
2277  return 3717.999999999998+
2278  (291305.8365079364+
2279  (7104538.462460314+
2280  (86064016.71082448+
2281  (615956862.0470787+
2282  (2836014413.233886+
2283  (8787496836.24099+
2284  (18714249266.16391+
2285  (27455001535.18193+
2286  (27263598620.87599+
2287  (17498356184.17243+
2288  (6548734244.083612+1085035379.656991*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2289 
2290  case 9:
2291  return -3346.199999999998+
2292  (-259275.2128571427+
2293  (-6234980.857857139+
2294  (-74314814.73490075+
2295  (-522619068.6865779+
2296  (-2363180534.798538+
2297  (-7192365653.835081+
2298  (-15054787917.48891+
2299  (-21728631050.65575+
2300  (-21251474605.34373+
2301  (-13449722236.25113+
2302  (-4969333632.275211-813776534.7427428*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2303 
2304  case 10:
2305  return 2323.75+
2306  (177031.3561507936+
2307  (4169023.658209325+
2308  (48551880.14924492+
2309  (333412303.9596687+
2310  (1473130923.654975+
2311  (4387072985.810989+
2312  (9001260757.284597+
2313  (12758505432.0885+
2314  (12276977202.42297+
2315  (7657681228.792217+
2316  (2792842545.270953+452098074.8570795*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2317 
2318  case 11:
2319  return -1239.333333333332+
2320  (-91731.50105820099+
2321  (-2087506.053492062+
2322  (-23468266.89172691+
2323  (-155895856.7716664+
2324  (-668508962.9727646+
2325  (-1939086147.461385+
2326  (-3888161778.825734+
2327  (-5402206035.376699+
2328  (-5109035910.537828+
2329  (-3139128681.07864+
2330  (-1129977673.488937-180839229.9428317*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2331 
2332  case 12:
2333  return 507.0000000000001+
2334  (35329.52316017317+
2335  (753439.2988852815+
2336  (8004952.597863758+
2337  (50738883.86584271+
2338  (209350649.6495577+
2339  (588284837.5399432+
2340  (1149033869.66415+
2341  (1561914935.552244+
2342  (1450272246.013992+
2343  (877362472.4445357+
2344  (311677726.0553165+49319789.98440869*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2345 
2346  case 13:
2347  return -168.9999999999998+
2348  (-9579.507720057708+
2349  (-179166.9826911975+
2350  (-1739358.918309081+
2351  (-10328458.8186393+
2352  (-40580690.36360362+
2353  (-109813061.9461516+
2354  (-208208252.9774634+
2355  (-276362669.3617079+
2356  (-251684443.4798346+
2357  (-149848802.0532203+
2358  (-52529953.82954764-8219964.997401437*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2359 
2360  default:
2361  libmesh_error_msg("bad index i = " << i);
2362  }
2363 
2364 
2365  case FOURTEENTH:
2366  switch (i)
2367  {
2368  case 0:
2369  return 1.000000000000001+
2370  (89.0437451437452+
2371  (2511.452929292931+
2372  (35805.84699214368+
2373  (307157.435133745+
2374  (1728831.305617285+
2375  (6694701.358837453+
2376  (18287612.31917697+
2377  (35556011.50111113+
2378  (48922521.07901238+
2379  (46544481.35786011+
2380  (29116191.77122336+
2381  (10770623.78528994+1784482.047266973*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2382 
2383  case 1:
2384  return 45.52187257187257+
2385  (1763.345698005698+
2386  (29365.83817340067+
2387  (281531.7950991395+
2388  (1747850.189814815+
2389  (7467146.756049383+
2390  (22696362.13811728+
2391  (49892955.87572016+
2392  (79586280.47222222+
2393  (91235685.94979424+
2394  (73234323.81481481+
2395  (39058306.0345679+
2396  (12427642.8291807+1784482.047266972*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2397 
2398  case 2:
2399  return -15.07692307692307+
2400  (-1340.186169386169+
2401  (-37713.82505050504+
2402  (-536175.4596184062+
2403  (-4584016.86584362+
2404  (-25698683.17679012+
2405  (-99057107.66633743+
2406  (-269159338.175144+
2407  (-520164399.5644443+
2408  (-710821314.4148147+
2409  (-671058896.060576+
2410  (-416148497.0228506+
2411  (-152445752.0379498-24982748.6617376*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2412 
2413  case 3:
2414  return 106.1666666666664+
2415  (9418.0887205387+
2416  (264331.1471464641+
2417  (3745715.752540209+
2418  (31899113.16882709+
2419  (178017355.746049+
2420  (682587693.1574368+
2421  (1843708348.548309+
2422  (3539222709.936659+
2423  (4800352165.04608+
2424  (4494355579.027644+
2425  (2761777312.15335+
2426  (1001668012.031962+162387866.3012941*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2427 
2428  case 4:
2429  return -463.2727272727266+
2430  (-40998.84444444439+
2431  (-1147094.434747473+
2432  (-16192604.75699212+
2433  (-137271541.0485595+
2434  (-762026508.285431+
2435  (-2904385776.815469+
2436  (-7792130969.395215+
2437  (-14846386660.68442+
2438  (-19971946670.39009+
2439  (-18532980221.46894+
2440  (-11280038782.78319+
2441  (-4049754543.269010-649551465.2051768*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2442 
2443  case 5:
2444  return 1401.399999999998+
2445  (123664.7844444442+
2446  (3447032.944444439+
2447  (48436585.99197523+
2448  (408409296.5789602+
2449  (2253197088.95512+
2450  (8528314129.288823+
2451  (22705190993.54646+
2452  (42899311094.9277+
2453  (57192419912.08138+
2454  (52567132654.44024+
2455  (31676286194.03451+
2456  (11255301855.62796+1786266529.314236*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2457 
2458  case 6:
2459  return -3114.222222222221+
2460  (-273841.7629629629+
2461  (-7598211.423703702+
2462  (-106176407.7618107+
2463  (-889486589.4962961+
2464  (-4871457715.624196+
2465  (-18289286459.60543+
2466  (-48264587628.2762+
2467  (-90336942561.1022+
2468  (-119250255953.088+
2469  (-108490582744.8178+
2470  (-64696178115.65826+
2471  (-22747557434.53234-3572533058.628476*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2472 
2473  case 7:
2474  return 5255.250000000005+
2475  (460064.2666666671+
2476  (12692565.01916668+
2477  (176150443.0362965+
2478  (1464070863.601545+
2479  (7947918838.465933+
2480  (29555009192.81537+
2481  (77204332615.9018+
2482  (142978921074.0568+
2483  (186702987302.2742+
2484  (168009721889.5444+
2485  (99106545732.11268+
2486  (34476766736.71312+5358799587.942721*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2487 
2488  case 8:
2489  return -6864.000000000005+
2490  (-597468.2666666671+
2491  (-16363002.50666668+
2492  (-225121477.611852+
2493  (-1852739107.920989+
2494  (-9950118584.456304+
2495  (-36579967858.71213+
2496  (-94431878855.5576+
2497  (-172801677847.3068+
2498  (-222974303851.9113+
2499  (-198322454721.1221+
2500  (-115675079151.9764+
2501  (-39808225510.43164-6124342386.220252*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2502 
2503  case 9:
2504  return 7007.+
2505  (605244.1888888889+
2506  (16415290.29777778+
2507  (223285445.4038272+
2508  (1814617394.563426+
2509  (9615694831.261296+
2510  (34866622054.4775+
2511  (88774809190.10321+
2512  (160266060424.7967+
2513  (204118806975.1876+
2514  (179312358692.2474+
2515  (103371712751.0874+
2516  (35187627906.54222+5358799587.942716*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2517 
2518  case 10:
2519  return -5605.599999999996+
2520  (-478963.4577777775+
2521  (-12815269.44444444+
2522  (-171640517.3604937+
2523  (-1371951477.497941+
2524  (-7147541864.43802+
2525  (-25485507407.83126+
2526  (-63848350696.57444+
2527  (-113517642944.8444+
2528  (-142532726188.3604+
2529  (-123573040616.0328+
2530  (-70383067474.29131+
2531  (-23695372327.63784-3572533058.628475*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2532 
2533  case 11:
2534  return 3503.500000000003+
2535  (294447.2611111113+
2536  (7720974.358611117+
2537  (101146405.0471606+
2538  (790417783.0809677+
2539  (4028557079.079386+
2540  (14071398696.88138+
2541  (34590639213.49616+
2542  (60449325371.26783+
2543  (74730994261.10376+
2544  (63894320392.36532+
2545  (35941453213.00941+
2546  (11966163025.45713+1786266529.31424*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2547 
2548  case 12:
2549  return -1698.666666666669+
2550  (-138798.752861953+
2551  (-3521413.568484853+
2552  (-44599342.83238314+
2553  (-337623011.738272+
2554  (-1672128961.184199+
2555  (-5694412271.43013+
2556  (-13691005583.17104+
2557  (-23467659366.85336+
2558  (-28527575611.29551+
2559  (-24035365582.07213+
2560  (-13347998549.55889+
2561  (-4394414504.398299-649551465.2051785*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2562 
2563  case 13:
2564  return 637.0000000000005+
2565  (49076.86565656569+
2566  (1169569.725050506+
2567  (14025401.12147027+
2568  (101447432.0348252+
2569  (483898256.0019139+
2570  (1597498806.855073+
2571  (3742961181.708809+
2572  (6278720198.481116+
2573  (7494910301.597536+
2574  (6218035822.71984+
2575  (3408014739.270754+
2576  (1109374249.884864+162387866.3012945*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2577 
2578  case 14:
2579  return -195.9999999999997+
2580  (-12356.57404817403+
2581  (-258935.5802020198+
2582  (-2840808.212210995+
2583  (-19261146.08559668+
2584  (-87507110.40641962+
2585  (-278204754.9117691+
2586  (-632709040.3499579+
2587  (-1036229385.084443+
2588  (-1212999534.859257+
2589  (-990221053.9430438+
2590  (-535453868.1829846+
2591  (-172329980.5646387-24982748.66173757*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v;
2592 
2593  default:
2594  libmesh_error_msg("bad index i = " << i);
2595  }
2596 
2597 
2598  // provided the constructor worked fine, we should never end up here.
2599  default:
2600  libmesh_error_msg("Lagrange polynomials only defined up to 15.");
2601  } // switch (o_radial)
2602 
2603  libmesh_error_msg("We'll never get here!");
2604  return 0.;
2605 } // lagrange_eval_deriv()
2606 
2607 } // anonymous namespace
2608 
2609 
2610 
2611  // Specialize the eval() 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(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); }
2614 template <> Real InfFE<2,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); }
2615 template <> Real InfFE<3,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); }
2616 
2617 // Specialize the eval_deriv() function for 1, 2, and 3 dimensions and the CARTESIAN mapping type
2618 // to call the local helper function from the anonymous namespace.
2619 template <> Real InfFE<1,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); }
2620 template <> Real InfFE<2,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); }
2621 template <> Real InfFE<3,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); }
2622 
2623 
2624 } // namespace libMesh
2625 
2626 #endif // LIBMESH_ENABLE_INFINITE_ELEMENTS
static Real eval_deriv(Real v, Order o_radial, unsigned int i)
The libMesh namespace provides an interface to certain functionality in the library.
libmesh_assert(j)
static Real eval(Real v, Order o_radial, unsigned int i)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Order
defines an enum for polynomial orders.
Definition: enum_order.h:32