Line data Source code
1 : // The libMesh Finite Element Library. 2 : // Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 3 : 4 : // This library is free software; you can redistribute it and/or 5 : // modify it under the terms of the GNU Lesser General Public 6 : // License as published by the Free Software Foundation; either 7 : // version 2.1 of the License, or (at your option) any later version. 8 : 9 : // This library is distributed in the hope that it will be useful, 10 : // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 : // Lesser General Public License for more details. 13 : 14 : // You should have received a copy of the GNU Lesser General Public 15 : // License along with this library; if not, write to the Free Software 16 : // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 : 18 : 19 : 20 : // C++ includes 21 : 22 : // Local includes 23 : #include "libmesh/quadrature_gauss_lobatto.h" 24 : 25 : namespace libMesh 26 : { 27 : 28 189800 : void QGaussLobatto::init_1D() 29 : { 30 : //---------------------------------------------------------------------- 31 : // 1D quadrature rules 32 195793 : switch(get_order()) 33 : { 34 : // Since Gauss-Lobatto rules must include the endpoints of the 35 : // domain, there is no 1-point rule. The two-point 36 : // Gauss-Lobatto rule is equivalent to the trapezoidal rule. 37 45087 : case CONSTANT: 38 : case FIRST: 39 : { 40 45087 : _points.resize (2); 41 45087 : _weights.resize(2); 42 : 43 45087 : _points[0](0) = -1; 44 45087 : _points[1] = -_points[0]; 45 : 46 45087 : _weights[0] = 1.; 47 45087 : _weights[1] = _weights[0]; 48 : 49 45087 : return; 50 : } 51 : 52 : // The three-point Gauss-Lobatto rule is equivalent to Simpsons' rule. 53 : // It can integrate cubic polynomials exactly. 54 45600 : case SECOND: 55 : case THIRD: 56 : { 57 45600 : _points.resize (3); 58 45600 : _weights.resize(3); 59 : 60 45600 : _points[0](0) = -1; 61 45600 : _points[1] = 0; 62 45600 : _points[2] = -_points[0]; 63 : 64 45600 : _weights[0] = Real(1)/3; 65 45600 : _weights[1] = Real(4)/3; 66 45600 : _weights[2] = _weights[0]; 67 45600 : return; 68 : } 69 : 70 : // The four-point Gauss-Lobatto rule can integrate 2*4-3 = 71 : // 5th-order polynomials exactly. 72 45351 : case FOURTH: 73 : case FIFTH: 74 : { 75 45351 : _points.resize (4); 76 45351 : _weights.resize(4); 77 : 78 45351 : _points[ 0](0) = -1; 79 45351 : _points[ 1](0) = -std::sqrt(Real(1)/5); // ~ -0.4472135955 80 45351 : _points[ 2] = -_points[1]; 81 45351 : _points[ 3] = -_points[0]; 82 : 83 45351 : _weights[ 0] = Real(1)/6; 84 45351 : _weights[ 1] = Real(5)/6; 85 45351 : _weights[ 2] = _weights[1]; 86 45351 : _weights[ 3] = _weights[0]; 87 : 88 45351 : return; 89 : } 90 : 91 : // The five-point Gauss-Lobatto rule can integrate 2*5-3 = 92 : // 7th-order polynomials exactly. 93 45345 : case SIXTH: 94 : case SEVENTH: 95 : { 96 45345 : _points.resize (5); 97 45345 : _weights.resize(5); 98 : 99 45345 : _points[ 0](0) = -1; 100 45345 : _points[ 1](0) = -std::sqrt(Real(3)/7); // ~ -0.6546536707 101 45345 : _points[ 2](0) = 0.; 102 45345 : _points[ 3] = -_points[1]; 103 45345 : _points[ 4] = -_points[0]; 104 : 105 45345 : _weights[ 0] = 1/Real(10); 106 45345 : _weights[ 1] = Real(49)/90; 107 45345 : _weights[ 2] = Real(32)/45; 108 45345 : _weights[ 3] = _weights[1]; 109 45345 : _weights[ 4] = _weights[0]; 110 : 111 45345 : return; 112 : } 113 : 114 : // 2*6-3 = 9 115 978 : case EIGHTH: 116 : case NINTH: 117 : { 118 978 : _points.resize (6); 119 978 : _weights.resize(6); 120 : 121 978 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 122 978 : _points[ 1](0) = -7.6505532392946469285100297395934e-01_R; 123 978 : _points[ 2](0) = -2.8523151648064509631415099404088e-01_R; 124 978 : _points[ 3] = -_points[2]; 125 978 : _points[ 4] = -_points[1]; 126 978 : _points[ 5] = -_points[0]; 127 : 128 978 : _weights[ 0] = 6.6666666666666666666666666666667e-02_R; 129 978 : _weights[ 1] = 3.7847495629784698031661280821202e-01_R; 130 978 : _weights[ 2] = 5.5485837703548635301672052512131e-01_R; 131 978 : _weights[ 3] = _weights[2]; 132 978 : _weights[ 4] = _weights[1]; 133 978 : _weights[ 5] = _weights[0]; 134 : 135 978 : return; 136 : } 137 : 138 : // 2*7-3 = 11 139 623 : case TENTH: 140 : case ELEVENTH: 141 : { 142 623 : _points.resize (7); 143 623 : _weights.resize(7); 144 : 145 623 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 146 623 : _points[ 1](0) = -8.3022389627856692987203221396747e-01_R; 147 623 : _points[ 2](0) = -4.6884879347071421380377188190877e-01_R; 148 623 : _points[ 3](0) = 0.; 149 623 : _points[ 4] = -_points[2]; 150 623 : _points[ 5] = -_points[1]; 151 623 : _points[ 6] = -_points[0]; 152 : 153 623 : _weights[ 0] = 4.7619047619047619047619047619048e-02_R; 154 623 : _weights[ 1] = 2.7682604736156594801070040629007e-01_R; 155 623 : _weights[ 2] = 4.3174538120986262341787102228136e-01_R; 156 623 : _weights[ 3] = 4.8761904761904761904761904761905e-01_R; 157 623 : _weights[ 4] = _weights[2]; 158 623 : _weights[ 5] = _weights[1]; 159 623 : _weights[ 6] = _weights[0]; 160 : 161 623 : return; 162 : } 163 : 164 : // 2*8-3 = 13 165 410 : case TWELFTH: 166 : case THIRTEENTH: 167 : { 168 410 : _points.resize (8); 169 410 : _weights.resize(8); 170 : 171 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 172 410 : _points[ 1](0) = -8.7174014850960661533744576122066e-01_R; 173 410 : _points[ 2](0) = -5.9170018143314230214451073139795e-01_R; 174 410 : _points[ 3](0) = -2.0929921790247886876865726034535e-01_R; 175 410 : _points[ 4] = -_points[3]; 176 410 : _points[ 5] = -_points[2]; 177 410 : _points[ 6] = -_points[1]; 178 410 : _points[ 7] = -_points[0]; 179 : 180 410 : _weights[ 0] = 3.5714285714285714285714285714286e-02_R; 181 410 : _weights[ 1] = 2.1070422714350603938299206577576e-01_R; 182 410 : _weights[ 2] = 3.4112269248350436476424067710775e-01_R; 183 410 : _weights[ 3] = 4.1245879465870388156705297140221e-01_R; 184 410 : _weights[ 4] = _weights[3]; 185 410 : _weights[ 5] = _weights[2]; 186 410 : _weights[ 6] = _weights[1]; 187 410 : _weights[ 7] = _weights[0]; 188 : 189 410 : return; 190 : } 191 : 192 : // 2*9-3 = 15 193 666 : case FOURTEENTH: 194 : case FIFTEENTH: 195 : { 196 666 : _points.resize (9); 197 666 : _weights.resize(9); 198 : 199 666 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 200 666 : _points[ 1](0) = -8.9975799541146015731234524441834e-01_R; 201 666 : _points[ 2](0) = -6.7718627951073775344588542709134e-01_R; 202 666 : _points[ 3](0) = -3.6311746382617815871075206870866e-01_R; 203 666 : _points[ 4](0) = 0.; 204 666 : _points[ 5] = -_points[3]; 205 666 : _points[ 6] = -_points[2]; 206 666 : _points[ 7] = -_points[1]; 207 666 : _points[ 8] = -_points[0]; 208 : 209 666 : _weights[ 0] = 2.7777777777777777777777777777778e-02_R; 210 666 : _weights[ 1] = 1.6549536156080552504633972002921e-01_R; 211 666 : _weights[ 2] = 2.7453871250016173528070561857937e-01_R; 212 666 : _weights[ 3] = 3.4642851097304634511513153213972e-01_R; 213 666 : _weights[ 4] = 3.7151927437641723356009070294785e-01_R; 214 666 : _weights[ 5] = _weights[3]; 215 666 : _weights[ 6] = _weights[2]; 216 666 : _weights[ 7] = _weights[1]; 217 666 : _weights[ 8] = _weights[0]; 218 : 219 666 : return; 220 : } 221 : 222 : // 2*10-3 = 17 223 410 : case SIXTEENTH: 224 : case SEVENTEENTH: 225 : { 226 410 : _points.resize (10); 227 410 : _weights.resize(10); 228 : 229 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 230 410 : _points[ 1](0) = -9.1953390816645881382893266082234e-01_R; 231 410 : _points[ 2](0) = -7.3877386510550507500310617485983e-01_R; 232 410 : _points[ 3](0) = -4.7792494981044449566117509273126e-01_R; 233 410 : _points[ 4](0) = -1.6527895766638702462621976595817e-01_R; 234 410 : _points[ 5] = -_points[4]; 235 410 : _points[ 6] = -_points[3]; 236 410 : _points[ 7] = -_points[2]; 237 410 : _points[ 8] = -_points[1]; 238 410 : _points[ 9] = -_points[0]; 239 : 240 410 : _weights[ 0] = 2.2222222222222222222222222222222e-02_R; 241 410 : _weights[ 1] = 1.3330599085107011112622717075539e-01_R; 242 410 : _weights[ 2] = 2.2488934206312645211945782173105e-01_R; 243 410 : _weights[ 3] = 2.9204268367968375787558225737444e-01_R; 244 410 : _weights[ 4] = 3.2753976118389745665651052791689e-01_R; 245 410 : _weights[ 5] = _weights[4]; 246 410 : _weights[ 6] = _weights[3]; 247 410 : _weights[ 7] = _weights[2]; 248 410 : _weights[ 8] = _weights[1]; 249 410 : _weights[ 9] = _weights[0]; 250 : 251 410 : return; 252 : } 253 : 254 : // 2*11-3 = 19 255 410 : case EIGHTTEENTH: 256 : case NINETEENTH: 257 : { 258 410 : _points.resize (11); 259 410 : _weights.resize(11); 260 : 261 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 262 410 : _points[ 1](0) = -9.3400143040805913433227413609938e-01_R; 263 410 : _points[ 2](0) = -7.8448347366314441862241781610846e-01_R; 264 410 : _points[ 3](0) = -5.6523532699620500647096396947775e-01_R; 265 410 : _points[ 4](0) = -2.9575813558693939143191151555906e-01_R; 266 410 : _points[ 5](0) = 0.; 267 410 : _points[ 6] = -_points[4]; 268 410 : _points[ 7] = -_points[3]; 269 410 : _points[ 8] = -_points[2]; 270 410 : _points[ 9] = -_points[1]; 271 410 : _points[10] = -_points[0]; 272 : 273 410 : _weights[ 0] = 1.8181818181818181818181818181818e-02_R; 274 410 : _weights[ 1] = 1.0961227326699486446140344958035e-01_R; 275 410 : _weights[ 2] = 1.8716988178030520410814152189943e-01_R; 276 410 : _weights[ 3] = 2.4804810426402831404008486642187e-01_R; 277 410 : _weights[ 4] = 2.8687912477900808867922240333154e-01_R; 278 410 : _weights[ 5] = 3.0021759545569069378593188116998e-01_R; 279 410 : _weights[ 6] = _weights[4]; 280 410 : _weights[ 7] = _weights[3]; 281 410 : _weights[ 8] = _weights[2]; 282 410 : _weights[ 9] = _weights[1]; 283 410 : _weights[10] = _weights[0]; 284 : 285 410 : return; 286 : } 287 : 288 : // 2*12-3 = 21 289 410 : case TWENTIETH: 290 : case TWENTYFIRST: 291 : { 292 410 : _points.resize (12); 293 410 : _weights.resize(12); 294 : 295 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 296 410 : _points[ 1](0) = -9.4489927222288222340758013830322e-01_R; 297 410 : _points[ 2](0) = -8.1927932164400667834864158171690e-01_R; 298 410 : _points[ 3](0) = -6.3287615303186067766240485444366e-01_R; 299 410 : _points[ 4](0) = -3.9953094096534893226434979156697e-01_R; 300 410 : _points[ 5](0) = -1.3655293285492755486406185573969e-01_R; 301 410 : _points[ 6] = -_points[5]; 302 410 : _points[ 7] = -_points[4]; 303 410 : _points[ 8] = -_points[3]; 304 410 : _points[ 9] = -_points[2]; 305 410 : _points[10] = -_points[1]; 306 410 : _points[11] = -_points[0]; 307 : 308 410 : _weights[ 0] = 1.5151515151515151515151515151515e-02_R; 309 410 : _weights[ 1] = 9.1684517413196130668342594134079e-02_R; 310 410 : _weights[ 2] = 1.5797470556437011516467106270034e-01_R; 311 410 : _weights[ 3] = 2.1250841776102114535830207736687e-01_R; 312 410 : _weights[ 4] = 2.5127560319920128029324441214760e-01_R; 313 410 : _weights[ 5] = 2.7140524091069617700028833849960e-01_R; 314 410 : _weights[ 6] = _weights[5]; 315 410 : _weights[ 7] = _weights[4]; 316 410 : _weights[ 8] = _weights[3]; 317 410 : _weights[ 9] = _weights[2]; 318 410 : _weights[10] = _weights[1]; 319 410 : _weights[11] = _weights[0]; 320 : 321 410 : return; 322 : } 323 : 324 : // 2*13-3 = 23 325 410 : case TWENTYSECOND: 326 : case TWENTYTHIRD: 327 : { 328 410 : _points.resize (13); 329 410 : _weights.resize(13); 330 : 331 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 332 410 : _points[ 1](0) = -9.5330984664216391189690546475545e-01_R; 333 410 : _points[ 2](0) = -8.4634756465187231686592560709875e-01_R; 334 410 : _points[ 3](0) = -6.8618846908175742607275903956636e-01_R; 335 410 : _points[ 4](0) = -4.8290982109133620174693723363693e-01_R; 336 410 : _points[ 5](0) = -2.4928693010623999256867370037423e-01_R; 337 410 : _points[ 6](0) = 0.; 338 410 : _points[ 7] = -_points[5]; 339 410 : _points[ 8] = -_points[4]; 340 410 : _points[ 9] = -_points[3]; 341 410 : _points[10] = -_points[2]; 342 410 : _points[11] = -_points[1]; 343 410 : _points[12] = -_points[0]; 344 : 345 410 : _weights[ 0] = 1.2820512820512820512820512820513e-02_R; 346 410 : _weights[ 1] = 7.7801686746818927793588988333134e-02_R; 347 410 : _weights[ 2] = 1.3498192668960834911991476258937e-01_R; 348 410 : _weights[ 3] = 1.8364686520355009200749425874681e-01_R; 349 410 : _weights[ 4] = 2.2076779356611008608553400837940e-01_R; 350 410 : _weights[ 5] = 2.4401579030667635645857814836016e-01_R; 351 410 : _weights[ 6] = 2.5193084933344673604413864154124e-01_R; 352 410 : _weights[ 7] = _weights[5]; 353 410 : _weights[ 8] = _weights[4]; 354 410 : _weights[ 9] = _weights[3]; 355 410 : _weights[10] = _weights[2]; 356 410 : _weights[11] = _weights[1]; 357 410 : _weights[12] = _weights[0]; 358 : 359 410 : return; 360 : } 361 : 362 : // 2*14-3 = 25 363 410 : case TWENTYFOURTH: 364 : case TWENTYFIFTH: 365 : { 366 410 : _points.resize (14); 367 410 : _weights.resize(14); 368 : 369 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 370 410 : _points[ 1](0) = -9.5993504526726090135510016201542e-01_R; 371 410 : _points[ 2](0) = -8.6780105383034725100022020290826e-01_R; 372 410 : _points[ 3](0) = -7.2886859909132614058467240052088e-01_R; 373 410 : _points[ 4](0) = -5.5063940292864705531662270585908e-01_R; 374 410 : _points[ 5](0) = -3.4272401334271284504390340364167e-01_R; 375 410 : _points[ 6](0) = -1.1633186888370386765877670973616e-01_R; 376 410 : _points[ 7] = -_points[6]; 377 410 : _points[ 8] = -_points[5]; 378 410 : _points[ 9] = -_points[4]; 379 410 : _points[10] = -_points[3]; 380 410 : _points[11] = -_points[2]; 381 410 : _points[12] = -_points[1]; 382 410 : _points[13] = -_points[0]; 383 : 384 410 : _weights[ 0] = 1.0989010989010989010989010989011e-02_R; 385 410 : _weights[ 1] = 6.6837284497681284634070660746053e-02_R; 386 410 : _weights[ 2] = 1.1658665589871165154099667065465e-01_R; 387 410 : _weights[ 3] = 1.6002185176295214241282099798759e-01_R; 388 410 : _weights[ 4] = 1.9482614937341611864033177837588e-01_R; 389 410 : _weights[ 5] = 2.1912625300977075487116252395417e-01_R; 390 410 : _weights[ 6] = 2.3161279446845705888962835729264e-01_R; 391 410 : _weights[ 7] = _weights[6]; 392 410 : _weights[ 8] = _weights[5]; 393 410 : _weights[ 9] = _weights[4]; 394 410 : _weights[10] = _weights[3]; 395 410 : _weights[11] = _weights[2]; 396 410 : _weights[12] = _weights[1]; 397 410 : _weights[13] = _weights[0]; 398 : 399 410 : return; 400 : } 401 : 402 : // 2*15-3 = 27 403 410 : case TWENTYSIXTH: 404 : case TWENTYSEVENTH: 405 : { 406 410 : _points.resize (15); 407 410 : _weights.resize(15); 408 : 409 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 410 410 : _points[ 1](0) = -9.6524592650383857279585139206960e-01_R; 411 410 : _points[ 2](0) = -8.8508204422297629882540163148223e-01_R; 412 410 : _points[ 3](0) = -7.6351968995181520070411847597629e-01_R; 413 410 : _points[ 4](0) = -6.0625320546984571112352993863673e-01_R; 414 410 : _points[ 5](0) = -4.2063805471367248092189693873858e-01_R; 415 410 : _points[ 6](0) = -2.1535395536379423822567944627292e-01_R; 416 410 : _points[ 7](0) = 0.; 417 410 : _points[ 8] = -_points[6]; 418 410 : _points[ 9] = -_points[5]; 419 410 : _points[10] = -_points[4]; 420 410 : _points[11] = -_points[3]; 421 410 : _points[12] = -_points[2]; 422 410 : _points[13] = -_points[1]; 423 410 : _points[14] = -_points[0]; 424 : 425 410 : _weights[ 0] = 9.5238095238095238095238095238095e-03_R; 426 410 : _weights[ 1] = 5.8029893028601249096880584025282e-02_R; 427 410 : _weights[ 2] = 1.0166007032571806760366617078880e-01_R; 428 410 : _weights[ 3] = 1.4051169980242810946044680564367e-01_R; 429 410 : _weights[ 4] = 1.7278964725360094905207709940835e-01_R; 430 410 : _weights[ 5] = 1.9698723596461335609250034650741e-01_R; 431 410 : _weights[ 6] = 2.1197358592682092012743007697722e-01_R; 432 410 : _weights[ 7] = 2.1704811634881564951495021425091e-01_R; 433 410 : _weights[ 8] = _weights[6]; 434 410 : _weights[ 9] = _weights[5]; 435 410 : _weights[10] = _weights[4]; 436 410 : _weights[11] = _weights[3]; 437 410 : _weights[12] = _weights[2]; 438 410 : _weights[13] = _weights[1]; 439 410 : _weights[14] = _weights[0]; 440 : 441 410 : return; 442 : } 443 : 444 : // 2*16-3 = 29 445 410 : case TWENTYEIGHTH: 446 : case TWENTYNINTH: 447 : { 448 410 : _points.resize (16); 449 410 : _weights.resize(16); 450 : 451 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 452 410 : _points[ 1](0) = -9.6956804627021793295224273836746e-01_R; 453 410 : _points[ 2](0) = -8.9920053309347209299462826151985e-01_R; 454 410 : _points[ 3](0) = -7.9200829186181506393108827096315e-01_R; 455 410 : _points[ 4](0) = -6.5238870288249308946788321964058e-01_R; 456 410 : _points[ 5](0) = -4.8605942188713761178189078584687e-01_R; 457 410 : _points[ 6](0) = -2.9983046890076320809835345472230e-01_R; 458 410 : _points[ 7](0) = -1.0132627352194944784303300504592e-01_R; 459 410 : _points[ 8] = -_points[7]; 460 410 : _points[ 9] = -_points[6]; 461 410 : _points[10] = -_points[5]; 462 410 : _points[11] = -_points[4]; 463 410 : _points[12] = -_points[3]; 464 410 : _points[13] = -_points[2]; 465 410 : _points[14] = -_points[1]; 466 410 : _points[15] = -_points[0]; 467 : 468 410 : _weights[ 0] = 8.3333333333333333333333333333333e-03_R; 469 410 : _weights[ 1] = 5.0850361005919905403244919565455e-02_R; 470 410 : _weights[ 2] = 8.9393697325930800991052080166084e-02_R; 471 410 : _weights[ 3] = 1.2425538213251409834953633265731e-01_R; 472 410 : _weights[ 4] = 1.5402698080716428081564494048499e-01_R; 473 410 : _weights[ 5] = 1.7749191339170412530107566952836e-01_R; 474 410 : _weights[ 6] = 1.9369002382520358431691359885352e-01_R; 475 410 : _weights[ 7] = 2.0195830817822987148919912541094e-01_R; 476 410 : _weights[ 8] = _weights[7]; 477 410 : _weights[ 9] = _weights[6]; 478 410 : _weights[10] = _weights[5]; 479 410 : _weights[11] = _weights[4]; 480 410 : _weights[12] = _weights[3]; 481 410 : _weights[13] = _weights[2]; 482 410 : _weights[14] = _weights[1]; 483 410 : _weights[15] = _weights[0]; 484 : 485 410 : return; 486 : } 487 : 488 : // 2*17-3 = 31 489 410 : case THIRTIETH: 490 : case THIRTYFIRST: 491 : { 492 410 : _points.resize (17); 493 410 : _weights.resize(17); 494 : 495 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 496 410 : _points[ 1](0) = -9.7313217663141831415697950187372e-01_R; 497 410 : _points[ 2](0) = -9.1087999591557359562380250639773e-01_R; 498 410 : _points[ 3](0) = -8.1569625122177030710675055323753e-01_R; 499 410 : _points[ 4](0) = -6.9102898062768470539491935737245e-01_R; 500 410 : _points[ 5](0) = -5.4138539933010153912373340750406e-01_R; 501 410 : _points[ 6](0) = -3.7217443356547704190723468073526e-01_R; 502 410 : _points[ 7](0) = -1.8951197351831738830426301475311e-01_R; 503 410 : _points[ 8](0) = 0.; 504 410 : _points[ 9] = -_points[7]; 505 410 : _points[10] = -_points[6]; 506 410 : _points[11] = -_points[5]; 507 410 : _points[12] = -_points[4]; 508 410 : _points[13] = -_points[3]; 509 410 : _points[14] = -_points[2]; 510 410 : _points[15] = -_points[1]; 511 410 : _points[16] = -_points[0]; 512 : 513 410 : _weights[ 0] = 7.3529411764705882352941176470588e-03_R; 514 410 : _weights[ 1] = 4.4921940543254209647400954623212e-02_R; 515 410 : _weights[ 2] = 7.9198270503687119190264429952835e-02_R; 516 410 : _weights[ 3] = 1.1059290900702816137577270522008e-01_R; 517 410 : _weights[ 4] = 1.3798774620192655905620157495403e-01_R; 518 410 : _weights[ 5] = 1.6039466199762153951632836586475e-01_R; 519 410 : _weights[ 6] = 1.7700425351565787043694574536329e-01_R; 520 410 : _weights[ 7] = 1.8721633967761923589208848286062e-01_R; 521 410 : _weights[ 8] = 1.9066187475346943329940724702825e-01_R; 522 410 : _weights[ 9] = _weights[7]; 523 410 : _weights[10] = _weights[6]; 524 410 : _weights[11] = _weights[5]; 525 410 : _weights[12] = _weights[4]; 526 410 : _weights[13] = _weights[3]; 527 410 : _weights[14] = _weights[2]; 528 410 : _weights[15] = _weights[1]; 529 410 : _weights[16] = _weights[0]; 530 : 531 410 : return; 532 : } 533 : 534 : // 2*18-3 = 33 535 410 : case THIRTYSECOND: 536 : case THIRTYTHIRD: 537 : { 538 410 : _points.resize (18); 539 410 : _weights.resize(18); 540 : 541 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 542 410 : _points[ 1](0) = -9.7610555741219854286451892434170e-01_R; 543 410 : _points[ 2](0) = -9.2064918534753387383785462543128e-01_R; 544 410 : _points[ 3](0) = -8.3559353521809021371364636232794e-01_R; 545 410 : _points[ 4](0) = -7.2367932928324268130621036530207e-01_R; 546 410 : _points[ 5](0) = -5.8850483431866176117353589319356e-01_R; 547 410 : _points[ 6](0) = -4.3441503691212397534228713674067e-01_R; 548 410 : _points[ 7](0) = -2.6636265287828098416766533202560e-01_R; 549 410 : _points[ 8](0) = -8.9749093484652111022645010088562e-02_R; 550 410 : _points[ 9] = -_points[8]; 551 410 : _points[10] = -_points[7]; 552 410 : _points[11] = -_points[6]; 553 410 : _points[12] = -_points[5]; 554 410 : _points[13] = -_points[4]; 555 410 : _points[14] = -_points[3]; 556 410 : _points[15] = -_points[2]; 557 410 : _points[16] = -_points[1]; 558 410 : _points[17] = -_points[0]; 559 : 560 410 : _weights[ 0] = 6.5359477124183006535947712418301e-03_R; 561 410 : _weights[ 1] = 3.9970628810914066137599176410101e-02_R; 562 410 : _weights[ 2] = 7.0637166885633664999222960167786e-02_R; 563 410 : _weights[ 3] = 9.9016271717502802394423605318672e-02_R; 564 410 : _weights[ 4] = 1.2421053313296710026339635889675e-01_R; 565 410 : _weights[ 5] = 1.4541196157380226798300321049443e-01_R; 566 410 : _weights[ 6] = 1.6193951723760248926432670670023e-01_R; 567 410 : _weights[ 7] = 1.7326210948945622601061440382668e-01_R; 568 410 : _weights[ 8] = 1.7901586343970308229381880694353e-01_R; 569 410 : _weights[ 9] = _weights[8]; 570 410 : _weights[10] = _weights[7]; 571 410 : _weights[11] = _weights[6]; 572 410 : _weights[12] = _weights[5]; 573 410 : _weights[13] = _weights[4]; 574 410 : _weights[14] = _weights[3]; 575 410 : _weights[15] = _weights[2]; 576 410 : _weights[16] = _weights[1]; 577 410 : _weights[17] = _weights[0]; 578 : 579 410 : return; 580 : } 581 : 582 : // 2*19-3 = 35 583 410 : case THIRTYFOURTH: 584 : case THIRTYFIFTH: 585 : { 586 410 : _points.resize (19); 587 410 : _weights.resize(19); 588 : 589 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 590 410 : _points[ 1](0) = -9.7861176622208009515263406311022e-01_R; 591 410 : _points[ 2](0) = -9.2890152815258624371794025879655e-01_R; 592 410 : _points[ 3](0) = -8.5246057779664609308595597004106e-01_R; 593 410 : _points[ 4](0) = -7.5149420255261301416363748963394e-01_R; 594 410 : _points[ 5](0) = -6.2890813726522049776683230622873e-01_R; 595 410 : _points[ 6](0) = -4.8822928568071350277790963762492e-01_R; 596 410 : _points[ 7](0) = -3.3350484782449861029850010384493e-01_R; 597 410 : _points[ 8](0) = -1.6918602340928157137515415344488e-01_R; 598 410 : _points[ 9](0) = 0.; 599 410 : _points[10] = -_points[8]; 600 410 : _points[11] = -_points[7]; 601 410 : _points[12] = -_points[6]; 602 410 : _points[13] = -_points[5]; 603 410 : _points[14] = -_points[4]; 604 410 : _points[15] = -_points[3]; 605 410 : _points[16] = -_points[2]; 606 410 : _points[17] = -_points[1]; 607 410 : _points[18] = -_points[0]; 608 : 609 410 : _weights[ 0] = 5.8479532163742690058479532163743e-03_R; 610 410 : _weights[ 1] = 3.5793365186176477115425569035122e-02_R; 611 410 : _weights[ 2] = 6.3381891762629736851695690418317e-02_R; 612 410 : _weights[ 3] = 8.9131757099207084448008790556153e-02_R; 613 410 : _weights[ 4] = 1.1231534147730504407091001546378e-01_R; 614 410 : _weights[ 5] = 1.3226728044875077692604673390973e-01_R; 615 410 : _weights[ 6] = 1.4841394259593888500968064366841e-01_R; 616 410 : _weights[ 7] = 1.6029092404406124197991096818359e-01_R; 617 410 : _weights[ 8] = 1.6755658452714286727013727774026e-01_R; 618 410 : _weights[ 9] = 1.7000191928482723464467271561652e-01_R; 619 410 : _weights[10] = _weights[8]; 620 410 : _weights[11] = _weights[7]; 621 410 : _weights[12] = _weights[6]; 622 410 : _weights[13] = _weights[5]; 623 410 : _weights[14] = _weights[4]; 624 410 : _weights[15] = _weights[3]; 625 410 : _weights[16] = _weights[2]; 626 410 : _weights[17] = _weights[1]; 627 410 : _weights[18] = _weights[0]; 628 : 629 410 : return; 630 : } 631 : 632 : // 2*20-3 = 37 633 410 : case THIRTYSIXTH: 634 : case THIRTYSEVENTH: 635 : { 636 410 : _points.resize (20); 637 410 : _weights.resize(20); 638 : 639 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 640 410 : _points[ 1](0) = -9.8074370489391417192544643858423e-01_R; 641 410 : _points[ 2](0) = -9.3593449881266543571618158493063e-01_R; 642 410 : _points[ 3](0) = -8.6687797808995014130984721461629e-01_R; 643 410 : _points[ 4](0) = -7.7536826095205587041431752759469e-01_R; 644 410 : _points[ 5](0) = -6.6377640229031128984640332297116e-01_R; 645 410 : _points[ 6](0) = -5.3499286403188626164813596182898e-01_R; 646 410 : _points[ 7](0) = -3.9235318371390929938647470381582e-01_R; 647 410 : _points[ 8](0) = -2.3955170592298649518240135692709e-01_R; 648 410 : _points[ 9](0) = -8.0545937238821837975944518159554e-02_R; 649 410 : _points[10] = -_points[9]; 650 410 : _points[11] = -_points[8]; 651 410 : _points[12] = -_points[7]; 652 410 : _points[13] = -_points[6]; 653 410 : _points[14] = -_points[5]; 654 410 : _points[15] = -_points[4]; 655 410 : _points[16] = -_points[3]; 656 410 : _points[17] = -_points[2]; 657 410 : _points[18] = -_points[1]; 658 410 : _points[19] = -_points[0]; 659 : 660 410 : _weights[ 0] = 5.2631578947368421052631578947368e-03_R; 661 410 : _weights[ 1] = 3.2237123188488941491605028117294e-02_R; 662 410 : _weights[ 2] = 5.7181802127566826004753627173243e-02_R; 663 410 : _weights[ 3] = 8.0631763996119603144776846113721e-02_R; 664 410 : _weights[ 4] = 1.0199149969945081568378120573289e-01_R; 665 410 : _weights[ 5] = 1.2070922762867472509942970500239e-01_R; 666 410 : _weights[ 6] = 1.3630048235872418448978079298903e-01_R; 667 410 : _weights[ 7] = 1.4836155407091682581471301373397e-01_R; 668 410 : _weights[ 8] = 1.5658010264747548715816989679364e-01_R; 669 410 : _weights[ 9] = 1.6074328638784574900772672644908e-01_R; 670 410 : _weights[10] = _weights[9]; 671 410 : _weights[11] = _weights[8]; 672 410 : _weights[12] = _weights[7]; 673 410 : _weights[13] = _weights[6]; 674 410 : _weights[14] = _weights[5]; 675 410 : _weights[15] = _weights[4]; 676 410 : _weights[16] = _weights[3]; 677 410 : _weights[17] = _weights[2]; 678 410 : _weights[18] = _weights[1]; 679 410 : _weights[19] = _weights[0]; 680 : 681 410 : return; 682 : } 683 : 684 : // 2*21-3 = 39 685 410 : case THIRTYEIGHTH: 686 : case THIRTYNINTH: 687 : { 688 410 : _points.resize (21); 689 410 : _weights.resize(21); 690 : 691 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 692 410 : _points[ 1](0) = -9.8257229660454802823448127655541e-01_R; 693 410 : _points[ 2](0) = -9.4197629695974553429610265066144e-01_R; 694 410 : _points[ 3](0) = -8.7929475532359046445115359630494e-01_R; 695 410 : _points[ 4](0) = -7.9600192607771240474431258966036e-01_R; 696 410 : _points[ 5](0) = -6.9405102606222323262731639319467e-01_R; 697 410 : _points[ 6](0) = -5.7583196026183068692702187033809e-01_R; 698 410 : _points[ 7](0) = -4.4411578327900210119451634960735e-01_R; 699 410 : _points[ 8](0) = -3.0198985650876488727535186785875e-01_R; 700 410 : _points[ 9](0) = -1.5278551580218546600635832848567e-01_R; 701 410 : _points[10](0) = 0.; 702 410 : _points[11] = -_points[9]; 703 410 : _points[12] = -_points[8]; 704 410 : _points[13] = -_points[7]; 705 410 : _points[14] = -_points[6]; 706 410 : _points[15] = -_points[5]; 707 410 : _points[16] = -_points[4]; 708 410 : _points[17] = -_points[3]; 709 410 : _points[18] = -_points[2]; 710 410 : _points[19] = -_points[1]; 711 410 : _points[20] = -_points[0]; 712 : 713 410 : _weights[ 0] = 4.7619047619047619047619047619048e-03_R; 714 410 : _weights[ 1] = 2.9184840098505458609458543613171e-02_R; 715 410 : _weights[ 2] = 5.1843169000849625072722971852830e-02_R; 716 410 : _weights[ 3] = 7.3273918185074144252547861041894e-02_R; 717 410 : _weights[ 4] = 9.2985467957886065301137664149214e-02_R; 718 410 : _weights[ 5] = 1.1051708321912333526700048678439e-01_R; 719 410 : _weights[ 6] = 1.2545812119086894801515753570800e-01_R; 720 410 : _weights[ 7] = 1.3745846286004134358089961741515e-01_R; 721 410 : _weights[ 8] = 1.4623686244797745926727053063439e-01_R; 722 410 : _weights[ 9] = 1.5158757511168138445325068150529e-01_R; 723 410 : _weights[10] = 1.5338519033217494855158440506754e-01_R; 724 410 : _weights[11] = _weights[9]; 725 410 : _weights[12] = _weights[8]; 726 410 : _weights[13] = _weights[7]; 727 410 : _weights[14] = _weights[6]; 728 410 : _weights[15] = _weights[5]; 729 410 : _weights[16] = _weights[4]; 730 410 : _weights[17] = _weights[3]; 731 410 : _weights[18] = _weights[2]; 732 410 : _weights[19] = _weights[1]; 733 410 : _weights[20] = _weights[0]; 734 : 735 410 : return; 736 : } 737 : 738 : // 2*22-3 = 41 739 410 : case FORTIETH: 740 : case FORTYFIRST: 741 : { 742 410 : _points.resize (22); 743 410 : _weights.resize(22); 744 : 745 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 746 410 : _points[ 1](0) = -9.8415243845764617655228962221207e-01_R; 747 410 : _points[ 2](0) = -9.4720428399922868052421376661573e-01_R; 748 410 : _points[ 3](0) = -8.9006229019090447052965782577909e-01_R; 749 410 : _points[ 4](0) = -8.1394892761192113604544184805614e-01_R; 750 410 : _points[ 5](0) = -7.2048723996120215811988189639847e-01_R; 751 410 : _points[ 6](0) = -6.1166943828425897122621160586993e-01_R; 752 410 : _points[ 7](0) = -4.8981487518990234980875123568327e-01_R; 753 410 : _points[ 8](0) = -3.5752071013891953806095728024018e-01_R; 754 410 : _points[ 9](0) = -2.1760658515928504178795509346539e-01_R; 755 410 : _points[10](0) = -7.3054540010898334761088790464107e-02_R; 756 410 : _points[11] = -_points[10]; 757 410 : _points[12] = -_points[9]; 758 410 : _points[13] = -_points[8]; 759 410 : _points[14] = -_points[7]; 760 410 : _points[15] = -_points[6]; 761 410 : _points[16] = -_points[5]; 762 410 : _points[17] = -_points[4]; 763 410 : _points[18] = -_points[3]; 764 410 : _points[19] = -_points[2]; 765 410 : _points[20] = -_points[1]; 766 410 : _points[21] = -_points[0]; 767 : 768 410 : _weights[ 0] = 4.3290043290043290043290043290043e-03_R; 769 410 : _weights[ 1] = 2.6545747682501757911627904520543e-02_R; 770 410 : _weights[ 2] = 4.7214465293740752123775734864792e-02_R; 771 410 : _weights[ 3] = 6.6865605864553076012404194157097e-02_R; 772 410 : _weights[ 4] = 8.5090060391838447815711236095748e-02_R; 773 410 : _weights[ 5] = 1.0150057480164767437243730374960e-01_R; 774 410 : _weights[ 6] = 1.1574764465393906659003636772146e-01_R; 775 410 : _weights[ 7] = 1.2752769665343027553084445930883e-01_R; 776 410 : _weights[ 8] = 1.3658968861374142668617736220617e-01_R; 777 410 : _weights[ 9] = 1.4274049227136140033623599356679e-01_R; 778 410 : _weights[10] = 1.4584901944424179361642043947997e-01_R; 779 410 : _weights[11] = _weights[10]; 780 410 : _weights[12] = _weights[9]; 781 410 : _weights[13] = _weights[8]; 782 410 : _weights[14] = _weights[7]; 783 410 : _weights[15] = _weights[6]; 784 410 : _weights[16] = _weights[5]; 785 410 : _weights[17] = _weights[4]; 786 410 : _weights[18] = _weights[3]; 787 410 : _weights[19] = _weights[2]; 788 410 : _weights[20] = _weights[1]; 789 410 : _weights[21] = _weights[0]; 790 : 791 410 : return; 792 : } 793 : 794 : // 2*23-3 = 43 795 410 : case FORTYSECOND: 796 : case FORTYTHIRD: 797 : { 798 410 : _points.resize (23); 799 410 : _weights.resize(23); 800 : 801 410 : _points[ 0](0) = -1.0000000000000000000000000000000e+00_R; 802 410 : _points[ 1](0) = -9.8552715587873257808146276673810e-01_R; 803 410 : _points[ 2](0) = -9.5175795571071020413563967985143e-01_R; 804 410 : _points[ 3](0) = -8.9945855804034501095016032034737e-01_R; 805 410 : _points[ 4](0) = -8.2965109665128588622320061929000e-01_R; 806 410 : _points[ 5](0) = -7.4369504117206068394516354306700e-01_R; 807 410 : _points[ 6](0) = -6.4326364446013620847614553360277e-01_R; 808 410 : _points[ 7](0) = -5.3031177113684416813011532015230e-01_R; 809 410 : _points[ 8](0) = -4.0703793791447482919595048821510e-01_R; 810 410 : _points[ 9](0) = -2.7584154894579306710687763267914e-01_R; 811 410 : _points[10](0) = -1.3927620404066839859186261298277e-01_R; 812 410 : _points[11](0) = 0.; 813 410 : _points[12] = -_points[10]; 814 410 : _points[13] = -_points[9]; 815 410 : _points[14] = -_points[8]; 816 410 : _points[15] = -_points[7]; 817 410 : _points[16] = -_points[6]; 818 410 : _points[17] = -_points[5]; 819 410 : _points[18] = -_points[4]; 820 410 : _points[19] = -_points[3]; 821 410 : _points[20] = -_points[2]; 822 410 : _points[21] = -_points[1]; 823 410 : _points[22] = -_points[0]; 824 : 825 410 : _weights[ 0] = 3.9525691699604743083003952569170e-03_R; 826 410 : _weights[ 1] = 2.4248600771531736517399658937097e-02_R; 827 410 : _weights[ 2] = 4.3175871170241834748876465612042e-02_R; 828 410 : _weights[ 3] = 6.1252477129554206381382847440355e-02_R; 829 410 : _weights[ 4] = 7.8135449475569989741934255347965e-02_R; 830 410 : _weights[ 5] = 9.3497246163512341833500706906697e-02_R; 831 410 : _weights[ 6] = 1.0703910172433651153518362791547e-01_R; 832 410 : _weights[ 7] = 1.1849751066274913130212600472426e-01_R; 833 410 : _weights[ 8] = 1.2764947470175887663614855305567e-01_R; 834 410 : _weights[ 9] = 1.3431687263860381990156489770071e-01_R; 835 410 : _weights[10] = 1.3836993638580739452350273386294e-01_R; 836 410 : _weights[11] = 1.3972978001274736514015970647975e-01_R; 837 410 : _weights[12] = _weights[10]; 838 410 : _weights[13] = _weights[9]; 839 410 : _weights[14] = _weights[8]; 840 410 : _weights[15] = _weights[7]; 841 410 : _weights[16] = _weights[6]; 842 410 : _weights[17] = _weights[5]; 843 410 : _weights[18] = _weights[4]; 844 410 : _weights[19] = _weights[3]; 845 410 : _weights[20] = _weights[2]; 846 410 : _weights[21] = _weights[1]; 847 410 : _weights[22] = _weights[0]; 848 : 849 410 : return; 850 : } 851 : 852 0 : default: 853 0 : libmesh_error_msg("Quadrature rule " << _order << " not supported!"); 854 : } 855 : } 856 : 857 : } // namespace libMesh