LCOV - code coverage report
Current view: top level - src/quadrature - quadrature_gauss_lobatto_1D.C (source / functions) Hit Total Coverage
Test: libMesh/libmesh: #4583 (689827) with base 9e5b0b Lines: 640 642 99.7 %
Date: 2026-10-16 15:05:09 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          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

Generated by: LCOV version 1.14