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

Site Created By: libMesh Developers
Last modified: February 07 2014 16:57:05 UTC

Hosted By:
SourceForge.net Logo