$extrastylesheet
00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 00003 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 00019 // Local Includes 00020 #include "libmesh/libmesh_config.h" 00021 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS 00022 #include "libmesh/inf_fe.h" 00023 00024 namespace libMesh 00025 { 00026 00027 // Anonymous namespace for local helper functions 00028 namespace { 00029 00030 Real lagrange_eval(Real v, Order o_radial, unsigned i) 00031 { 00032 libmesh_assert (-1.-1.e-5 <= v && v < 1.); 00033 00034 switch (o_radial) 00035 { 00036 case CONSTANT: 00037 switch (i) 00038 { 00039 case 0: 00040 return 1.; 00041 00042 default: 00043 libmesh_error_msg("bad index i = " << i); 00044 } 00045 00046 00047 case FIRST: 00048 switch (i) 00049 { 00050 case 0: 00051 return -1.*v; 00052 00053 case 1: 00054 return v+1.; 00055 00056 default: 00057 libmesh_error_msg("bad index i = " << i); 00058 } 00059 00060 00061 case SECOND: 00062 switch (i) 00063 { 00064 case 0: 00065 return 2.*v*(v+.5); 00066 00067 case 1: 00068 return 2.*(v+1.)*(v+.5); 00069 00070 case 2: 00071 return -4.*(v+1.)*v; 00072 00073 default: 00074 libmesh_error_msg("bad index i = " << i); 00075 } 00076 00077 00078 case THIRD: 00079 switch (i) 00080 { 00081 case 0: 00082 return -4.5*v*(v+.6666666666666667)*(v+.3333333333333333); 00083 00084 case 1: 00085 return 4.5*(v+1.)*(v+.6666666666666667)*(v+.3333333333333333); 00086 00087 case 2: 00088 return 13.5*(v+1.)*v*(v+.3333333333333333); 00089 00090 case 3: 00091 return -13.5*(v+1.)*v*(v+.6666666666666667); 00092 00093 default: 00094 libmesh_error_msg("bad index i = " << i); 00095 } 00096 00097 00098 case FOURTH: 00099 switch (i) 00100 { 00101 case 0: 00102 return 10.66666666666667*v*(v+.75)*(v+.5)*(v+.25); 00103 00104 case 1: 00105 return 10.66666666666667*(v+1.)*(v+.75)*(v+.5)*(v+.25); 00106 00107 case 2: 00108 return -42.66666666666667*(v+1.)*v*(v+.5)*(v+.25); 00109 00110 case 3: 00111 return 64.*(v+1.)*v*(v+.75)*(v+.25); 00112 00113 case 4: 00114 return -42.66666666666667*(v+1.)*v*(v+.75)*(v+.5); 00115 00116 default: 00117 libmesh_error_msg("bad index i = " << i); 00118 } 00119 00120 00121 case FIFTH: 00122 switch (i) 00123 { 00124 case 0: 00125 return -26.04166666666667*v*(v+.8)*(v+.6)*(v+.4)*(v+.2); 00126 00127 case 1: 00128 return 26.04166666666667*(v+1.)*(v+.8)*(v+.6)*(v+.4)*(v+.2); 00129 00130 case 2: 00131 return 130.2083333333333*(v+1.)*v*(v+.6)*(v+.4)*(v+.2); 00132 00133 case 3: 00134 return -260.4166666666667*(v+1.)*v*(v+.8)*(v+.4)*(v+.2); 00135 00136 case 4: 00137 return 260.4166666666667*(v+1.)*v*(v+.8)*(v+.6)*(v+.2); 00138 00139 case 5: 00140 return -130.2083333333333*(v+1.)*v*(v+.8)*(v+.6)*(v+.4); 00141 00142 default: 00143 libmesh_error_msg("bad index i = " << i); 00144 } 00145 00146 00147 case SIXTH: 00148 switch (i) 00149 { 00150 case 0: 00151 return 64.8*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667); 00152 00153 case 1: 00154 return 64.8*(v+1.)*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667); 00155 00156 case 2: 00157 return -388.8*(v+1.)*v*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667); 00158 00159 case 3: 00160 return 972.*(v+1.)*v*(v+.8333333333333333)*(v+.5)*(v+.3333333333333333)*(v+.1666666666666667); 00161 00162 case 4: 00163 return -1296.*(v+1.)*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.3333333333333333)*(v+.1666666666666667); 00164 00165 case 5: 00166 return 972.*(v+1.)*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.1666666666666667); 00167 00168 case 6: 00169 return -388.8*(v+1.)*v*(v+.8333333333333333)*(v+.6666666666666667)*(v+.5)*(v+.3333333333333333); 00170 00171 default: 00172 libmesh_error_msg("bad index i = " << i); 00173 } 00174 00175 00176 case SEVENTH: 00177 switch (i) 00178 { 00179 case 0: 00180 return -163.401388888889*v* 00181 (v+.8571428571428571)* 00182 (v+.7142857142857143)* 00183 (v+.5714285714285714)* 00184 (v+.4285714285714286)* 00185 (v+.2857142857142857)* 00186 (v+.1428571428571429); 00187 00188 case 1: 00189 return 163.4013888888888* 00190 (v+1.)* 00191 (v+.8571428571428571)* 00192 (v+.7142857142857143)* 00193 (v+.5714285714285714)* 00194 (v+.4285714285714286)* 00195 (v+.2857142857142857)* 00196 (v+.1428571428571429); 00197 00198 case 2: 00199 return 1143.809722222222* 00200 (v+1.)*v* 00201 (v+.7142857142857143)* 00202 (v+.5714285714285714)* 00203 (v+.4285714285714286)* 00204 (v+.2857142857142857)* 00205 (v+.1428571428571429); 00206 00207 case 3: 00208 return -3431.429166666665* 00209 (v+1.)*v* 00210 (v+.8571428571428571)* 00211 (v+.5714285714285714)* 00212 (v+.4285714285714286)* 00213 (v+.2857142857142857)* 00214 (v+.1428571428571429); 00215 00216 case 4: 00217 return 5719.048611111112* 00218 (v+1.)*v* 00219 (v+.8571428571428571)* 00220 (v+.7142857142857143)* 00221 (v+.4285714285714286)* 00222 (v+.2857142857142857)* 00223 (v+.1428571428571429); 00224 00225 case 5: 00226 return -5719.048611111112* 00227 (v+1.)*v* 00228 (v+.8571428571428571)* 00229 (v+.7142857142857143)* 00230 (v+.5714285714285714)* 00231 (v+.2857142857142857)* 00232 (v+.1428571428571429); 00233 00234 case 6: 00235 return 3431.429166666666* 00236 (v+1.)*v* 00237 (v+.8571428571428571)* 00238 (v+.7142857142857143)* 00239 (v+.5714285714285714)* 00240 (v+.4285714285714286)* 00241 (v+.1428571428571429); 00242 00243 case 7: 00244 return -1143.809722222223* 00245 (v+1.)*v* 00246 (v+.8571428571428571)* 00247 (v+.7142857142857143)* 00248 (v+.5714285714285714)* 00249 (v+.4285714285714286)* 00250 (v+.2857142857142857); 00251 00252 default: 00253 libmesh_error_msg("bad index i = " << i); 00254 } 00255 00256 00257 case EIGHTH: 00258 switch (i) 00259 { 00260 case 0: 00261 return 416.1015873015873*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125); 00262 00263 case 1: 00264 return 416.1015873015873*(v+1.)*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125); 00265 00266 case 2: 00267 return -3328.812698412698*(v+1.)*v*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125); 00268 00269 case 3: 00270 return 11650.84444444444*(v+1.)*v*(v+.875)*(v+.625)*(v+.5)*(v+.375)*(v+.25)*(v+.125); 00271 00272 case 4: 00273 return -23301.68888888889*(v+1.)*v*(v+.875)*(v+.75)*(v+.5)*(v+.375)*(v+.25)*(v+.125); 00274 00275 case 5: 00276 return 29127.11111111111*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.375)*(v+.25)*(v+.125); 00277 00278 case 6: 00279 return -23301.68888888889*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.25)*(v+.125); 00280 00281 case 7: 00282 return 11650.84444444444*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.125); 00283 00284 case 8: 00285 return -3328.812698412698*(v+1.)*v*(v+.875)*(v+.75)*(v+.625)*(v+.5)*(v+.375)*(v+.25); 00286 00287 default: 00288 libmesh_error_msg("bad index i = " << i); 00289 } 00290 00291 00292 case NINTH: 00293 switch (i) 00294 { 00295 case 0: 00296 return -1067.627008928571*v* 00297 (v+.8888888888888889)* 00298 (v+.7777777777777778)* 00299 (v+.6666666666666667)* 00300 (v+.5555555555555556)* 00301 (v+.4444444444444444)* 00302 (v+.3333333333333333)* 00303 (v+.2222222222222222)* 00304 (v+.1111111111111111); 00305 00306 case 1: 00307 return 1067.627008928571* 00308 (v+1.)* 00309 (v+.8888888888888889)* 00310 (v+.7777777777777778)* 00311 (v+.6666666666666667)* 00312 (v+.5555555555555556)* 00313 (v+.4444444444444444)* 00314 (v+.3333333333333333)* 00315 (v+.2222222222222222)* 00316 (v+.1111111111111111); 00317 00318 case 2: 00319 return 9608.643080357158* 00320 (v+1.)*v* 00321 (v+.7777777777777778)* 00322 (v+.6666666666666667)* 00323 (v+.5555555555555556)* 00324 (v+.4444444444444444)* 00325 (v+.3333333333333333)* 00326 (v+.2222222222222222)* 00327 (v+.1111111111111111); 00328 00329 case 3: 00330 return -38434.57232142862* 00331 (v+1.)*v* 00332 (v+.8888888888888889)* 00333 (v+.6666666666666667)* 00334 (v+.5555555555555556)* 00335 (v+.4444444444444444)* 00336 (v+.3333333333333333)* 00337 (v+.2222222222222222)* 00338 (v+.1111111111111111); 00339 00340 case 4: 00341 return 89680.66874999999* 00342 (v+1.)*v* 00343 (v+.8888888888888889)* 00344 (v+.7777777777777778)* 00345 (v+.5555555555555556)* 00346 (v+.4444444444444444)* 00347 (v+.3333333333333333)* 00348 (v+.2222222222222222)* 00349 (v+.1111111111111111); 00350 00351 case 5: 00352 return -134521.0031249999* 00353 (v+1.)*v* 00354 (v+.8888888888888889)* 00355 (v+.7777777777777778)* 00356 (v+.6666666666666667)* 00357 (v+.4444444444444444)* 00358 (v+.3333333333333333)* 00359 (v+.2222222222222222)* 00360 (v+.1111111111111111); 00361 00362 case 6: 00363 return 134521.003125* 00364 (v+1.)*v* 00365 (v+.8888888888888889)* 00366 (v+.7777777777777778)* 00367 (v+.6666666666666667)* 00368 (v+.5555555555555556)* 00369 (v+.3333333333333333)* 00370 (v+.2222222222222222)* 00371 (v+.1111111111111111); 00372 00373 case 7: 00374 return -89680.66875000004* 00375 (v+1.)*v* 00376 (v+.8888888888888889)* 00377 (v+.7777777777777778)* 00378 (v+.6666666666666667)* 00379 (v+.5555555555555556)* 00380 (v+.4444444444444444)* 00381 (v+.2222222222222222)* 00382 (v+.1111111111111111); 00383 00384 case 8: 00385 return 38434.57232142857* 00386 (v+1.)*v* 00387 (v+.8888888888888889)* 00388 (v+.7777777777777778)* 00389 (v+.6666666666666667)* 00390 (v+.5555555555555556)* 00391 (v+.4444444444444444)* 00392 (v+.3333333333333333)* 00393 (v+.1111111111111111); 00394 00395 case 9: 00396 return -9608.643080357148* 00397 (v+1.)*v* 00398 (v+.8888888888888889)* 00399 (v+.7777777777777778)* 00400 (v+.6666666666666667)* 00401 (v+.5555555555555556)* 00402 (v+.4444444444444444)* 00403 (v+.3333333333333333)* 00404 (v+.2222222222222222); 00405 00406 default: 00407 libmesh_error_msg("bad index i = " << i); 00408 } 00409 00410 00411 case TENTH: 00412 switch (i) 00413 { 00414 case 0: 00415 return 2755.73192239859*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00416 00417 case 1: 00418 return 2755.73192239859*(v+1.)*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00419 00420 case 2: 00421 return -27557.31922398588*(v+1.)*v*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00422 00423 case 3: 00424 return 124007.9365079364*(v+1.)*v*(v+.9)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00425 00426 case 4: 00427 return -330687.8306878306*(v+1.)*v*(v+.9)*(v+.8)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00428 00429 case 5: 00430 return 578703.7037037039*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.5)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00431 00432 case 6: 00433 return -694444.4444444449*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.4)*(v+.3)*(v+.2)*(v+.1); 00434 00435 case 7: 00436 return 578703.7037037039*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.3)*(v+.2)*(v+.1); 00437 00438 case 8: 00439 return -330687.8306878306*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.2)*(v+.1); 00440 00441 case 9: 00442 return 124007.9365079364*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.1); 00443 00444 case 10: 00445 return -27557.31922398588*(v+1.)*v*(v+.9)*(v+.8)*(v+.7)*(v+.6)*(v+.5)*(v+.4)*(v+.3)*(v+.2); 00446 00447 default: 00448 libmesh_error_msg("bad index i = " << i); 00449 } 00450 00451 00452 case ELEVENTH: 00453 switch (i) 00454 { 00455 case 0: 00456 return -7147.658895778214*v* 00457 (v+.9090909090909091)* 00458 (v+.8181818181818182)* 00459 (v+.7272727272727273)* 00460 (v+.6363636363636364)* 00461 (v+.5454545454545455)* 00462 (v+.4545454545454545)* 00463 (v+.3636363636363636)* 00464 (v+.2727272727272727)* 00465 (v+.1818181818181818)* 00466 (v+.9090909090909091e-1); 00467 00468 case 1: 00469 return 7147.65889577822* 00470 (v+1.)* 00471 (v+.9090909090909091)* 00472 (v+.8181818181818182)* 00473 (v+.7272727272727273)* 00474 (v+.6363636363636364)* 00475 (v+.5454545454545455)* 00476 (v+.4545454545454545)* 00477 (v+.3636363636363636)* 00478 (v+.2727272727272727)* 00479 (v+.1818181818181818)* 00480 (v+.9090909090909091e-1); 00481 00482 case 2: 00483 return 78624.2478535604* 00484 (v+1.)*v* 00485 (v+.8181818181818182)* 00486 (v+.7272727272727273)* 00487 (v+.6363636363636364)* 00488 (v+.5454545454545455)* 00489 (v+.4545454545454545)* 00490 (v+.3636363636363636)* 00491 (v+.2727272727272727)* 00492 (v+.1818181818181818)* 00493 (v+.9090909090909091e-1); 00494 00495 case 3: 00496 return -393121.2392678026* 00497 (v+1.)*v* 00498 (v+.9090909090909091)* 00499 (v+.7272727272727273)* 00500 (v+.6363636363636364)* 00501 (v+.5454545454545455)* 00502 (v+.4545454545454545)* 00503 (v+.3636363636363636)* 00504 (v+.2727272727272727)* 00505 (v+.1818181818181818)* 00506 (v+.9090909090909091e-1); 00507 00508 case 4: 00509 return 1179363.717803407* 00510 (v+1.)*v* 00511 (v+.9090909090909091)* 00512 (v+.8181818181818182)* 00513 (v+.6363636363636364)* 00514 (v+.5454545454545455)* 00515 (v+.4545454545454545)* 00516 (v+.3636363636363636)* 00517 (v+.2727272727272727)* 00518 (v+.1818181818181818)* 00519 (v+.9090909090909091e-1); 00520 00521 case 5: 00522 return -2358727.435606812* 00523 (v+1.)*v* 00524 (v+.9090909090909091)* 00525 (v+.8181818181818182)* 00526 (v+.7272727272727273)* 00527 (v+.5454545454545455)* 00528 (v+.4545454545454545)* 00529 (v+.3636363636363636)* 00530 (v+.2727272727272727)* 00531 (v+.1818181818181818)* 00532 (v+.9090909090909091e-1); 00533 00534 case 6: 00535 return 3302218.409849539* 00536 (v+1.)*v* 00537 (v+.9090909090909091)* 00538 (v+.8181818181818182)* 00539 (v+.7272727272727273)* 00540 (v+.6363636363636364)* 00541 (v+.4545454545454545)* 00542 (v+.3636363636363636)* 00543 (v+.2727272727272727)* 00544 (v+.1818181818181818)* 00545 (v+.9090909090909091e-1); 00546 00547 case 7: 00548 return -3302218.40984954* 00549 (v+1.)*v* 00550 (v+.9090909090909091)* 00551 (v+.8181818181818182)* 00552 (v+.7272727272727273)* 00553 (v+.6363636363636364)* 00554 (v+.5454545454545455)* 00555 (v+.3636363636363636)* 00556 (v+.2727272727272727)* 00557 (v+.1818181818181818)* 00558 (v+.9090909090909091e-1); 00559 00560 case 8: 00561 return 2358727.435606811* 00562 (v+1.)*v* 00563 (v+.9090909090909091)* 00564 (v+.8181818181818182)* 00565 (v+.7272727272727273)* 00566 (v+.6363636363636364)* 00567 (v+.5454545454545455)* 00568 (v+.4545454545454545)* 00569 (v+.2727272727272727)* 00570 (v+.1818181818181818)* 00571 (v+.9090909090909091e-1); 00572 00573 case 9: 00574 return -1179363.717803406* 00575 (v+1.)*v* 00576 (v+.9090909090909091)* 00577 (v+.8181818181818182)* 00578 (v+.7272727272727273)* 00579 (v+.6363636363636364)* 00580 (v+.5454545454545455)* 00581 (v+.4545454545454545)* 00582 (v+.3636363636363636)* 00583 (v+.1818181818181818)* 00584 (v+.9090909090909091e-1); 00585 00586 case 10: 00587 return 393121.2392678019* 00588 (v+1.)*v* 00589 (v+.9090909090909091)* 00590 (v+.8181818181818182)* 00591 (v+.7272727272727273)* 00592 (v+.6363636363636364)* 00593 (v+.5454545454545455)* 00594 (v+.4545454545454545)* 00595 (v+.3636363636363636)* 00596 (v+.2727272727272727)* 00597 (v+.9090909090909091e-1); 00598 00599 case 11: 00600 return -78624.24785356052* 00601 (v+1.)*v* 00602 (v+.9090909090909091)* 00603 (v+.8181818181818182)* 00604 (v+.7272727272727273)* 00605 (v+.6363636363636364)* 00606 (v+.5454545454545455)* 00607 (v+.4545454545454545)* 00608 (v+.3636363636363636)* 00609 (v+.2727272727272727)* 00610 (v+.1818181818181818); 00611 00612 default: 00613 libmesh_error_msg("bad index i = " << i); 00614 } 00615 00616 00617 case TWELFTH: 00618 switch (i) 00619 { 00620 case 0: 00621 return 18613.92623376623*v* 00622 (v+.9166666666666667)* 00623 (v+.8333333333333333)* 00624 (v+.75)* 00625 (v+.6666666666666667)* 00626 (v+.5833333333333333)* 00627 (v+.5)* 00628 (v+.4166666666666667)* 00629 (v+.3333333333333333)* 00630 (v+.25)* 00631 (v+.1666666666666667)* 00632 (v+.8333333333333333e-1); 00633 00634 case 1: 00635 return 18613.92623376623* 00636 (v+1.)* 00637 (v+.9166666666666667)* 00638 (v+.8333333333333333)* 00639 (v+.75)* 00640 (v+.6666666666666667)* 00641 (v+.5833333333333333)* 00642 (v+.5)* 00643 (v+.4166666666666667)* 00644 (v+.3333333333333333)* 00645 (v+.25)* 00646 (v+.1666666666666667)* 00647 (v+.8333333333333333e-1); 00648 00649 case 2: 00650 return -223367.1148051951* 00651 (v+1.)*v* 00652 (v+.8333333333333333)* 00653 (v+.75)* 00654 (v+.6666666666666667)* 00655 (v+.5833333333333333)* 00656 (v+.5)* 00657 (v+.4166666666666667)* 00658 (v+.3333333333333333)* 00659 (v+.25)* 00660 (v+.1666666666666667)* 00661 (v+.8333333333333333e-1); 00662 00663 case 3: 00664 return 1228519.131428571* 00665 (v+1.)*v* 00666 (v+.9166666666666667)* 00667 (v+.75)* 00668 (v+.6666666666666667)* 00669 (v+.5833333333333333)* 00670 (v+.5)* 00671 (v+.4166666666666667)* 00672 (v+.3333333333333333)* 00673 (v+.25)* 00674 (v+.1666666666666667)* 00675 (v+.8333333333333333e-1); 00676 00677 case 4: 00678 return -4095063.771428572* 00679 (v+1.)*v* 00680 (v+.9166666666666667)* 00681 (v+.8333333333333333)* 00682 (v+.6666666666666667)* 00683 (v+.5833333333333333)* 00684 (v+.5)* 00685 (v+.4166666666666667)* 00686 (v+.3333333333333333)* 00687 (v+.25)* 00688 (v+.1666666666666667)* 00689 (v+.8333333333333333e-1); 00690 00691 case 5: 00692 return 9213893.485714271* 00693 (v+1.)*v* 00694 (v+.9166666666666667)* 00695 (v+.8333333333333333)* 00696 (v+.75)* 00697 (v+.5833333333333333)* 00698 (v+.5)* 00699 (v+.4166666666666667)* 00700 (v+.3333333333333333)* 00701 (v+.25)* 00702 (v+.1666666666666667)* 00703 (v+.8333333333333333e-1); 00704 00705 case 6: 00706 return -14742229.57714284* 00707 (v+1.)*v* 00708 (v+.9166666666666667)* 00709 (v+.8333333333333333)* 00710 (v+.75)* 00711 (v+.6666666666666667)* 00712 (v+.5)* 00713 (v+.4166666666666667)* 00714 (v+.3333333333333333)* 00715 (v+.25)* 00716 (v+.1666666666666667)* 00717 (v+.8333333333333333e-1); 00718 00719 case 7: 00720 return 17199267.84* 00721 (v+1.)*v* 00722 (v+.9166666666666667)* 00723 (v+.8333333333333333)* 00724 (v+.75)* 00725 (v+.6666666666666667)* 00726 (v+.5833333333333333)* 00727 (v+.4166666666666667)* 00728 (v+.3333333333333333)* 00729 (v+.25)* 00730 (v+.1666666666666667)* 00731 (v+.8333333333333333e-1); 00732 00733 case 8: 00734 return -14742229.57714286* 00735 (v+1.)*v* 00736 (v+.9166666666666667)* 00737 (v+.8333333333333333)* 00738 (v+.75)* 00739 (v+.6666666666666667)* 00740 (v+.5833333333333333)* 00741 (v+.5)* 00742 (v+.3333333333333333)* 00743 (v+.25)* 00744 (v+.1666666666666667)* 00745 (v+.8333333333333333e-1); 00746 00747 case 9: 00748 return 9213893.485714291* 00749 (v+1.)*v* 00750 (v+.9166666666666667)* 00751 (v+.8333333333333333)* 00752 (v+.75)* 00753 (v+.6666666666666667)* 00754 (v+.5833333333333333)* 00755 (v+.5)* 00756 (v+.4166666666666667)* 00757 (v+.25)* 00758 (v+.1666666666666667)* 00759 (v+.8333333333333333e-1); 00760 00761 case 10: 00762 return -4095063.77142857* 00763 (v+1.)*v* 00764 (v+.9166666666666667)* 00765 (v+.8333333333333333)* 00766 (v+.75)* 00767 (v+.6666666666666667)* 00768 (v+.5833333333333333)* 00769 (v+.5)* 00770 (v+.4166666666666667)* 00771 (v+.3333333333333333)* 00772 (v+.1666666666666667)* 00773 (v+.8333333333333333e-1); 00774 00775 case 11: 00776 return 1228519.131428571* 00777 (v+1.)*v* 00778 (v+.9166666666666667)* 00779 (v+.8333333333333333)* 00780 (v+.75)* 00781 (v+.6666666666666667)* 00782 (v+.5833333333333333)* 00783 (v+.5)* 00784 (v+.4166666666666667)* 00785 (v+.3333333333333333)* 00786 (v+.25)* 00787 (v+.8333333333333333e-1); 00788 00789 case 12: 00790 return -223367.1148051951* 00791 (v+1.)*v* 00792 (v+.9166666666666667)* 00793 (v+.8333333333333333)* 00794 (v+.75)* 00795 (v+.6666666666666667)* 00796 (v+.5833333333333333)* 00797 (v+.5)* 00798 (v+.4166666666666667)* 00799 (v+.3333333333333333)* 00800 (v+.25)* 00801 (v+.1666666666666667); 00802 00803 default: 00804 libmesh_error_msg("bad index i = " << i); 00805 } 00806 00807 00808 case THIRTEENTH: 00809 switch (i) 00810 { 00811 case 0: 00812 return -48638.84613847011*v* 00813 (v+.9230769230769231)* 00814 (v+.8461538461538462)* 00815 (v+.7692307692307692)* 00816 (v+.6923076923076923)* 00817 (v+.6153846153846154)* 00818 (v+.5384615384615385)* 00819 (v+.4615384615384615)* 00820 (v+.3846153846153846)* 00821 (v+.3076923076923077)* 00822 (v+.2307692307692308)* 00823 (v+.1538461538461538)* 00824 (v+.7692307692307692e-1); 00825 00826 case 1: 00827 return 48638.84613847013* 00828 (v+1.)* 00829 (v+.9230769230769231)* 00830 (v+.8461538461538462)* 00831 (v+.7692307692307692)* 00832 (v+.6923076923076923)* 00833 (v+.6153846153846154)* 00834 (v+.5384615384615385)* 00835 (v+.4615384615384615)* 00836 (v+.3846153846153846)* 00837 (v+.3076923076923077)* 00838 (v+.2307692307692308)* 00839 (v+.1538461538461538)* 00840 (v+.7692307692307692e-1); 00841 00842 case 2: 00843 return 632304.9998001099* 00844 (v+1.)*v* 00845 (v+.8461538461538462)* 00846 (v+.7692307692307692)* 00847 (v+.6923076923076923)* 00848 (v+.6153846153846154)* 00849 (v+.5384615384615385)* 00850 (v+.4615384615384615)* 00851 (v+.3846153846153846)* 00852 (v+.3076923076923077)* 00853 (v+.2307692307692308)* 00854 (v+.1538461538461538)* 00855 (v+.7692307692307692e-1); 00856 00857 case 3: 00858 return -3793829.998800662* 00859 (v+1.)*v* 00860 (v+.9230769230769231)* 00861 (v+.7692307692307692)* 00862 (v+.6923076923076923)* 00863 (v+.6153846153846154)* 00864 (v+.5384615384615385)* 00865 (v+.4615384615384615)* 00866 (v+.3846153846153846)* 00867 (v+.3076923076923077)* 00868 (v+.2307692307692308)* 00869 (v+.1538461538461538)* 00870 (v+.7692307692307692e-1); 00871 00872 case 4: 00873 return 13910709.99560246* 00874 (v+1.)*v* 00875 (v+.9230769230769231)* 00876 (v+.8461538461538462)* 00877 (v+.6923076923076923)* 00878 (v+.6153846153846154)* 00879 (v+.5384615384615385)* 00880 (v+.4615384615384615)* 00881 (v+.3846153846153846)* 00882 (v+.3076923076923077)* 00883 (v+.2307692307692308)* 00884 (v+.1538461538461538)* 00885 (v+.7692307692307692e-1); 00886 00887 case 5: 00888 return -34776774.98900616* 00889 (v+1.)*v* 00890 (v+.9230769230769231)* 00891 (v+.8461538461538462)* 00892 (v+.7692307692307692)* 00893 (v+.6153846153846154)* 00894 (v+.5384615384615385)* 00895 (v+.4615384615384615)* 00896 (v+.3846153846153846)* 00897 (v+.3076923076923077)* 00898 (v+.2307692307692308)* 00899 (v+.1538461538461538)* 00900 (v+.7692307692307692e-1); 00901 00902 case 6: 00903 return 62598194.98021102* 00904 (v+1.)*v* 00905 (v+.9230769230769231)* 00906 (v+.8461538461538462)* 00907 (v+.7692307692307692)* 00908 (v+.6923076923076923)* 00909 (v+.5384615384615385)* 00910 (v+.4615384615384615)* 00911 (v+.3846153846153846)* 00912 (v+.3076923076923077)* 00913 (v+.2307692307692308)* 00914 (v+.1538461538461538)* 00915 (v+.7692307692307692e-1); 00916 00917 case 7: 00918 return -83464259.97361468* 00919 (v+1.)*v* 00920 (v+.9230769230769231)* 00921 (v+.8461538461538462)* 00922 (v+.7692307692307692)* 00923 (v+.6923076923076923)* 00924 (v+.6153846153846154)* 00925 (v+.4615384615384615)* 00926 (v+.3846153846153846)* 00927 (v+.3076923076923077)* 00928 (v+.2307692307692308)* 00929 (v+.1538461538461538)* 00930 (v+.7692307692307692e-1); 00931 00932 case 8: 00933 return 83464259.97361466* 00934 (v+1.)*v* 00935 (v+.9230769230769231)* 00936 (v+.8461538461538462)* 00937 (v+.7692307692307692)* 00938 (v+.6923076923076923)* 00939 (v+.6153846153846154)* 00940 (v+.5384615384615385)* 00941 (v+.3846153846153846)* 00942 (v+.3076923076923077)* 00943 (v+.2307692307692308)* 00944 (v+.1538461538461538)* 00945 (v+.7692307692307692e-1); 00946 00947 case 9: 00948 return -62598194.98021099* 00949 (v+1.)*v* 00950 (v+.9230769230769231)* 00951 (v+.8461538461538462)* 00952 (v+.7692307692307692)* 00953 (v+.6923076923076923)* 00954 (v+.6153846153846154)* 00955 (v+.5384615384615385)* 00956 (v+.4615384615384615)* 00957 (v+.3076923076923077)* 00958 (v+.2307692307692308)* 00959 (v+.1538461538461538)* 00960 (v+.7692307692307692e-1); 00961 00962 case 10: 00963 return 34776774.98900612* 00964 (v+1.)*v* 00965 (v+.9230769230769231)* 00966 (v+.8461538461538462)* 00967 (v+.7692307692307692)* 00968 (v+.6923076923076923)* 00969 (v+.6153846153846154)* 00970 (v+.5384615384615385)* 00971 (v+.4615384615384615)* 00972 (v+.3846153846153846)* 00973 (v+.2307692307692308)* 00974 (v+.1538461538461538)* 00975 (v+.7692307692307692e-1); 00976 00977 case 11: 00978 return -13910709.99560244* 00979 (v+1.)*v* 00980 (v+.9230769230769231)* 00981 (v+.8461538461538462)* 00982 (v+.7692307692307692)* 00983 (v+.6923076923076923)* 00984 (v+.6153846153846154)* 00985 (v+.5384615384615385)* 00986 (v+.4615384615384615)* 00987 (v+.3846153846153846)* 00988 (v+.3076923076923077)* 00989 (v+.1538461538461538)* 00990 (v+.7692307692307692e-1); 00991 00992 case 12: 00993 return 3793829.998800668* 00994 (v+1.)*v* 00995 (v+.9230769230769231)* 00996 (v+.8461538461538462)* 00997 (v+.7692307692307692)* 00998 (v+.6923076923076923)* 00999 (v+.6153846153846154)* 01000 (v+.5384615384615385)* 01001 (v+.4615384615384615)* 01002 (v+.3846153846153846)* 01003 (v+.3076923076923077)* 01004 (v+.2307692307692308)* 01005 (v+.7692307692307692e-1); 01006 01007 case 13: 01008 return -632304.9998001105* 01009 (v+1.)*v* 01010 (v+.9230769230769231)* 01011 (v+.8461538461538462)* 01012 (v+.7692307692307692)* 01013 (v+.6923076923076923)* 01014 (v+.6153846153846154)* 01015 (v+.5384615384615385)* 01016 (v+.4615384615384615)* 01017 (v+.3846153846153846)* 01018 (v+.3076923076923077)* 01019 (v+.2307692307692308)* 01020 (v+.1538461538461538); 01021 01022 default: 01023 libmesh_error_msg("bad index i = " << i); 01024 } 01025 01026 01027 case FOURTEENTH: 01028 switch (i) 01029 { 01030 case 0: 01031 return 127463.0033762123*v* 01032 (v+.9285714285714286)* 01033 (v+.8571428571428571)* 01034 (v+.7857142857142857)* 01035 (v+.7142857142857143)* 01036 (v+.6428571428571429)* 01037 (v+.5714285714285714)* 01038 (v+.5)* 01039 (v+.4285714285714286)* 01040 (v+.3571428571428571)* 01041 (v+.2857142857142857)* 01042 (v+.2142857142857143)* 01043 (v+.1428571428571429)* 01044 (v+.7142857142857143e-1); 01045 01046 case 1: 01047 return 127463.0033762123* 01048 (v+1.)* 01049 (v+.9285714285714286)* 01050 (v+.8571428571428571)* 01051 (v+.7857142857142857)* 01052 (v+.7142857142857143)* 01053 (v+.6428571428571429)* 01054 (v+.5714285714285714)* 01055 (v+.5)* 01056 (v+.4285714285714286)* 01057 (v+.3571428571428571)* 01058 (v+.2857142857142857)* 01059 (v+.2142857142857143)* 01060 (v+.1428571428571429)* 01061 (v+.7142857142857143e-1); 01062 01063 case 2: 01064 return -1784482.047266971* 01065 (v+1.)*v* 01066 (v+.8571428571428571)* 01067 (v+.7857142857142857)* 01068 (v+.7142857142857143)* 01069 (v+.6428571428571429)* 01070 (v+.5714285714285714)* 01071 (v+.5)* 01072 (v+.4285714285714286)* 01073 (v+.3571428571428571)* 01074 (v+.2857142857142857)* 01075 (v+.2142857142857143)* 01076 (v+.1428571428571429)* 01077 (v+.7142857142857143e-1); 01078 01079 case 3: 01080 return 11599133.30723529* 01081 (v+1.)*v* 01082 (v+.9285714285714286)* 01083 (v+.7857142857142857)* 01084 (v+.7142857142857143)* 01085 (v+.6428571428571429)* 01086 (v+.5714285714285714)* 01087 (v+.5)* 01088 (v+.4285714285714286)* 01089 (v+.3571428571428571)* 01090 (v+.2857142857142857)* 01091 (v+.2142857142857143)* 01092 (v+.1428571428571429)* 01093 (v+.7142857142857143e-1); 01094 01095 case 4: 01096 return -46396533.2289412* 01097 (v+1.)*v* 01098 (v+.9285714285714286)* 01099 (v+.8571428571428571)* 01100 (v+.7142857142857143)* 01101 (v+.6428571428571429)* 01102 (v+.5714285714285714)* 01103 (v+.5)* 01104 (v+.4285714285714286)* 01105 (v+.3571428571428571)* 01106 (v+.2857142857142857)* 01107 (v+.2142857142857143)* 01108 (v+.1428571428571429)* 01109 (v+.7142857142857143e-1); 01110 01111 case 5: 01112 return 127590466.3795883* 01113 (v+1.)*v* 01114 (v+.9285714285714286)* 01115 (v+.8571428571428571)* 01116 (v+.7857142857142857)* 01117 (v+.6428571428571429)* 01118 (v+.5714285714285714)* 01119 (v+.5)* 01120 (v+.4285714285714286)* 01121 (v+.3571428571428571)* 01122 (v+.2857142857142857)* 01123 (v+.2142857142857143)* 01124 (v+.1428571428571429)* 01125 (v+.7142857142857143e-1); 01126 01127 case 6: 01128 return -255180932.7591769* 01129 (v+1.)*v* 01130 (v+.9285714285714286)* 01131 (v+.8571428571428571)* 01132 (v+.7857142857142857)* 01133 (v+.7142857142857143)* 01134 (v+.5714285714285714)* 01135 (v+.5)* 01136 (v+.4285714285714286)* 01137 (v+.3571428571428571)* 01138 (v+.2857142857142857)* 01139 (v+.2142857142857143)* 01140 (v+.1428571428571429)* 01141 (v+.7142857142857143e-1); 01142 01143 case 7: 01144 return 382771399.1387658* 01145 (v+1.)*v* 01146 (v+.9285714285714286)* 01147 (v+.8571428571428571)* 01148 (v+.7857142857142857)* 01149 (v+.7142857142857143)* 01150 (v+.6428571428571429)* 01151 (v+.5)* 01152 (v+.4285714285714286)* 01153 (v+.3571428571428571)* 01154 (v+.2857142857142857)* 01155 (v+.2142857142857143)* 01156 (v+.1428571428571429)* 01157 (v+.7142857142857143e-1); 01158 01159 case 8: 01160 return -437453027.5871608* 01161 (v+1.)*v* 01162 (v+.9285714285714286)* 01163 (v+.8571428571428571)* 01164 (v+.7857142857142857)* 01165 (v+.7142857142857143)* 01166 (v+.6428571428571429)* 01167 (v+.5714285714285714)* 01168 (v+.4285714285714286)* 01169 (v+.3571428571428571)* 01170 (v+.2857142857142857)* 01171 (v+.2142857142857143)* 01172 (v+.1428571428571429)* 01173 (v+.7142857142857143e-1); 01174 01175 case 9: 01176 return 382771399.1387654* 01177 (v+1.)*v* 01178 (v+.9285714285714286)* 01179 (v+.8571428571428571)* 01180 (v+.7857142857142857)* 01181 (v+.7142857142857143)* 01182 (v+.6428571428571429)* 01183 (v+.5714285714285714)* 01184 (v+.5)* 01185 (v+.3571428571428571)* 01186 (v+.2857142857142857)* 01187 (v+.2142857142857143)* 01188 (v+.1428571428571429)* 01189 (v+.7142857142857143e-1); 01190 01191 case 10: 01192 return -255180932.7591768* 01193 (v+1.)*v* 01194 (v+.9285714285714286)* 01195 (v+.8571428571428571)* 01196 (v+.7857142857142857)* 01197 (v+.7142857142857143)* 01198 (v+.6428571428571429)* 01199 (v+.5714285714285714)* 01200 (v+.5)* 01201 (v+.4285714285714286)* 01202 (v+.2857142857142857)* 01203 (v+.2142857142857143)* 01204 (v+.1428571428571429)* 01205 (v+.7142857142857143e-1); 01206 01207 case 11: 01208 return 127590466.3795886* 01209 (v+1.)*v* 01210 (v+.9285714285714286)* 01211 (v+.8571428571428571)* 01212 (v+.7857142857142857)* 01213 (v+.7142857142857143)* 01214 (v+.6428571428571429)* 01215 (v+.5714285714285714)* 01216 (v+.5)* 01217 (v+.4285714285714286)* 01218 (v+.3571428571428571)* 01219 (v+.2142857142857143)* 01220 (v+.1428571428571429)* 01221 (v+.7142857142857143e-1); 01222 01223 case 12: 01224 return -46396533.22894132* 01225 (v+1.)*v* 01226 (v+.9285714285714286)* 01227 (v+.8571428571428571)* 01228 (v+.7857142857142857)* 01229 (v+.7142857142857143)* 01230 (v+.6428571428571429)* 01231 (v+.5714285714285714)* 01232 (v+.5)* 01233 (v+.4285714285714286)* 01234 (v+.3571428571428571)* 01235 (v+.2857142857142857)* 01236 (v+.1428571428571429)* 01237 (v+.7142857142857143e-1); 01238 01239 case 13: 01240 return 11599133.30723532* 01241 (v+1.)*v* 01242 (v+.9285714285714286)* 01243 (v+.8571428571428571)* 01244 (v+.7857142857142857)* 01245 (v+.7142857142857143)* 01246 (v+.6428571428571429)* 01247 (v+.5714285714285714)* 01248 (v+.5)* 01249 (v+.4285714285714286)* 01250 (v+.3571428571428571)* 01251 (v+.2857142857142857)* 01252 (v+.2142857142857143)* 01253 (v+.7142857142857143e-1); 01254 01255 case 14: 01256 return -1784482.047266969* 01257 (v+1.)*v* 01258 (v+.9285714285714286)* 01259 (v+.8571428571428571)* 01260 (v+.7857142857142857)* 01261 (v+.7142857142857143)* 01262 (v+.6428571428571429)* 01263 (v+.5714285714285714)* 01264 (v+.5)* 01265 (v+.4285714285714286)* 01266 (v+.3571428571428571)* 01267 (v+.2857142857142857)* 01268 (v+.2142857142857143)* 01269 (v+.1428571428571429); 01270 01271 default: 01272 libmesh_error_msg("bad index i = " << i); 01273 } 01274 01275 01276 // provided the constructor worked fine, we should never end up here. 01277 default: 01278 libmesh_error_msg("Lagrange polynomials only defined up to 15."); 01279 } // switch (o_radial) 01280 01281 libmesh_error_msg("We'll never get here!"); 01282 return 0.; 01283 } // lagrange_eval() 01284 01285 01286 01287 01288 Real lagrange_eval_deriv(Real v, Order o_radial, unsigned i) 01289 { 01290 libmesh_assert (-1.-1.e-5 <= v && v < 1.); 01291 01292 switch (o_radial) 01293 { 01294 case CONSTANT: 01295 switch (i) 01296 { 01297 case 0: 01298 return 0.; 01299 01300 default: 01301 libmesh_error_msg("bad index i = " << i); 01302 } 01303 01304 01305 case FIRST: 01306 switch (i) 01307 { 01308 case 0: 01309 return -1.; 01310 01311 case 1: 01312 return 1.; 01313 01314 default: 01315 libmesh_error_msg("bad index i = " << i); 01316 } 01317 01318 01319 case SECOND: 01320 switch (i) 01321 { 01322 case 0: 01323 return 4.*v+1.; 01324 01325 case 1: 01326 return 4.*v+3.; 01327 01328 case 2: 01329 return -8.*v-4.; 01330 01331 default: 01332 libmesh_error_msg("bad index i = " << i); 01333 } 01334 01335 01336 case THIRD: 01337 switch (i) 01338 { 01339 case 0: 01340 return -1.+(-9.-13.5*v)*v; 01341 01342 case 1: 01343 return 5.5+(18.+13.5*v)*v; 01344 01345 case 2: 01346 return 4.5+(36.+40.5*v)*v; 01347 01348 case 3: 01349 return -9.+(-45.-40.5*v)*v; 01350 01351 default: 01352 libmesh_error_msg("bad index i = " << i); 01353 } 01354 01355 01356 case FOURTH: 01357 switch (i) 01358 { 01359 case 0: 01360 return 1.+(14.66666666666667+(48.+42.66666666666667*v)*v)*v; 01361 01362 case 1: 01363 return 8.333333333333333+(46.66666666666667+(80.+42.66666666666667*v)*v)*v; 01364 01365 case 2: 01366 return -5.333333333333333+(-74.66666666666667+(-224.-170.6666666666667*v)*v)*v; 01367 01368 case 3: 01369 return 12.+(152.+(384.+256.*v)*v)*v; 01370 01371 case 4: 01372 return -16.+(-138.6666666666667+(-288.-170.6666666666667*v)*v)*v; 01373 01374 default: 01375 libmesh_error_msg("bad index i = " << i); 01376 } 01377 01378 01379 case FIFTH: 01380 switch (i) 01381 { 01382 case 0: 01383 return -1.+(-20.83333333333333+(-109.375+(-208.3333333333333-130.2083333333333*v)*v)*v)*v; 01384 01385 case 1: 01386 return 11.41666666666667+(93.75+(265.625+(312.5+130.2083333333333*v)*v)*v)*v; 01387 01388 case 2: 01389 return 6.25+(127.0833333333333+(640.625+(1145.833333333333+651.0416666666667*v)*v)*v)*v; 01390 01391 case 3: 01392 return -16.66666666666667+(-325.+(-1531.25+(-2500.-1302.083333333333*v)*v)*v)*v; 01393 01394 case 4: 01395 return 25.+(445.8333333333333+(1843.75+(2708.333333333333+1302.083333333333*v)*v)*v)*v; 01396 01397 case 5: 01398 return -25.+(-320.8333333333333+(-1109.375+(-1458.333333333333-651.0416666666667*v)*v)*v)*v; 01399 01400 default: 01401 libmesh_error_msg("bad index i = " << i); 01402 } 01403 01404 01405 case SIXTH: 01406 switch (i) 01407 { 01408 case 0: 01409 return 1.+(27.4+(202.5+(612.+(810.+388.8*v)*v)*v)*v)*v; 01410 01411 case 1: 01412 return 14.7+(162.4+(661.5+(1260.+(1134.+388.8*v)*v)*v)*v)*v; 01413 01414 case 2: 01415 return -7.2+(-194.4+(-1404.+(-4104.+(-5184.-2332.8*v)*v)*v)*v)*v; 01416 01417 case 3: 01418 return 22.5+(594.+(4144.5+(11556.+(13770.+5832.*v)*v)*v)*v)*v; 01419 01420 case 4: 01421 return -40.+(-1016.+(-6696.+(-17424.+(-19440.-7776.*v)*v)*v)*v)*v; 01422 01423 case 5: 01424 return 45.+(1053.+(6223.5+(14796.+(15390.+5832.*v)*v)*v)*v)*v; 01425 01426 case 6: 01427 return -36.+(-626.4+(-3132.+(-6696.+(-6480.-2332.8*v)*v)*v)*v)*v; 01428 01429 default: 01430 libmesh_error_msg("bad index i = " << i); 01431 } 01432 01433 01434 case SEVENTH: 01435 switch (i) 01436 { 01437 case 0: 01438 return -1.000000000000001+ 01439 (-34.30000000000002+ 01440 (-331.5666666666668+ 01441 (-1400.583333333334+ 01442 (-2917.881944444446+ 01443 (-2941.225000000002-1143.809722222223*v)*v)*v)*v)*v)*v; 01444 01445 case 1: 01446 return 18.14999999999999+ 01447 (255.3444444444444+ 01448 (1382.004166666666+ 01449 (3734.888888888888+ 01450 (5368.902777777776+ 01451 (3921.633333333332+1143.809722222222*v)*v)*v)*v)*v)*v; 01452 01453 case 2: 01454 return 8.166666666666662+ 01455 (277.3944444444443+ 01456 (2642.529166666665+ 01457 (10937.88888888888+ 01458 (22175.90277777776+ 01459 (21568.98333333332+8006.668055555551*v)*v)*v)*v)*v)*v; 01460 01461 case 3: 01462 return -29.39999999999998+ 01463 (-984.8999999999994+ 01464 (-9192.399999999994+ 01465 (-37015.41666666664+ 01466 (-72480.18749999995+ 01467 (-67648.17499999996-24020.00416666665*v)*v)*v)*v)*v)*v; 01468 01469 case 4: 01470 return 61.25000000000001+ 01471 (2009.+ 01472 (18186.14583333333+ 01473 (70429.33333333334+ 01474 (131888.2638888889+ 01475 (117649.+40033.34027777778*v)*v)*v)*v)*v)*v; 01476 01477 case 5: 01478 return -81.66666666666667+ 01479 (-2583.388888888889+ 01480 (-22237.83333333334+ 01481 (-81300.52777777778+ 01482 (-144143.3680555556+ 01483 (-122551.0416666667-40033.34027777778*v)*v)*v)*v)*v)*v; 01484 01485 case 6: 01486 return 73.49999999999999+ 01487 (2153.55+ 01488 (16845.5875+ 01489 (56823.66666666666+ 01490 (94539.37499999999+ 01491 (76471.84999999999+24020.00416666666*v)*v)*v)*v)*v)*v; 01492 01493 case 7: 01494 return -49.00000000000003+ 01495 (-1092.700000000001+ 01496 (-7294.466666666671+ 01497 (-22209.25000000001+ 01498 (-34431.00694444447+ 01499 (-26471.02500000002-8006.66805555556*v)*v)*v)*v)*v)*v; 01500 01501 default: 01502 libmesh_error_msg("bad index i = " << i); 01503 } 01504 01505 01506 case EIGHTH: 01507 switch (i) 01508 { 01509 case 0: 01510 return 1.+ 01511 (41.48571428571429+ 01512 (500.2666666666667+ 01513 (2750.577777777778+ 01514 (7964.444444444444+ 01515 (12561.06666666667+ 01516 (10194.48888888889+3328.812698412698*v)*v)*v)*v)*v)*v)*v; 01517 01518 case 1: 01519 return 21.74285714285714+ 01520 (374.9968253968254+ 01521 (2563.2+ 01522 (9122.133333333333+ 01523 (18432.+ 01524 (21299.2+ 01525 (13107.2+3328.812698412698*v)*v)*v)*v)*v)*v)*v; 01526 01527 case 2: 01528 return -9.142857142857143+ 01529 (-376.6857142857143+ 01530 (-4497.066666666667+ 01531 (-24393.95555555556+ 01532 (-69404.44444444444+ 01533 (-107042.1333333333+ 01534 (-84468.62222222222-26630.50158730159*v)*v)*v)*v)*v)*v)*v; 01535 01536 case 3: 01537 return 37.33333333333333+ 01538 (1523.911111111111+ 01539 (17952.+ 01540 (95675.73333333333+ 01541 (266240.+ 01542 (399769.6+ 01543 (305834.6666666667+93206.75555555556*v)*v)*v)*v)*v)*v)*v; 01544 01545 case 4: 01546 return -89.6+ 01547 (-3609.6+ 01548 (-41736.53333333333+ 01549 (-217179.0222222222+ 01550 (-587320.8888888889+ 01551 (-854152.5333333333+ 01552 (-632058.3111111111-186413.5111111111*v)*v)*v)*v)*v)*v)*v; 01553 01554 case 5: 01555 return 140.+ 01556 (5528.+ 01557 (62165.33333333333+ 01558 (312689.7777777778+ 01559 (814648.8888888889+ 01560 (1141418.666666667+ 01561 (815559.1111111111+233016.8888888889*v)*v)*v)*v)*v)*v)*v; 01562 01563 case 6: 01564 return -149.3333333333333+ 01565 (-5697.422222222222+ 01566 (-61209.6+ 01567 (-292727.4666666667+ 01568 (-727040.+ 01569 (-976486.4+ 01570 (-672836.2666666667-186413.5111111111*v)*v)*v)*v)*v)*v)*v; 01571 01572 case 7: 01573 return 112.+ 01574 (3974.4+ 01575 (39153.06666666667+ 01576 (173954.8444444444+ 01577 (407324.4444444444+ 01578 (522103.4666666667+ 01579 (346612.6222222222+93206.75555555556*v)*v)*v)*v)*v)*v)*v; 01580 01581 case 8: 01582 return -64.+ 01583 (-1759.085714285714+ 01584 (-14890.66666666667+ 01585 (-59892.62222222222+ 01586 (-130844.4444444444+ 01587 (-159470.9333333333+ 01588 (-101944.8888888889-26630.50158730159*v)*v)*v)*v)*v)*v)*v; 01589 01590 default: 01591 libmesh_error_msg("bad index i = " << i); 01592 } 01593 01594 01595 case NINTH: 01596 switch (i) 01597 { 01598 case 0: 01599 return -.9999999999999998+ 01600 (-48.92142857142856+ 01601 (-711.9080357142856+ 01602 (-4866.074999999999+ 01603 (-18264.8671875+ 01604 (-39858.07499999999+ 01605 (-50376.17812499999+ 01606 (-34164.06428571428-9608.643080357141*v)*v)*v)*v)*v)*v)*v)*v; 01607 01608 case 1: 01609 return 25.46071428571428+ 01610 (523.5267857142855+ 01611 (4361.464285714284+ 01612 (19477.96874999999+ 01613 (51479.92968749998+ 01614 (83037.65624999997+ 01615 (80269.73437499997+ 01616 (42705.08035714284+9608.643080357139*v)*v)*v)*v)*v)*v)*v)*v; 01617 01618 case 2: 01619 return 10.12500000000002+ 01620 (492.7982142857151+ 01621 (7119.466071428583+ 01622 (48200.56875000008+ 01623 (178735.9921875003+ 01624 (384187.5562500006+ 01625 (476636.1468750008+ 01626 (316017.5946428576+86477.78772321442*v)*v)*v)*v)*v)*v)*v)*v; 01627 01628 case 3: 01629 return -46.28571428571434+ 01630 (-2237.914285714288+ 01631 (-32031.73928571432+ 01632 (-214253.1000000003+ 01633 (-782604.2812500009+ 01634 (-1651895.775000002+ 01635 (-2006189.775000002+ 01636 (-1298234.442857144-345911.1508928576*v)*v)*v)*v)*v)*v)*v)*v; 01637 01638 case 4: 01639 return 126.+ 01640 (6038.1+ 01641 (85360.8375+ 01642 (562004.325+ 01643 (2014021.96875+ 01644 (4158525.825+ 01645 (4929115.275+ 01646 (3108929.85+807126.01875*v)*v)*v)*v)*v)*v)*v)*v; 01647 01648 case 5: 01649 return -226.7999999999999+ 01650 (-10732.49999999999+ 01651 (-149126.0624999999+ 01652 (-961004.2499999995+ 01653 (-3359744.578124998+ 01654 (-6753729.374999997+ 01655 (-7788932.156249996+ 01656 (-4782968.999999998-1210689.028124999*v)*v)*v)*v)*v)*v)*v)*v; 01657 01658 case 6: 01659 return 283.5+ 01660 (13160.475+ 01661 (178213.1625+ 01662 (1113994.0125+ 01663 (3769397.015624999+ 01664 (7336100.137499999+ 01665 (8207441.943749999+ 01666 (4902543.224999999+1210689.028125*v)*v)*v)*v)*v)*v)*v)*v; 01667 01668 case 7: 01669 return -252.0000000000001+ 01670 (-11320.2+ 01671 (-146952.2250000001+ 01672 (-877643.1000000003+ 01673 (-2844398.531250001+ 01674 (-5327696.025000002+ 01675 (-5766134.850000002+ 01676 (-3348078.300000001-807126.0187500003*v)*v)*v)*v)*v)*v)*v)*v; 01677 01678 case 8: 01679 return 162.+ 01680 (6791.271428571428+ 01681 (81375.92678571428+ 01682 (453820.725+ 01683 (1391547.09375+ 01684 (2493344.025+ 01685 (2604060.9+ 01686 (1469054.764285714+345911.1508928571*v)*v)*v)*v)*v)*v)*v)*v; 01687 01688 case 9: 01689 return -81.00000000000004+ 01690 (-2666.635714285716+ 01691 (-27608.92232142859+ 01692 (-139731.0750000001+ 01693 (-400169.7421875002+ 01694 (-682015.9500000004+ 01695 (-685891.0406250004+ 01696 (-375804.7071428573-86477.78772321433*v)*v)*v)*v)*v)*v)*v)*v; 01697 01698 default: 01699 libmesh_error_msg("bad index i = " << i); 01700 } 01701 01702 01703 case TENTH: 01704 switch (i) 01705 { 01706 case 0: 01707 return 1.+ 01708 (56.57936507936509+ 01709 (969.4940476190478+ 01710 (7977.072310405645+ 01711 (37109.37500000001+ 01712 (104618.0555555556+ 01713 (182291.6666666667+ 01714 (191798.9417989418+ 01715 (111607.1428571429+27557.3192239859*v)*v)*v)*v)*v)*v)*v)*v)*v; 01716 01717 case 1: 01718 return 29.28968253968254+ 01719 (702.9087301587303+ 01720 (6952.298280423282+ 01721 (37664.57231040565+ 01722 (124291.087962963+ 01723 (260868.0555555556+ 01724 (350115.7407407408+ 01725 (291005.2910052911+ 01726 (136408.7301587302+27557.3192239859*v)*v)*v)*v)*v)*v)*v)*v)*v; 01727 01728 case 2: 01729 return -11.11111111111111+ 01730 (-626.190476190476+ 01731 (-10671.49470899471+ 01732 (-87187.38977072308+ 01733 (-402025.4629629629+ 01734 (-1121180.555555555+ 01735 (-1928240.74074074+ 01736 (-1997354.497354497+ 01737 (-1140873.015873016-275573.1922398588*v)*v)*v)*v)*v)*v)*v)*v)*v; 01738 01739 case 3: 01740 return 56.24999999999993+ 01741 (3154.464285714282+ 01742 (53393.30357142851+ 01743 (432433.5317460312+ 01744 (1972612.84722222+ 01745 (5430729.16666666+ 01746 (9199652.777777767+ 01747 (9365079.365079354+ 01748 (5245535.714285708+1240079.365079364*v)*v)*v)*v)*v)*v)*v)*v)*v; 01749 01750 case 4: 01751 return -171.4285714285714+ 01752 (-9552.380952380949+ 01753 (-160278.5714285714+ 01754 (-1283804.232804232+ 01755 (-5778472.22222222+ 01756 (-15662499.99999999+ 01757 (-26069444.44444444+ 01758 (-26031746.03174602+ 01759 (-14285714.28571428-3306878.306878306*v)*v)*v)*v)*v)*v)*v)*v)*v; 01760 01761 case 5: 01762 return 350.0000000000001+ 01763 (19336.11111111112+ 01764 (320686.8055555557+ 01765 (2531768.518518519+ 01766 (11203732.63888889+ 01767 (29794791.66666668+ 01768 (48586805.55555557+ 01769 (47500000.00000002+ 01770 (25520833.33333334+5787037.037037039*v)*v)*v)*v)*v)*v)*v)*v)*v; 01771 01772 case 6: 01773 return -504.0000000000003+ 01774 (-27508.00000000002+ 01775 (-448875.0000000003+ 01776 (-3474944.444444447+ 01777 (-15041319.44444445+ 01778 (-39072083.33333336+ 01779 (-62222222.22222226+ 01780 (-59444444.44444448+ 01781 (-31250000.00000002-6944444.444444449*v)*v)*v)*v)*v)*v)*v)*v)*v; 01782 01783 case 7: 01784 return 525.0000000000002+ 01785 (28129.16666666668+ 01786 (448056.2500000002+ 01787 (3373087.962962964+ 01788 (14176475.69444445+ 01789 (35773958.33333335+ 01790 (55440972.22222224+ 01791 (51666666.66666669+ 01792 (26562500.00000001+5787037.037037039*v)*v)*v)*v)*v)*v)*v)*v)*v; 01793 01794 case 8: 01795 return -399.9999999999999+ 01796 (-20765.07936507936+ 01797 (-317919.8412698412+ 01798 (-2294915.343915343+ 01799 (-9270138.888888886+ 01800 (-22579166.66666666+ 01801 (-33930555.55555554+ 01802 (-30793650.79365078+ 01803 (-15476190.47619047-3306878.306878306*v)*v)*v)*v)*v)*v)*v)*v)*v; 01804 01805 case 9: 01806 return 224.9999999999997+ 01807 (10930.35714285713+ 01808 (155254.0178571427+ 01809 (1050662.698412697+ 01810 (4026519.097222217+ 01811 (9399479.166666656+ 01812 (13647569.44444443+ 01813 (12043650.79365078+ 01814 (5915178.571428564+1240079.365079364*v)*v)*v)*v)*v)*v)*v)*v)*v; 01815 01816 case 10: 01817 return -99.99999999999998+ 01818 (-3857.936507936507+ 01819 (-47567.26190476189+ 01820 (-292742.9453262786+ 01821 (-1048784.722222222+ 01822 (-2329513.888888888+ 01823 (-3256944.444444444+ 01824 (-2791005.29100529+ 01825 (-1339285.714285714-275573.1922398588*v)*v)*v)*v)*v)*v)*v)*v)*v; 01826 01827 default: 01828 libmesh_error_msg("bad index i = " << i); 01829 } 01830 01831 01832 case ELEVENTH: 01833 switch (i) 01834 { 01835 case 0: 01836 return -.9999999999999994+ 01837 (-64.43730158730155+ 01838 (-1275.779345238094+ 01839 (-12338.01201499117+ 01840 (-68930.87539958109+ 01841 (-240206.4480902776+ 01842 (-539167.6189293978+ 01843 (-779744.6068121688+ 01844 (-701770.1461309519+ 01845 (-357382.9447889107-78624.24785356036*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01846 01847 case 1: 01848 return 33.2186507936508+ 01849 (914.9568650793652+ 01850 (10529.28835648148+ 01851 (67482.7123346561+ 01852 (269102.9154748127+ 01853 (702350.1214583334+ 01854 (1221444.149890046+ 01855 (1403540.292261905+ 01856 (1023414.796440972+ 01857 (428859.5337466932+78624.24785356042*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01858 01859 case 2: 01860 return 12.1+ 01861 (777.2713492063492+ 01862 (15323.969375+ 01863 (147397.3637345679+ 01864 (818004.6489266424+ 01865 (2827608.196111111+ 01866 (6286078.696244213+ 01867 (8988328.740343915+ 01868 (7982635.412239583+ 01869 (4002688.981635802+864866.7263891644*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01870 01871 case 3: 01872 return -67.22222222222232+ 01873 (-4301.74206349207+ 01874 (-84371.62344576732+ 01875 (-806241.7181878318+ 01876 (-4438664.17533345+ 01877 (-15197594.39114585+ 01878 (-33411814.74551509+ 01879 (-47167460.12480165+ 01880 (-41287476.93070442+ 01881 (-20370827.85296795-4324333.631945828*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01882 01883 case 4: 01884 return 226.8750000000001+ 01885 (14449.05654761906+ 01886 (281570.0790178573+ 01887 (2668897.916302912+ 01888 (14550507.15751076+ 01889 (49254931.92812503+ 01890 (106890177.8054688+ 01891 (148732739.4557541+ 01892 (128160772.9371653+ 01893 (62184632.39327054+12973000.89583747*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01894 01895 case 5: 01896 return -518.5714285714285+ 01897 (-32822.69047619047+ 01898 (-634337.9624999999+ 01899 (-5951161.742195766+ 01900 (-32053476.18047288+ 01901 (-107015202.0322916+ 01902 (-228727286.4230902+ 01903 (-313117079.7464285+ 01904 (-265269115.2375+ 01905 (-126513562.4552744-25946001.79167493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01906 01907 case 6: 01908 return 847.0000000000005+ 01909 (53166.72777777781+ 01910 (1016244.195694445+ 01911 (9406923.838888894+ 01912 (49889787.88686346+ 01913 (163758669.9375001+ 01914 (343777378.7658683+ 01915 (462062476.8222225+ 01916 (384394597.5432294+ 01917 (180121004.1736112+36324402.50834493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01918 01919 case 7: 01920 return -1016.400000000001+ 01921 (-63054.71333333338+ 01922 (-1186862.682500001+ 01923 (-10787827.71203705+ 01924 (-56070259.81307875+ 01925 (-180193958.0397918+ 01926 (-370348948.3898267+ 01927 (-487666454.2750004+ 01928 (-397903672.8562503+ 01929 (-183123020.9098381-36324402.50834493*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01930 01931 case 8: 01932 return 907.4999999999995+ 01933 (55300.60119047616+ 01934 (1017370.052678571+ 01935 (9010082.051521159+ 01936 (45578544.75252147+ 01937 (142643877.2687499+ 01938 (285964084.8567707+ 01939 (368067808.7646823+ 01940 (294217133.7654016+ 01941 (132946455.4614748+25946001.79167492*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01942 01943 case 9: 01944 return -604.9999999999997+ 01945 (-35757.90079365078+ 01946 (-633654.9006944442+ 01947 (-5395757.537499998+ 01948 (-26303245.82287532+ 01949 (-79634435.01406247+ 01950 (-155083710.9469617+ 01951 (-194666785.3843253+ 01952 (-152284121.7104166+ 01953 (-67545376.56510414-12973000.89583746*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01954 01955 case 10: 01956 return 302.4999999999999+ 01957 (16769.78373015873+ 01958 (276810.9617559523+ 01959 (2216865.917570546+ 01960 (10275947.41824432+ 01961 (29863105.35694444+ 01962 (56249470.99094327+ 01963 (68702588.44748676+ 01964 (52545039.69155505+ 01965 (22872508.46649029+4324333.631945821*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01966 01967 case 11: 01968 return -121.0000000000002+ 01969 (-5376.9134920635+ 01970 (-77345.59839285725+ 01971 (-564323.0784171084+ 01972 (-2447317.912381507+ 01973 (-6769146.883506954+ 01974 (-12277707.14086229+ 01975 (-14559958.38538362+ 01976 (-10877437.26502978+ 01977 (-4645978.282255849-864866.7263891657*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01978 01979 default: 01980 libmesh_error_msg("bad index i = " << i); 01981 } 01982 01983 01984 case TWELFTH: 01985 switch (i) 01986 { 01987 case 0: 01988 return .9999999999999998+ 01989 (72.47705627705626+ 01990 (1633.311428571428+ 01991 (18226.50666666666+ 01992 (119469.4285714285+ 01993 (498933.257142857+ 01994 (1381121.28+ 01995 (2566761.325714285+ 01996 (3167275.885714285+ 01997 (2488319.999999999+ 01998 (1126142.537142857+223367.1148051948*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 01999 02000 case 1: 02001 return 37.23852813852813+ 02002 (1161.351341991342+ 02003 (15303.19142857143+ 02004 (113802.0495238095+ 02005 (535247.1428571427+ 02006 (1682751.497142857+ 02007 (3627037.439999999+ 02008 (5382117.668571427+ 02009 (5406763.885714285+ 02010 (3512085.942857142+ 02011 (1330895.725714285+223367.1148051948*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02012 02013 case 2: 02014 return -13.09090909090911+ 02015 (-946.410389610391+ 02016 (-21256.04571428574+ 02017 (-236192.3657142861+ 02018 (-1540134.857142859+ 02019 (-6392069.485714295+ 02020 (-17564843.52000003+ 02021 (-32365222.76571433+ 02022 (-39542959.5428572+ 02023 (-30712978.28571433+ 02024 (-13718463.63428573-2680405.377662341*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02025 02026 case 3: 02027 return 79.19999999999997+ 02028 (5708.502857142855+ 02029 (127693.2342857142+ 02030 (1411707.84+ 02031 (9148841.14285714+ 02032 (37695557.21142856+ 02033 (102712458.24+ 02034 (187435903.2685714+ 02035 (226508214.8571428+ 02036 (173784268.7999999+ 02037 (76577692.52571426+14742229.57714285*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02038 02039 case 4: 02040 return -293.3333333333333+ 02041 (-21064.38095238095+ 02042 (-468865.8285714286+ 02043 (-5151708.952380953+ 02044 (-33141236.57142857+ 02045 (-135381015.7714286+ 02046 (-365282265.6+ 02047 (-659300527.5428572+ 02048 (-787148039.3142857+ 02049 (-596059282.2857143+ 02050 (-259012783.5428571-49140765.25714286*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02051 02052 case 5: 02053 return 742.4999999999988+ 02054 (53071.7142857142+ 02055 (1174043.699999998+ 02056 (12802072.11428569+ 02057 (81618641.99999987+ 02058 (329991648.6857138+ 02059 (880198099.1999986+ 02060 (1568889314.742855+ 02061 (1848249446.399997+ 02062 (1380164461.714284+ 02063 (591224831.9999991+110566721.8285713*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02064 02065 case 6: 02066 return -1357.714285714284+ 02067 (-96463.54285714276+ 02068 (-2117125.851428569+ 02069 (-22864004.02285712+ 02070 (-144144041.142857+ 02071 (-575530346.0571423+ 02072 (-1514417679.359998+ 02073 (-2660955375.908569+ 02074 (-3088957791.085711+ 02075 (-2272760393.142855+ 02076 (-959473441.6457133-176906754.9257141*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02077 02078 case 7: 02079 return 1848.+ 02080 (130241.6+ 02081 (2828541.120000001+ 02082 (30164287.36000001+ 02083 (187472016.+ 02084 (737031225.6000001+ 02085 (1908272701.44+ 02086 (3298536898.560001+ 02087 (3767714611.200001+ 02088 (2729189376.+ 02089 (1135151677.44+206391214.08*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02090 02091 case 8: 02092 return -1900.800000000001+ 02093 (-132442.1485714286+ 02094 (-2834453.211428572+ 02095 (-29714158.08000001+ 02096 (-181251195.4285715+ 02097 (-698873880.1371431+ 02098 (-1774822855.680001+ 02099 (-3011083328.365715+ 02100 (-3379195435.885715+ 02101 (-2407897497.600001+ 02102 (-986500862.5371432-176906754.9257143*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02103 02104 case 9: 02105 return 1485.000000000001+ 02106 (101688.4285714286+ 02107 (2129312.185714287+ 02108 (21783070.2857143+ 02109 (129558540.8571429+ 02110 (487399661.4857146+ 02111 (1209468153.600001+ 02112 (2008852728.685716+ 02113 (2211622370.742859+ 02114 (1549085842.285715+ 02115 (625009108.1142861+110566721.8285715*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02116 02117 case 10: 02118 return -879.9999999999996+ 02119 (-58499.8095238095+ 02120 (-1181984.914285714+ 02121 (-11651825.06666666+ 02122 (-66923129.14285712+ 02123 (-243989962.9714285+ 02124 (-589005043.1999998+ 02125 (-955168885.028571+ 02126 (-1030036509.257142+ 02127 (-708673535.9999997+ 02128 (-281535634.2857142-49140765.25714284*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02129 02130 case 11: 02131 return 395.9999999999998+ 02132 (24740.91428571427+ 02133 (467174.4685714284+ 02134 (4342689.325714284+ 02135 (23761844.57142856+ 02136 (83264161.37142853+ 02137 (194582062.0799999+ 02138 (307216518.582857+ 02139 (324021920.9142856+ 02140 (218829970.2857142+ 02141 (85586832.8228571+14742229.57714285*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02142 02143 case 12: 02144 return -144.0000000000002+ 02145 (-7268.696103896113+ 02146 (-120015.3600000001+ 02147 (-1017966.994285716+ 02148 (-5214864.000000006+ 02149 (-17396664.68571431+ 02150 (-39148945.92000005+ 02151 (-60006903.22285722+ 02152 (-61809868.80000008+ 02153 (-40950637.71428576+ 02154 (-15765995.52000002-2680405.377662341*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02155 02156 default: 02157 libmesh_error_msg("bad index i = " << i); 02158 } 02159 02160 02161 case THIRTEENTH: 02162 switch (i) 02163 { 02164 case 0: 02165 return -1.+ 02166 (-80.68347763347765+ 02167 (-2044.462258297259+ 02168 (-25942.2157164903+ 02169 (-195933.4211304931+ 02170 (-958398.5214740412+ 02171 (-3173506.650750547+ 02172 (-7259032.308898811+ 02173 (-11486892.61199839+ 02174 (-12346784.01976549+ 02175 (-8601592.867103291+ 02176 (-3501996.921969848-632304.9998001114*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02177 02178 case 1: 02179 return 41.34173881673884+ 02180 (1443.658316498317+ 02181 (21501.124045665+ 02182 (182688.9526208849+ 02183 (994598.8556921946+ 02184 (3678547.079260226+ 02185 (9525159.921037011+ 02186 (17469603.51956405+ 02187 (22598998.22978734+ 02188 (20166413.89895031+ 02189 (11811756.71224232+ 02190 (4085663.075631491+632304.9998001117*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02191 02192 case 2: 02193 return 14.0833333333333+ 02194 (1133.945087782585+ 02195 (28654.62116838017+ 02196 (362353.3209476036+ 02197 (2725399.981313606+ 02198 (13265700.68549035+ 02199 (43674200.44979463+ 02200 (99236897.21980192+ 02201 (155839062.2764586+ 02202 (166048415.8555637+ 02203 (114536999.7566909+ 02204 (46109626.13926956+8219964.997401429*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02205 02206 case 3: 02207 return -92.18181818181805+ 02208 (-7404.029004328994+ 02209 (-186493.2485281383+ 02210 (-2348815.46078042+ 02211 (-17580908.74629903+ 02212 (-85087791.92399955+ 02213 (-278293001.5682587+ 02214 (-627605520.9915996+ 02215 (-977247224.5855008+ 02216 (-1031431341.958869+ 02217 (-704013624.8070271+ 02218 (-280159753.7575874-49319789.98440861*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02219 02220 case 4: 02221 return 371.8000000000002+ 02222 (29775.036984127+ 02223 (747066.9209920639+ 02224 (9363907.89718475+ 02225 (69688340.39763103+ 02226 (335036414.4353251+ 02227 (1087492542.853534+ 02228 (2431673317.636533+ 02229 (3750776185.102226+ 02230 (3918109445.780044+ 02231 (2644763448.927234+ 02232 (1040093085.825045+180839229.9428319*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02233 02234 case 5: 02235 return -1032.777777777779+ 02236 (-82410.07804232813+ 02237 (-2057912.1728836+ 02238 (-25644457.74177325+ 02239 (-189543869.9955658+ 02240 (-904096807.162213+ 02241 (-2908738078.894543+ 02242 (-6440986214.655237+ 02243 (-9830892990.478734+ 02244 (-10155071564.15431+ 02245 (-6774886171.378993+ 02246 (-2632334353.014005-452098074.8570801*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02247 02248 case 6: 02249 return 2091.375+ 02250 (166125.1892857143+ 02251 (4123916.218616072+ 02252 (51020732.59433532+ 02253 (373953022.277135+ 02254 (1766886624.747501+ 02255 (5625702404.785355+ 02256 (12318759910.9515+ 02257 (18582195606.11107+ 02258 (18963235625.43443+ 02259 (12496303574.24485+ 02260 (4795984784.637706+813776534.7427433*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02261 02262 case 7: 02263 return -3186.857142857142+ 02264 (-251663.5333333333+ 02265 (-6200036.526666666+ 02266 (-76008876.2598148+ 02267 (-551305314.9444829+ 02268 (-2574950087.743402+ 02269 (-8097779517.245471+ 02270 (-17504674905.19222+ 02271 (-26060004891.47182+ 02272 (-26247363320.78761+ 02273 (-17074614556.61409+ 02274 (-6471690311.800277-1085035379.656991*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02275 02276 case 8: 02277 return 3717.999999999998+ 02278 (291305.8365079364+ 02279 (7104538.462460314+ 02280 (86064016.71082448+ 02281 (615956862.0470787+ 02282 (2836014413.233886+ 02283 (8787496836.24099+ 02284 (18714249266.16391+ 02285 (27455001535.18193+ 02286 (27263598620.87599+ 02287 (17498356184.17243+ 02288 (6548734244.083612+1085035379.656991*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02289 02290 case 9: 02291 return -3346.199999999998+ 02292 (-259275.2128571427+ 02293 (-6234980.857857139+ 02294 (-74314814.73490075+ 02295 (-522619068.6865779+ 02296 (-2363180534.798538+ 02297 (-7192365653.835081+ 02298 (-15054787917.48891+ 02299 (-21728631050.65575+ 02300 (-21251474605.34373+ 02301 (-13449722236.25113+ 02302 (-4969333632.275211-813776534.7427428*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02303 02304 case 10: 02305 return 2323.75+ 02306 (177031.3561507936+ 02307 (4169023.658209325+ 02308 (48551880.14924492+ 02309 (333412303.9596687+ 02310 (1473130923.654975+ 02311 (4387072985.810989+ 02312 (9001260757.284597+ 02313 (12758505432.0885+ 02314 (12276977202.42297+ 02315 (7657681228.792217+ 02316 (2792842545.270953+452098074.8570795*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02317 02318 case 11: 02319 return -1239.333333333332+ 02320 (-91731.50105820099+ 02321 (-2087506.053492062+ 02322 (-23468266.89172691+ 02323 (-155895856.7716664+ 02324 (-668508962.9727646+ 02325 (-1939086147.461385+ 02326 (-3888161778.825734+ 02327 (-5402206035.376699+ 02328 (-5109035910.537828+ 02329 (-3139128681.07864+ 02330 (-1129977673.488937-180839229.9428317*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02331 02332 case 12: 02333 return 507.0000000000001+ 02334 (35329.52316017317+ 02335 (753439.2988852815+ 02336 (8004952.597863758+ 02337 (50738883.86584271+ 02338 (209350649.6495577+ 02339 (588284837.5399432+ 02340 (1149033869.66415+ 02341 (1561914935.552244+ 02342 (1450272246.013992+ 02343 (877362472.4445357+ 02344 (311677726.0553165+49319789.98440869*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02345 02346 case 13: 02347 return -168.9999999999998+ 02348 (-9579.507720057708+ 02349 (-179166.9826911975+ 02350 (-1739358.918309081+ 02351 (-10328458.8186393+ 02352 (-40580690.36360362+ 02353 (-109813061.9461516+ 02354 (-208208252.9774634+ 02355 (-276362669.3617079+ 02356 (-251684443.4798346+ 02357 (-149848802.0532203+ 02358 (-52529953.82954764-8219964.997401437*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02359 02360 default: 02361 libmesh_error_msg("bad index i = " << i); 02362 } 02363 02364 02365 case FOURTEENTH: 02366 switch (i) 02367 { 02368 case 0: 02369 return 1.000000000000001+ 02370 (89.0437451437452+ 02371 (2511.452929292931+ 02372 (35805.84699214368+ 02373 (307157.435133745+ 02374 (1728831.305617285+ 02375 (6694701.358837453+ 02376 (18287612.31917697+ 02377 (35556011.50111113+ 02378 (48922521.07901238+ 02379 (46544481.35786011+ 02380 (29116191.77122336+ 02381 (10770623.78528994+1784482.047266973*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02382 02383 case 1: 02384 return 45.52187257187257+ 02385 (1763.345698005698+ 02386 (29365.83817340067+ 02387 (281531.7950991395+ 02388 (1747850.189814815+ 02389 (7467146.756049383+ 02390 (22696362.13811728+ 02391 (49892955.87572016+ 02392 (79586280.47222222+ 02393 (91235685.94979424+ 02394 (73234323.81481481+ 02395 (39058306.0345679+ 02396 (12427642.8291807+1784482.047266972*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02397 02398 case 2: 02399 return -15.07692307692307+ 02400 (-1340.186169386169+ 02401 (-37713.82505050504+ 02402 (-536175.4596184062+ 02403 (-4584016.86584362+ 02404 (-25698683.17679012+ 02405 (-99057107.66633743+ 02406 (-269159338.175144+ 02407 (-520164399.5644443+ 02408 (-710821314.4148147+ 02409 (-671058896.060576+ 02410 (-416148497.0228506+ 02411 (-152445752.0379498-24982748.6617376*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02412 02413 case 3: 02414 return 106.1666666666664+ 02415 (9418.0887205387+ 02416 (264331.1471464641+ 02417 (3745715.752540209+ 02418 (31899113.16882709+ 02419 (178017355.746049+ 02420 (682587693.1574368+ 02421 (1843708348.548309+ 02422 (3539222709.936659+ 02423 (4800352165.04608+ 02424 (4494355579.027644+ 02425 (2761777312.15335+ 02426 (1001668012.031962+162387866.3012941*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02427 02428 case 4: 02429 return -463.2727272727266+ 02430 (-40998.84444444439+ 02431 (-1147094.434747473+ 02432 (-16192604.75699212+ 02433 (-137271541.0485595+ 02434 (-762026508.285431+ 02435 (-2904385776.815469+ 02436 (-7792130969.395215+ 02437 (-14846386660.68442+ 02438 (-19971946670.39009+ 02439 (-18532980221.46894+ 02440 (-11280038782.78319+ 02441 (-4049754543.269010-649551465.2051768*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02442 02443 case 5: 02444 return 1401.399999999998+ 02445 (123664.7844444442+ 02446 (3447032.944444439+ 02447 (48436585.99197523+ 02448 (408409296.5789602+ 02449 (2253197088.95512+ 02450 (8528314129.288823+ 02451 (22705190993.54646+ 02452 (42899311094.9277+ 02453 (57192419912.08138+ 02454 (52567132654.44024+ 02455 (31676286194.03451+ 02456 (11255301855.62796+1786266529.314236*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02457 02458 case 6: 02459 return -3114.222222222221+ 02460 (-273841.7629629629+ 02461 (-7598211.423703702+ 02462 (-106176407.7618107+ 02463 (-889486589.4962961+ 02464 (-4871457715.624196+ 02465 (-18289286459.60543+ 02466 (-48264587628.2762+ 02467 (-90336942561.1022+ 02468 (-119250255953.088+ 02469 (-108490582744.8178+ 02470 (-64696178115.65826+ 02471 (-22747557434.53234-3572533058.628476*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02472 02473 case 7: 02474 return 5255.250000000005+ 02475 (460064.2666666671+ 02476 (12692565.01916668+ 02477 (176150443.0362965+ 02478 (1464070863.601545+ 02479 (7947918838.465933+ 02480 (29555009192.81537+ 02481 (77204332615.9018+ 02482 (142978921074.0568+ 02483 (186702987302.2742+ 02484 (168009721889.5444+ 02485 (99106545732.11268+ 02486 (34476766736.71312+5358799587.942721*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02487 02488 case 8: 02489 return -6864.000000000005+ 02490 (-597468.2666666671+ 02491 (-16363002.50666668+ 02492 (-225121477.611852+ 02493 (-1852739107.920989+ 02494 (-9950118584.456304+ 02495 (-36579967858.71213+ 02496 (-94431878855.5576+ 02497 (-172801677847.3068+ 02498 (-222974303851.9113+ 02499 (-198322454721.1221+ 02500 (-115675079151.9764+ 02501 (-39808225510.43164-6124342386.220252*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02502 02503 case 9: 02504 return 7007.+ 02505 (605244.1888888889+ 02506 (16415290.29777778+ 02507 (223285445.4038272+ 02508 (1814617394.563426+ 02509 (9615694831.261296+ 02510 (34866622054.4775+ 02511 (88774809190.10321+ 02512 (160266060424.7967+ 02513 (204118806975.1876+ 02514 (179312358692.2474+ 02515 (103371712751.0874+ 02516 (35187627906.54222+5358799587.942716*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02517 02518 case 10: 02519 return -5605.599999999996+ 02520 (-478963.4577777775+ 02521 (-12815269.44444444+ 02522 (-171640517.3604937+ 02523 (-1371951477.497941+ 02524 (-7147541864.43802+ 02525 (-25485507407.83126+ 02526 (-63848350696.57444+ 02527 (-113517642944.8444+ 02528 (-142532726188.3604+ 02529 (-123573040616.0328+ 02530 (-70383067474.29131+ 02531 (-23695372327.63784-3572533058.628475*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02532 02533 case 11: 02534 return 3503.500000000003+ 02535 (294447.2611111113+ 02536 (7720974.358611117+ 02537 (101146405.0471606+ 02538 (790417783.0809677+ 02539 (4028557079.079386+ 02540 (14071398696.88138+ 02541 (34590639213.49616+ 02542 (60449325371.26783+ 02543 (74730994261.10376+ 02544 (63894320392.36532+ 02545 (35941453213.00941+ 02546 (11966163025.45713+1786266529.31424*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02547 02548 case 12: 02549 return -1698.666666666669+ 02550 (-138798.752861953+ 02551 (-3521413.568484853+ 02552 (-44599342.83238314+ 02553 (-337623011.738272+ 02554 (-1672128961.184199+ 02555 (-5694412271.43013+ 02556 (-13691005583.17104+ 02557 (-23467659366.85336+ 02558 (-28527575611.29551+ 02559 (-24035365582.07213+ 02560 (-13347998549.55889+ 02561 (-4394414504.398299-649551465.2051785*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02562 02563 case 13: 02564 return 637.0000000000005+ 02565 (49076.86565656569+ 02566 (1169569.725050506+ 02567 (14025401.12147027+ 02568 (101447432.0348252+ 02569 (483898256.0019139+ 02570 (1597498806.855073+ 02571 (3742961181.708809+ 02572 (6278720198.481116+ 02573 (7494910301.597536+ 02574 (6218035822.71984+ 02575 (3408014739.270754+ 02576 (1109374249.884864+162387866.3012945*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02577 02578 case 14: 02579 return -195.9999999999997+ 02580 (-12356.57404817403+ 02581 (-258935.5802020198+ 02582 (-2840808.212210995+ 02583 (-19261146.08559668+ 02584 (-87507110.40641962+ 02585 (-278204754.9117691+ 02586 (-632709040.3499579+ 02587 (-1036229385.084443+ 02588 (-1212999534.859257+ 02589 (-990221053.9430438+ 02590 (-535453868.1829846+ 02591 (-172329980.5646387-24982748.66173757*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v)*v; 02592 02593 default: 02594 libmesh_error_msg("bad index i = " << i); 02595 } 02596 02597 02598 // provided the constructor worked fine, we should never end up here. 02599 default: 02600 libmesh_error_msg("Lagrange polynomials only defined up to 15."); 02601 } // switch (o_radial) 02602 02603 libmesh_error_msg("We'll never get here!"); 02604 return 0.; 02605 } // lagrange_eval_deriv() 02606 02607 } // anonymous namespace 02608 02609 02610 02611 // Specialize the eval() function for 1, 2, and 3 dimensions and the CARTESIAN mapping type 02612 // to call the local helper function from the anonymous namespace. 02613 template <> Real InfFE<1,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); } 02614 template <> Real InfFE<2,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); } 02615 template <> Real InfFE<3,LAGRANGE,CARTESIAN>::eval(Real v, Order o, unsigned i) { return lagrange_eval(v, o, i); } 02616 02617 // Specialize the eval_deriv() function for 1, 2, and 3 dimensions and the CARTESIAN mapping type 02618 // to call the local helper function from the anonymous namespace. 02619 template <> Real InfFE<1,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); } 02620 template <> Real InfFE<2,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); } 02621 template <> Real InfFE<3,LAGRANGE,CARTESIAN>::eval_deriv(Real v, Order o, unsigned i) { return lagrange_eval_deriv(v, o, i); } 02622 02623 02624 } // namespace libMesh 02625 02626 #endif // LIBMESH_ENABLE_INFINITE_ELEMENTS