$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 00020 // C++ includes 00021 00022 // Local includes 00023 #include "libmesh/quadrature_gauss_lobatto.h" 00024 00025 namespace libMesh 00026 { 00027 00028 void QGaussLobatto::init_1D(const ElemType, 00029 unsigned int p) 00030 { 00031 //---------------------------------------------------------------------- 00032 // 1D quadrature rules 00033 switch(_order + 2*p) 00034 { 00035 // Since Gauss-Lobatto rules must include the endpoints of the 00036 // domain, there is no 1-point rule. The two-point 00037 // Gauss-Lobatto rule is equivalent to the trapezoidal rule. 00038 case CONSTANT: 00039 case FIRST: 00040 { 00041 _points.resize (2); 00042 _weights.resize(2); 00043 00044 _points[0](0) = -1.0L; 00045 _points[1] = -_points[0]; 00046 00047 _weights[0] = 1.; 00048 _weights[1] = _weights[0]; 00049 00050 return; 00051 } 00052 00053 // The three-point Gauss-Lobatto rule is equivalent to Simpsons' rule. 00054 // It can integrate cubic polynomials exactly. 00055 case SECOND: 00056 case THIRD: 00057 { 00058 _points.resize (3); 00059 _weights.resize(3); 00060 00061 _points[0](0) = -1.0L; 00062 _points[1] = 0.0L; 00063 _points[2] = -_points[0]; 00064 00065 _weights[0] = 1.0L / 3.0L; 00066 _weights[1] = 4.0L / 3.0L; 00067 _weights[2] = _weights[0]; 00068 return; 00069 } 00070 00071 // The four-point Gauss-Lobatto rule can integrate 2*4-3 = 00072 // 5th-order polynomials exactly. 00073 case FOURTH: 00074 case FIFTH: 00075 { 00076 _points.resize (4); 00077 _weights.resize(4); 00078 00079 _points[ 0](0) = -1.0L; 00080 _points[ 1](0) = -std::sqrt(1.0L/5.0L); 00081 _points[ 2] = -_points[1]; 00082 _points[ 3] = -_points[0]; 00083 00084 _weights[ 0] = 1.0L/6.0L; 00085 _weights[ 1] = 5.0L/6.0L; 00086 _weights[ 2] = _weights[1]; 00087 _weights[ 3] = _weights[0]; 00088 00089 return; 00090 } 00091 00092 // The five-point Gauss-Lobatto rule can integrate 2*5-3 = 00093 // 7th-order polynomials exactly. 00094 case SIXTH: 00095 case SEVENTH: 00096 { 00097 _points.resize (5); 00098 _weights.resize(5); 00099 00100 _points[ 0](0) = -1.0L; 00101 _points[ 1](0) = -std::sqrt(3.0L/7.0L); 00102 _points[ 2](0) = 0.; 00103 _points[ 3] = -_points[1]; 00104 _points[ 4] = -_points[0]; 00105 00106 _weights[ 0] = 1.0L/10.0L; 00107 _weights[ 1] = 49.0L/90.0L; 00108 _weights[ 2] = 32.0L/45.0L; 00109 _weights[ 3] = _weights[1]; 00110 _weights[ 4] = _weights[0]; 00111 00112 return; 00113 } 00114 00115 // 2*6-3 = 9 00116 case EIGHTH: 00117 case NINTH: 00118 { 00119 _points.resize (6); 00120 _weights.resize(6); 00121 00122 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00123 _points[ 1](0) = -7.6505532392946469285100297395934e-01L; 00124 _points[ 2](0) = -2.8523151648064509631415099404088e-01L; 00125 _points[ 3] = -_points[2]; 00126 _points[ 4] = -_points[1]; 00127 _points[ 5] = -_points[0]; 00128 00129 _weights[ 0] = 6.6666666666666666666666666666667e-02L; 00130 _weights[ 1] = 3.7847495629784698031661280821202e-01L; 00131 _weights[ 2] = 5.5485837703548635301672052512131e-01L; 00132 _weights[ 3] = _weights[2]; 00133 _weights[ 4] = _weights[1]; 00134 _weights[ 5] = _weights[0]; 00135 00136 return; 00137 } 00138 00139 // 2*7-3 = 11 00140 case TENTH: 00141 case ELEVENTH: 00142 { 00143 _points.resize (7); 00144 _weights.resize(7); 00145 00146 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00147 _points[ 1](0) = -8.3022389627856692987203221396747e-01L; 00148 _points[ 2](0) = -4.6884879347071421380377188190877e-01L; 00149 _points[ 3](0) = 0.; 00150 _points[ 4] = -_points[2]; 00151 _points[ 5] = -_points[1]; 00152 _points[ 6] = -_points[0]; 00153 00154 _weights[ 0] = 4.7619047619047619047619047619048e-02L; 00155 _weights[ 1] = 2.7682604736156594801070040629007e-01L; 00156 _weights[ 2] = 4.3174538120986262341787102228136e-01L; 00157 _weights[ 3] = 4.8761904761904761904761904761905e-01L; 00158 _weights[ 4] = _weights[2]; 00159 _weights[ 5] = _weights[1]; 00160 _weights[ 6] = _weights[0]; 00161 00162 return; 00163 } 00164 00165 // 2*8-3 = 13 00166 case TWELFTH: 00167 case THIRTEENTH: 00168 { 00169 _points.resize (8); 00170 _weights.resize(8); 00171 00172 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00173 _points[ 1](0) = -8.7174014850960661533744576122066e-01L; 00174 _points[ 2](0) = -5.9170018143314230214451073139795e-01L; 00175 _points[ 3](0) = -2.0929921790247886876865726034535e-01L; 00176 _points[ 4] = -_points[3]; 00177 _points[ 5] = -_points[2]; 00178 _points[ 6] = -_points[1]; 00179 _points[ 7] = -_points[0]; 00180 00181 _weights[ 0] = 3.5714285714285714285714285714286e-02L; 00182 _weights[ 1] = 2.1070422714350603938299206577576e-01L; 00183 _weights[ 2] = 3.4112269248350436476424067710775e-01L; 00184 _weights[ 3] = 4.1245879465870388156705297140221e-01L; 00185 _weights[ 4] = _weights[3]; 00186 _weights[ 5] = _weights[2]; 00187 _weights[ 6] = _weights[1]; 00188 _weights[ 7] = _weights[0]; 00189 00190 return; 00191 } 00192 00193 // 2*9-3 = 15 00194 case FOURTEENTH: 00195 case FIFTEENTH: 00196 { 00197 _points.resize (9); 00198 _weights.resize(9); 00199 00200 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00201 _points[ 1](0) = -8.9975799541146015731234524441834e-01L; 00202 _points[ 2](0) = -6.7718627951073775344588542709134e-01L; 00203 _points[ 3](0) = -3.6311746382617815871075206870866e-01L; 00204 _points[ 4](0) = 0.; 00205 _points[ 5] = -_points[3]; 00206 _points[ 6] = -_points[2]; 00207 _points[ 7] = -_points[1]; 00208 _points[ 8] = -_points[0]; 00209 00210 _weights[ 0] = 2.7777777777777777777777777777778e-02L; 00211 _weights[ 1] = 1.6549536156080552504633972002921e-01L; 00212 _weights[ 2] = 2.7453871250016173528070561857937e-01L; 00213 _weights[ 3] = 3.4642851097304634511513153213972e-01L; 00214 _weights[ 4] = 3.7151927437641723356009070294785e-01L; 00215 _weights[ 5] = _weights[3]; 00216 _weights[ 6] = _weights[2]; 00217 _weights[ 7] = _weights[1]; 00218 _weights[ 8] = _weights[0]; 00219 00220 return; 00221 } 00222 00223 // 2*10-3 = 17 00224 case SIXTEENTH: 00225 case SEVENTEENTH: 00226 { 00227 _points.resize (10); 00228 _weights.resize(10); 00229 00230 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00231 _points[ 1](0) = -9.1953390816645881382893266082234e-01L; 00232 _points[ 2](0) = -7.3877386510550507500310617485983e-01L; 00233 _points[ 3](0) = -4.7792494981044449566117509273126e-01L; 00234 _points[ 4](0) = -1.6527895766638702462621976595817e-01L; 00235 _points[ 5] = -_points[4]; 00236 _points[ 6] = -_points[3]; 00237 _points[ 7] = -_points[2]; 00238 _points[ 8] = -_points[1]; 00239 _points[ 9] = -_points[0]; 00240 00241 _weights[ 0] = 2.2222222222222222222222222222222e-02L; 00242 _weights[ 1] = 1.3330599085107011112622717075539e-01L; 00243 _weights[ 2] = 2.2488934206312645211945782173105e-01L; 00244 _weights[ 3] = 2.9204268367968375787558225737444e-01L; 00245 _weights[ 4] = 3.2753976118389745665651052791689e-01L; 00246 _weights[ 5] = _weights[4]; 00247 _weights[ 6] = _weights[3]; 00248 _weights[ 7] = _weights[2]; 00249 _weights[ 8] = _weights[1]; 00250 _weights[ 9] = _weights[0]; 00251 00252 return; 00253 } 00254 00255 // 2*11-3 = 19 00256 case EIGHTTEENTH: 00257 case NINETEENTH: 00258 { 00259 _points.resize (11); 00260 _weights.resize(11); 00261 00262 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00263 _points[ 1](0) = -9.3400143040805913433227413609938e-01L; 00264 _points[ 2](0) = -7.8448347366314441862241781610846e-01L; 00265 _points[ 3](0) = -5.6523532699620500647096396947775e-01L; 00266 _points[ 4](0) = -2.9575813558693939143191151555906e-01L; 00267 _points[ 5](0) = 0.; 00268 _points[ 6] = -_points[4]; 00269 _points[ 7] = -_points[3]; 00270 _points[ 8] = -_points[2]; 00271 _points[ 9] = -_points[1]; 00272 _points[10] = -_points[0]; 00273 00274 _weights[ 0] = 1.8181818181818181818181818181818e-02L; 00275 _weights[ 1] = 1.0961227326699486446140344958035e-01L; 00276 _weights[ 2] = 1.8716988178030520410814152189943e-01L; 00277 _weights[ 3] = 2.4804810426402831404008486642187e-01L; 00278 _weights[ 4] = 2.8687912477900808867922240333154e-01L; 00279 _weights[ 5] = 3.0021759545569069378593188116998e-01L; 00280 _weights[ 6] = _weights[4]; 00281 _weights[ 7] = _weights[3]; 00282 _weights[ 8] = _weights[2]; 00283 _weights[ 9] = _weights[1]; 00284 _weights[10] = _weights[0]; 00285 00286 return; 00287 } 00288 00289 // 2*12-3 = 21 00290 case TWENTIETH: 00291 case TWENTYFIRST: 00292 { 00293 _points.resize (12); 00294 _weights.resize(12); 00295 00296 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00297 _points[ 1](0) = -9.4489927222288222340758013830322e-01L; 00298 _points[ 2](0) = -8.1927932164400667834864158171690e-01L; 00299 _points[ 3](0) = -6.3287615303186067766240485444366e-01L; 00300 _points[ 4](0) = -3.9953094096534893226434979156697e-01L; 00301 _points[ 5](0) = -1.3655293285492755486406185573969e-01L; 00302 _points[ 6] = -_points[5]; 00303 _points[ 7] = -_points[4]; 00304 _points[ 8] = -_points[3]; 00305 _points[ 9] = -_points[2]; 00306 _points[10] = -_points[1]; 00307 _points[11] = -_points[0]; 00308 00309 _weights[ 0] = 1.5151515151515151515151515151515e-02L; 00310 _weights[ 1] = 9.1684517413196130668342594134079e-02L; 00311 _weights[ 2] = 1.5797470556437011516467106270034e-01L; 00312 _weights[ 3] = 2.1250841776102114535830207736687e-01L; 00313 _weights[ 4] = 2.5127560319920128029324441214760e-01L; 00314 _weights[ 5] = 2.7140524091069617700028833849960e-01L; 00315 _weights[ 6] = _weights[5]; 00316 _weights[ 7] = _weights[4]; 00317 _weights[ 8] = _weights[3]; 00318 _weights[ 9] = _weights[2]; 00319 _weights[10] = _weights[1]; 00320 _weights[11] = _weights[0]; 00321 00322 return; 00323 } 00324 00325 // 2*13-3 = 23 00326 case TWENTYSECOND: 00327 case TWENTYTHIRD: 00328 { 00329 _points.resize (13); 00330 _weights.resize(13); 00331 00332 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00333 _points[ 1](0) = -9.5330984664216391189690546475545e-01L; 00334 _points[ 2](0) = -8.4634756465187231686592560709875e-01L; 00335 _points[ 3](0) = -6.8618846908175742607275903956636e-01L; 00336 _points[ 4](0) = -4.8290982109133620174693723363693e-01L; 00337 _points[ 5](0) = -2.4928693010623999256867370037423e-01L; 00338 _points[ 6](0) = 0.; 00339 _points[ 7] = -_points[5]; 00340 _points[ 8] = -_points[4]; 00341 _points[ 9] = -_points[3]; 00342 _points[10] = -_points[2]; 00343 _points[11] = -_points[1]; 00344 _points[12] = -_points[0]; 00345 00346 _weights[ 0] = 1.2820512820512820512820512820513e-02L; 00347 _weights[ 1] = 7.7801686746818927793588988333134e-02L; 00348 _weights[ 2] = 1.3498192668960834911991476258937e-01L; 00349 _weights[ 3] = 1.8364686520355009200749425874681e-01L; 00350 _weights[ 4] = 2.2076779356611008608553400837940e-01L; 00351 _weights[ 5] = 2.4401579030667635645857814836016e-01L; 00352 _weights[ 6] = 2.5193084933344673604413864154124e-01L; 00353 _weights[ 7] = _weights[5]; 00354 _weights[ 8] = _weights[4]; 00355 _weights[ 9] = _weights[3]; 00356 _weights[10] = _weights[2]; 00357 _weights[11] = _weights[1]; 00358 _weights[12] = _weights[0]; 00359 00360 return; 00361 } 00362 00363 // 2*14-3 = 25 00364 case TWENTYFOURTH: 00365 case TWENTYFIFTH: 00366 { 00367 _points.resize (14); 00368 _weights.resize(14); 00369 00370 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00371 _points[ 1](0) = -9.5993504526726090135510016201542e-01L; 00372 _points[ 2](0) = -8.6780105383034725100022020290826e-01L; 00373 _points[ 3](0) = -7.2886859909132614058467240052088e-01L; 00374 _points[ 4](0) = -5.5063940292864705531662270585908e-01L; 00375 _points[ 5](0) = -3.4272401334271284504390340364167e-01L; 00376 _points[ 6](0) = -1.1633186888370386765877670973616e-01L; 00377 _points[ 7] = -_points[6]; 00378 _points[ 8] = -_points[5]; 00379 _points[ 9] = -_points[4]; 00380 _points[10] = -_points[3]; 00381 _points[11] = -_points[2]; 00382 _points[12] = -_points[1]; 00383 _points[13] = -_points[0]; 00384 00385 _weights[ 0] = 1.0989010989010989010989010989011e-02L; 00386 _weights[ 1] = 6.6837284497681284634070660746053e-02L; 00387 _weights[ 2] = 1.1658665589871165154099667065465e-01L; 00388 _weights[ 3] = 1.6002185176295214241282099798759e-01L; 00389 _weights[ 4] = 1.9482614937341611864033177837588e-01L; 00390 _weights[ 5] = 2.1912625300977075487116252395417e-01L; 00391 _weights[ 6] = 2.3161279446845705888962835729264e-01L; 00392 _weights[ 7] = _weights[6]; 00393 _weights[ 8] = _weights[5]; 00394 _weights[ 9] = _weights[4]; 00395 _weights[10] = _weights[3]; 00396 _weights[11] = _weights[2]; 00397 _weights[12] = _weights[1]; 00398 _weights[13] = _weights[0]; 00399 00400 return; 00401 } 00402 00403 // 2*15-3 = 27 00404 case TWENTYSIXTH: 00405 case TWENTYSEVENTH: 00406 { 00407 _points.resize (15); 00408 _weights.resize(15); 00409 00410 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00411 _points[ 1](0) = -9.6524592650383857279585139206960e-01L; 00412 _points[ 2](0) = -8.8508204422297629882540163148223e-01L; 00413 _points[ 3](0) = -7.6351968995181520070411847597629e-01L; 00414 _points[ 4](0) = -6.0625320546984571112352993863673e-01L; 00415 _points[ 5](0) = -4.2063805471367248092189693873858e-01L; 00416 _points[ 6](0) = -2.1535395536379423822567944627292e-01L; 00417 _points[ 7](0) = 0.; 00418 _points[ 8] = -_points[6]; 00419 _points[ 9] = -_points[5]; 00420 _points[10] = -_points[4]; 00421 _points[11] = -_points[3]; 00422 _points[12] = -_points[2]; 00423 _points[13] = -_points[1]; 00424 _points[14] = -_points[0]; 00425 00426 _weights[ 0] = 9.5238095238095238095238095238095e-03L; 00427 _weights[ 1] = 5.8029893028601249096880584025282e-02L; 00428 _weights[ 2] = 1.0166007032571806760366617078880e-01L; 00429 _weights[ 3] = 1.4051169980242810946044680564367e-01L; 00430 _weights[ 4] = 1.7278964725360094905207709940835e-01L; 00431 _weights[ 5] = 1.9698723596461335609250034650741e-01L; 00432 _weights[ 6] = 2.1197358592682092012743007697722e-01L; 00433 _weights[ 7] = 2.1704811634881564951495021425091e-01L; 00434 _weights[ 8] = _weights[6]; 00435 _weights[ 9] = _weights[5]; 00436 _weights[10] = _weights[4]; 00437 _weights[11] = _weights[3]; 00438 _weights[12] = _weights[2]; 00439 _weights[13] = _weights[1]; 00440 _weights[14] = _weights[0]; 00441 00442 return; 00443 } 00444 00445 // 2*16-3 = 29 00446 case TWENTYEIGHTH: 00447 case TWENTYNINTH: 00448 { 00449 _points.resize (16); 00450 _weights.resize(16); 00451 00452 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00453 _points[ 1](0) = -9.6956804627021793295224273836746e-01L; 00454 _points[ 2](0) = -8.9920053309347209299462826151985e-01L; 00455 _points[ 3](0) = -7.9200829186181506393108827096315e-01L; 00456 _points[ 4](0) = -6.5238870288249308946788321964058e-01L; 00457 _points[ 5](0) = -4.8605942188713761178189078584687e-01L; 00458 _points[ 6](0) = -2.9983046890076320809835345472230e-01L; 00459 _points[ 7](0) = -1.0132627352194944784303300504592e-01L; 00460 _points[ 8] = -_points[7]; 00461 _points[ 9] = -_points[6]; 00462 _points[10] = -_points[5]; 00463 _points[11] = -_points[4]; 00464 _points[12] = -_points[3]; 00465 _points[13] = -_points[2]; 00466 _points[14] = -_points[1]; 00467 _points[15] = -_points[0]; 00468 00469 _weights[ 0] = 8.3333333333333333333333333333333e-03L; 00470 _weights[ 1] = 5.0850361005919905403244919565455e-02L; 00471 _weights[ 2] = 8.9393697325930800991052080166084e-02L; 00472 _weights[ 3] = 1.2425538213251409834953633265731e-01L; 00473 _weights[ 4] = 1.5402698080716428081564494048499e-01L; 00474 _weights[ 5] = 1.7749191339170412530107566952836e-01L; 00475 _weights[ 6] = 1.9369002382520358431691359885352e-01L; 00476 _weights[ 7] = 2.0195830817822987148919912541094e-01L; 00477 _weights[ 8] = _weights[7]; 00478 _weights[ 9] = _weights[6]; 00479 _weights[10] = _weights[5]; 00480 _weights[11] = _weights[4]; 00481 _weights[12] = _weights[3]; 00482 _weights[13] = _weights[2]; 00483 _weights[14] = _weights[1]; 00484 _weights[15] = _weights[0]; 00485 00486 return; 00487 } 00488 00489 // 2*17-3 = 31 00490 case THIRTIETH: 00491 case THIRTYFIRST: 00492 { 00493 _points.resize (17); 00494 _weights.resize(17); 00495 00496 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00497 _points[ 1](0) = -9.7313217663141831415697950187372e-01L; 00498 _points[ 2](0) = -9.1087999591557359562380250639773e-01L; 00499 _points[ 3](0) = -8.1569625122177030710675055323753e-01L; 00500 _points[ 4](0) = -6.9102898062768470539491935737245e-01L; 00501 _points[ 5](0) = -5.4138539933010153912373340750406e-01L; 00502 _points[ 6](0) = -3.7217443356547704190723468073526e-01L; 00503 _points[ 7](0) = -1.8951197351831738830426301475311e-01L; 00504 _points[ 8](0) = 0.; 00505 _points[ 9] = -_points[7]; 00506 _points[10] = -_points[6]; 00507 _points[11] = -_points[5]; 00508 _points[12] = -_points[4]; 00509 _points[13] = -_points[3]; 00510 _points[14] = -_points[2]; 00511 _points[15] = -_points[1]; 00512 _points[16] = -_points[0]; 00513 00514 _weights[ 0] = 7.3529411764705882352941176470588e-03L; 00515 _weights[ 1] = 4.4921940543254209647400954623212e-02L; 00516 _weights[ 2] = 7.9198270503687119190264429952835e-02L; 00517 _weights[ 3] = 1.1059290900702816137577270522008e-01L; 00518 _weights[ 4] = 1.3798774620192655905620157495403e-01L; 00519 _weights[ 5] = 1.6039466199762153951632836586475e-01L; 00520 _weights[ 6] = 1.7700425351565787043694574536329e-01L; 00521 _weights[ 7] = 1.8721633967761923589208848286062e-01L; 00522 _weights[ 8] = 1.9066187475346943329940724702825e-01L; 00523 _weights[ 9] = _weights[7]; 00524 _weights[10] = _weights[6]; 00525 _weights[11] = _weights[5]; 00526 _weights[12] = _weights[4]; 00527 _weights[13] = _weights[3]; 00528 _weights[14] = _weights[2]; 00529 _weights[15] = _weights[1]; 00530 _weights[16] = _weights[0]; 00531 00532 return; 00533 } 00534 00535 // 2*18-3 = 33 00536 case THIRTYSECOND: 00537 case THIRTYTHIRD: 00538 { 00539 _points.resize (18); 00540 _weights.resize(18); 00541 00542 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00543 _points[ 1](0) = -9.7610555741219854286451892434170e-01L; 00544 _points[ 2](0) = -9.2064918534753387383785462543128e-01L; 00545 _points[ 3](0) = -8.3559353521809021371364636232794e-01L; 00546 _points[ 4](0) = -7.2367932928324268130621036530207e-01L; 00547 _points[ 5](0) = -5.8850483431866176117353589319356e-01L; 00548 _points[ 6](0) = -4.3441503691212397534228713674067e-01L; 00549 _points[ 7](0) = -2.6636265287828098416766533202560e-01L; 00550 _points[ 8](0) = -8.9749093484652111022645010088562e-02L; 00551 _points[ 9] = -_points[8]; 00552 _points[10] = -_points[7]; 00553 _points[11] = -_points[6]; 00554 _points[12] = -_points[5]; 00555 _points[13] = -_points[4]; 00556 _points[14] = -_points[3]; 00557 _points[15] = -_points[2]; 00558 _points[16] = -_points[1]; 00559 _points[17] = -_points[0]; 00560 00561 _weights[ 0] = 6.5359477124183006535947712418301e-03L; 00562 _weights[ 1] = 3.9970628810914066137599176410101e-02L; 00563 _weights[ 2] = 7.0637166885633664999222960167786e-02L; 00564 _weights[ 3] = 9.9016271717502802394423605318672e-02L; 00565 _weights[ 4] = 1.2421053313296710026339635889675e-01L; 00566 _weights[ 5] = 1.4541196157380226798300321049443e-01L; 00567 _weights[ 6] = 1.6193951723760248926432670670023e-01L; 00568 _weights[ 7] = 1.7326210948945622601061440382668e-01L; 00569 _weights[ 8] = 1.7901586343970308229381880694353e-01L; 00570 _weights[ 9] = _weights[8]; 00571 _weights[10] = _weights[7]; 00572 _weights[11] = _weights[6]; 00573 _weights[12] = _weights[5]; 00574 _weights[13] = _weights[4]; 00575 _weights[14] = _weights[3]; 00576 _weights[15] = _weights[2]; 00577 _weights[16] = _weights[1]; 00578 _weights[17] = _weights[0]; 00579 00580 return; 00581 } 00582 00583 // 2*19-3 = 35 00584 case THIRTYFOURTH: 00585 case THIRTYFIFTH: 00586 { 00587 _points.resize (19); 00588 _weights.resize(19); 00589 00590 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00591 _points[ 1](0) = -9.7861176622208009515263406311022e-01L; 00592 _points[ 2](0) = -9.2890152815258624371794025879655e-01L; 00593 _points[ 3](0) = -8.5246057779664609308595597004106e-01L; 00594 _points[ 4](0) = -7.5149420255261301416363748963394e-01L; 00595 _points[ 5](0) = -6.2890813726522049776683230622873e-01L; 00596 _points[ 6](0) = -4.8822928568071350277790963762492e-01L; 00597 _points[ 7](0) = -3.3350484782449861029850010384493e-01L; 00598 _points[ 8](0) = -1.6918602340928157137515415344488e-01L; 00599 _points[ 9](0) = 0.; 00600 _points[10] = -_points[8]; 00601 _points[11] = -_points[7]; 00602 _points[12] = -_points[6]; 00603 _points[13] = -_points[5]; 00604 _points[14] = -_points[4]; 00605 _points[15] = -_points[3]; 00606 _points[16] = -_points[2]; 00607 _points[17] = -_points[1]; 00608 _points[18] = -_points[0]; 00609 00610 _weights[ 0] = 5.8479532163742690058479532163743e-03L; 00611 _weights[ 1] = 3.5793365186176477115425569035122e-02L; 00612 _weights[ 2] = 6.3381891762629736851695690418317e-02L; 00613 _weights[ 3] = 8.9131757099207084448008790556153e-02L; 00614 _weights[ 4] = 1.1231534147730504407091001546378e-01L; 00615 _weights[ 5] = 1.3226728044875077692604673390973e-01L; 00616 _weights[ 6] = 1.4841394259593888500968064366841e-01L; 00617 _weights[ 7] = 1.6029092404406124197991096818359e-01L; 00618 _weights[ 8] = 1.6755658452714286727013727774026e-01L; 00619 _weights[ 9] = 1.7000191928482723464467271561652e-01L; 00620 _weights[10] = _weights[8]; 00621 _weights[11] = _weights[7]; 00622 _weights[12] = _weights[6]; 00623 _weights[13] = _weights[5]; 00624 _weights[14] = _weights[4]; 00625 _weights[15] = _weights[3]; 00626 _weights[16] = _weights[2]; 00627 _weights[17] = _weights[1]; 00628 _weights[18] = _weights[0]; 00629 00630 return; 00631 } 00632 00633 // 2*20-3 = 37 00634 case THIRTYSIXTH: 00635 case THIRTYSEVENTH: 00636 { 00637 _points.resize (20); 00638 _weights.resize(20); 00639 00640 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00641 _points[ 1](0) = -9.8074370489391417192544643858423e-01L; 00642 _points[ 2](0) = -9.3593449881266543571618158493063e-01L; 00643 _points[ 3](0) = -8.6687797808995014130984721461629e-01L; 00644 _points[ 4](0) = -7.7536826095205587041431752759469e-01L; 00645 _points[ 5](0) = -6.6377640229031128984640332297116e-01L; 00646 _points[ 6](0) = -5.3499286403188626164813596182898e-01L; 00647 _points[ 7](0) = -3.9235318371390929938647470381582e-01L; 00648 _points[ 8](0) = -2.3955170592298649518240135692709e-01L; 00649 _points[ 9](0) = -8.0545937238821837975944518159554e-02L; 00650 _points[10] = -_points[9]; 00651 _points[11] = -_points[8]; 00652 _points[12] = -_points[7]; 00653 _points[13] = -_points[6]; 00654 _points[14] = -_points[5]; 00655 _points[15] = -_points[4]; 00656 _points[16] = -_points[3]; 00657 _points[17] = -_points[2]; 00658 _points[18] = -_points[1]; 00659 _points[19] = -_points[0]; 00660 00661 _weights[ 0] = 5.2631578947368421052631578947368e-03L; 00662 _weights[ 1] = 3.2237123188488941491605028117294e-02L; 00663 _weights[ 2] = 5.7181802127566826004753627173243e-02L; 00664 _weights[ 3] = 8.0631763996119603144776846113721e-02L; 00665 _weights[ 4] = 1.0199149969945081568378120573289e-01L; 00666 _weights[ 5] = 1.2070922762867472509942970500239e-01L; 00667 _weights[ 6] = 1.3630048235872418448978079298903e-01L; 00668 _weights[ 7] = 1.4836155407091682581471301373397e-01L; 00669 _weights[ 8] = 1.5658010264747548715816989679364e-01L; 00670 _weights[ 9] = 1.6074328638784574900772672644908e-01L; 00671 _weights[10] = _weights[9]; 00672 _weights[11] = _weights[8]; 00673 _weights[12] = _weights[7]; 00674 _weights[13] = _weights[6]; 00675 _weights[14] = _weights[5]; 00676 _weights[15] = _weights[4]; 00677 _weights[16] = _weights[3]; 00678 _weights[17] = _weights[2]; 00679 _weights[18] = _weights[1]; 00680 _weights[19] = _weights[0]; 00681 00682 return; 00683 } 00684 00685 // 2*21-3 = 39 00686 case THIRTYEIGHTH: 00687 case THIRTYNINTH: 00688 { 00689 _points.resize (21); 00690 _weights.resize(21); 00691 00692 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00693 _points[ 1](0) = -9.8257229660454802823448127655541e-01L; 00694 _points[ 2](0) = -9.4197629695974553429610265066144e-01L; 00695 _points[ 3](0) = -8.7929475532359046445115359630494e-01L; 00696 _points[ 4](0) = -7.9600192607771240474431258966036e-01L; 00697 _points[ 5](0) = -6.9405102606222323262731639319467e-01L; 00698 _points[ 6](0) = -5.7583196026183068692702187033809e-01L; 00699 _points[ 7](0) = -4.4411578327900210119451634960735e-01L; 00700 _points[ 8](0) = -3.0198985650876488727535186785875e-01L; 00701 _points[ 9](0) = -1.5278551580218546600635832848567e-01L; 00702 _points[10](0) = 0.; 00703 _points[11] = -_points[9]; 00704 _points[12] = -_points[8]; 00705 _points[13] = -_points[7]; 00706 _points[14] = -_points[6]; 00707 _points[15] = -_points[5]; 00708 _points[16] = -_points[4]; 00709 _points[17] = -_points[3]; 00710 _points[18] = -_points[2]; 00711 _points[19] = -_points[1]; 00712 _points[20] = -_points[0]; 00713 00714 _weights[ 0] = 4.7619047619047619047619047619048e-03L; 00715 _weights[ 1] = 2.9184840098505458609458543613171e-02L; 00716 _weights[ 2] = 5.1843169000849625072722971852830e-02L; 00717 _weights[ 3] = 7.3273918185074144252547861041894e-02L; 00718 _weights[ 4] = 9.2985467957886065301137664149214e-02L; 00719 _weights[ 5] = 1.1051708321912333526700048678439e-01L; 00720 _weights[ 6] = 1.2545812119086894801515753570800e-01L; 00721 _weights[ 7] = 1.3745846286004134358089961741515e-01L; 00722 _weights[ 8] = 1.4623686244797745926727053063439e-01L; 00723 _weights[ 9] = 1.5158757511168138445325068150529e-01L; 00724 _weights[10] = 1.5338519033217494855158440506754e-01L; 00725 _weights[11] = _weights[9]; 00726 _weights[12] = _weights[8]; 00727 _weights[13] = _weights[7]; 00728 _weights[14] = _weights[6]; 00729 _weights[15] = _weights[5]; 00730 _weights[16] = _weights[4]; 00731 _weights[17] = _weights[3]; 00732 _weights[18] = _weights[2]; 00733 _weights[19] = _weights[1]; 00734 _weights[20] = _weights[0]; 00735 00736 return; 00737 } 00738 00739 // 2*22-3 = 41 00740 case FORTIETH: 00741 case FORTYFIRST: 00742 { 00743 _points.resize (22); 00744 _weights.resize(22); 00745 00746 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00747 _points[ 1](0) = -9.8415243845764617655228962221207e-01L; 00748 _points[ 2](0) = -9.4720428399922868052421376661573e-01L; 00749 _points[ 3](0) = -8.9006229019090447052965782577909e-01L; 00750 _points[ 4](0) = -8.1394892761192113604544184805614e-01L; 00751 _points[ 5](0) = -7.2048723996120215811988189639847e-01L; 00752 _points[ 6](0) = -6.1166943828425897122621160586993e-01L; 00753 _points[ 7](0) = -4.8981487518990234980875123568327e-01L; 00754 _points[ 8](0) = -3.5752071013891953806095728024018e-01L; 00755 _points[ 9](0) = -2.1760658515928504178795509346539e-01L; 00756 _points[10](0) = -7.3054540010898334761088790464107e-02L; 00757 _points[11] = -_points[10]; 00758 _points[12] = -_points[9]; 00759 _points[13] = -_points[8]; 00760 _points[14] = -_points[7]; 00761 _points[15] = -_points[6]; 00762 _points[16] = -_points[5]; 00763 _points[17] = -_points[4]; 00764 _points[18] = -_points[3]; 00765 _points[19] = -_points[2]; 00766 _points[20] = -_points[1]; 00767 _points[21] = -_points[0]; 00768 00769 _weights[ 0] = 4.3290043290043290043290043290043e-03L; 00770 _weights[ 1] = 2.6545747682501757911627904520543e-02L; 00771 _weights[ 2] = 4.7214465293740752123775734864792e-02L; 00772 _weights[ 3] = 6.6865605864553076012404194157097e-02L; 00773 _weights[ 4] = 8.5090060391838447815711236095748e-02L; 00774 _weights[ 5] = 1.0150057480164767437243730374960e-01L; 00775 _weights[ 6] = 1.1574764465393906659003636772146e-01L; 00776 _weights[ 7] = 1.2752769665343027553084445930883e-01L; 00777 _weights[ 8] = 1.3658968861374142668617736220617e-01L; 00778 _weights[ 9] = 1.4274049227136140033623599356679e-01L; 00779 _weights[10] = 1.4584901944424179361642043947997e-01L; 00780 _weights[11] = _weights[10]; 00781 _weights[12] = _weights[9]; 00782 _weights[13] = _weights[8]; 00783 _weights[14] = _weights[7]; 00784 _weights[15] = _weights[6]; 00785 _weights[16] = _weights[5]; 00786 _weights[17] = _weights[4]; 00787 _weights[18] = _weights[3]; 00788 _weights[19] = _weights[2]; 00789 _weights[20] = _weights[1]; 00790 _weights[21] = _weights[0]; 00791 00792 return; 00793 } 00794 00795 // 2*23-3 = 43 00796 case FORTYSECOND: 00797 case FORTYTHIRD: 00798 { 00799 _points.resize (23); 00800 _weights.resize(23); 00801 00802 _points[ 0](0) = -1.0000000000000000000000000000000e+00L; 00803 _points[ 1](0) = -9.8552715587873257808146276673810e-01L; 00804 _points[ 2](0) = -9.5175795571071020413563967985143e-01L; 00805 _points[ 3](0) = -8.9945855804034501095016032034737e-01L; 00806 _points[ 4](0) = -8.2965109665128588622320061929000e-01L; 00807 _points[ 5](0) = -7.4369504117206068394516354306700e-01L; 00808 _points[ 6](0) = -6.4326364446013620847614553360277e-01L; 00809 _points[ 7](0) = -5.3031177113684416813011532015230e-01L; 00810 _points[ 8](0) = -4.0703793791447482919595048821510e-01L; 00811 _points[ 9](0) = -2.7584154894579306710687763267914e-01L; 00812 _points[10](0) = -1.3927620404066839859186261298277e-01L; 00813 _points[11](0) = 0.; 00814 _points[12] = -_points[10]; 00815 _points[13] = -_points[9]; 00816 _points[14] = -_points[8]; 00817 _points[15] = -_points[7]; 00818 _points[16] = -_points[6]; 00819 _points[17] = -_points[5]; 00820 _points[18] = -_points[4]; 00821 _points[19] = -_points[3]; 00822 _points[20] = -_points[2]; 00823 _points[21] = -_points[1]; 00824 _points[22] = -_points[0]; 00825 00826 _weights[ 0] = 3.9525691699604743083003952569170e-03L; 00827 _weights[ 1] = 2.4248600771531736517399658937097e-02L; 00828 _weights[ 2] = 4.3175871170241834748876465612042e-02L; 00829 _weights[ 3] = 6.1252477129554206381382847440355e-02L; 00830 _weights[ 4] = 7.8135449475569989741934255347965e-02L; 00831 _weights[ 5] = 9.3497246163512341833500706906697e-02L; 00832 _weights[ 6] = 1.0703910172433651153518362791547e-01L; 00833 _weights[ 7] = 1.1849751066274913130212600472426e-01L; 00834 _weights[ 8] = 1.2764947470175887663614855305567e-01L; 00835 _weights[ 9] = 1.3431687263860381990156489770071e-01L; 00836 _weights[10] = 1.3836993638580739452350273386294e-01L; 00837 _weights[11] = 1.3972978001274736514015970647975e-01L; 00838 _weights[12] = _weights[10]; 00839 _weights[13] = _weights[9]; 00840 _weights[14] = _weights[8]; 00841 _weights[15] = _weights[7]; 00842 _weights[16] = _weights[6]; 00843 _weights[17] = _weights[5]; 00844 _weights[18] = _weights[4]; 00845 _weights[19] = _weights[3]; 00846 _weights[20] = _weights[2]; 00847 _weights[21] = _weights[1]; 00848 _weights[22] = _weights[0]; 00849 00850 return; 00851 } 00852 00853 default: 00854 libmesh_error_msg("Quadrature rule " << _order << " not supported!"); 00855 } 00856 } 00857 00858 } // namespace libMesh