21 #include "libmesh/quadrature_gauss.h" 22 #include "libmesh/quadrature_conical.h" 23 #include "libmesh/enum_to_string.h" 25 #include "libmesh/face_c0polygon.h" 141 _points[0](0) = 1.5505102572168219018027159252941e-01_R;
142 _points[0](1) = 1.7855872826361642311703513337422e-01_R;
143 _points[1](0) = 6.4494897427831780981972840747059e-01_R;
144 _points[1](1) = 7.5031110222608118177475598324603e-02_R;
145 _points[2](0) = 1.5505102572168219018027159252941e-01_R;
146 _points[2](1) = 6.6639024601470138670269327409637e-01_R;
147 _points[3](0) = 6.4494897427831780981972840747059e-01_R;
148 _points[3](1) = 2.8001991549907407200279599420481e-01_R;
150 _weights[0] = 1.5902069087198858469718450103758e-01_R;
151 _weights[1] = 9.0979309128011415302815498962418e-02_R;
152 _weights[2] = 1.5902069087198858469718450103758e-01_R;
153 _weights[3] = 9.0979309128011415302815498962418e-02_R;
208 const unsigned int n_wts = 2;
209 const Real wts[n_wts] =
211 1.1169079483900573284750350421656140e-01_R,
212 5.4975871827660933819163162450105264e-02_R
215 const Real a[n_wts] =
217 4.4594849091596488631832925388305199e-01_R,
218 9.1576213509770743459571463402201508e-02_R
221 const Real b[n_wts] = {0., 0.};
222 const unsigned int permutation_ids[n_wts] = {3, 3};
236 const unsigned int n_wts = 3;
237 const Real wts[n_wts] =
240 Real(31)/480 + std::sqrt(
Real(15))/2400,
241 Real(31)/480 - std::sqrt(
Real(15))/2400
244 const Real a[n_wts] =
251 const Real b[n_wts] = {0., 0., 0.};
252 const unsigned int permutation_ids[n_wts] = {1, 3, 3};
278 const unsigned int n_wts = 3;
279 const Real wts[n_wts] =
281 5.8393137863189683012644805692789721e-02_R,
282 2.5422453185103408460468404553434492e-02_R,
283 4.1425537809186787596776728210221227e-02_R
286 const Real a[n_wts] =
288 2.4928674517091042129163855310701908e-01_R,
289 6.3089014491502228340331602870819157e-02_R,
290 3.1035245103378440541660773395655215e-01_R
293 const Real b[n_wts] =
297 6.3650249912139864723014259441204970e-01_R
300 const unsigned int permutation_ids[n_wts] = {3, 3, 6};
336 const unsigned int nrows=4;
343 const Real rule_data[nrows][3] = {
344 {6.2382265094402118173683000996350e-02_R, 6.7517867073916085442557131050869e-02_R, 2.6517028157436251428754180460739e-02_R},
345 {5.5225456656926611737479190275645e-02_R, 3.2150249385198182266630784919920e-01_R, 4.3881408714446055036769903139288e-02_R},
346 {3.4324302945097146469630642483938e-02_R, 6.6094919618673565761198031019780e-01_R, 2.8775042784981585738445496900219e-02_R},
347 {5.1584233435359177925746338682643e-01_R, 2.7771616697639178256958187139372e-01_R, 6.7493187009802774462697086166421e-02_R}
350 for (
unsigned int i=0, offset=0; i<nrows; ++i)
352 _points[offset + 0] =
Point(rule_data[i][0], rule_data[i][1]);
353 _points[offset + 1] =
Point(1.-rule_data[i][0]-rule_data[i][1], rule_data[i][0]);
354 _points[offset + 2] =
Point(rule_data[i][1], 1.-rule_data[i][0]-rule_data[i][1]);
357 _weights[offset + 0] = rule_data[i][2];
358 _weights[offset + 1] = rule_data[i][2];
359 _weights[offset + 2] = rule_data[i][2];
415 const unsigned int n_wts = 5;
416 const Real wts[n_wts] =
418 7.2157803838893584125545555244532310e-02_R,
419 4.7545817133642312396948052194292159e-02_R,
420 5.1608685267359125140895775146064515e-02_R,
421 1.6229248811599040155462964170890299e-02_R,
422 1.3615157087217497132422345036954462e-02_R
425 const Real a[n_wts] =
428 4.5929258829272315602881551449416932e-01_R,
429 1.7056930775176020662229350149146450e-01_R,
430 5.0547228317030975458423550596598947e-02_R,
431 2.6311282963463811342178578628464359e-01_R,
434 const Real b[n_wts] =
440 7.2849239295540428124100037917606196e-01_R
443 const unsigned int permutation_ids[n_wts] = {1, 3, 3, 3, 6};
463 const unsigned int n_wts = 6;
464 const Real wts[n_wts] =
466 4.8567898141399416909620991253644315e-02_R,
467 1.5667350113569535268427415643604658e-02_R,
468 1.2788837829349015630839399279499912e-02_R,
469 3.8913770502387139658369678149701978e-02_R,
470 3.9823869463605126516445887132022637e-02_R,
471 2.1641769688644688644688644688644689e-02_R
474 const Real a[n_wts] =
477 4.8968251919873762778370692483619280e-01_R,
478 4.4729513394452709865106589966276365e-02_R,
479 4.3708959149293663726993036443535497e-01_R,
480 1.8820353561903273024096128046733557e-01_R,
481 2.2196298916076569567510252769319107e-01_R
484 const Real b[n_wts] =
491 7.4119859878449802069007987352342383e-01_R
494 const unsigned int permutation_ids[n_wts] = {1, 3, 3, 3, 3, 6};
513 const unsigned int n_wts = 6;
514 const Real wts[n_wts] =
516 4.5408995191376790047643297550014267e-02_R,
517 1.8362978878233352358503035945683300e-02_R,
518 2.2660529717763967391302822369298659e-02_R,
519 3.6378958422710054302157588309680344e-02_R,
520 1.4163621265528742418368530791049552e-02_R,
521 4.7108334818664117299637354834434138e-03_R
524 const Real a[n_wts] =
527 4.8557763338365737736750753220812615e-01_R,
528 1.0948157548503705479545863134052284e-01_R,
529 3.0793983876412095016515502293063162e-01_R,
530 2.4667256063990269391727646541117681e-01_R,
531 6.6803251012200265773540212762024737e-02_R
534 const Real b[n_wts] =
539 5.5035294182099909507816172659300821e-01_R,
540 7.2832390459741092000873505358107866e-01_R,
541 9.2365593358750027664630697761508843e-01_R
544 const unsigned int permutation_ids[n_wts] = {1, 3, 3, 6, 6, 6};
569 const unsigned int n_wts = 6;
570 const Real wts[n_wts] =
572 3.6089021198604635216985338480426484e-02_R,
573 2.1607717807680420303346736867931050e-02_R,
574 3.1144524293927978774861144478241807e-03_R,
575 2.9086855161081509446654185084988077e-02_R,
576 8.4879241614917017182977532679947624e-03_R,
577 1.3795732078224796530729242858347546e-02_R
580 const Real a[n_wts] =
582 3.9355079629947969884346551941969960e-01_R,
583 4.7979065808897448654107733982929214e-01_R,
584 5.1003445645828061436081405648347852e-03_R,
585 2.6597620190330158952732822450744488e-01_R,
586 2.8536418538696461608233522814483715e-01_R,
587 1.3723536747817085036455583801851025e-01_R
590 const Real b[n_wts] =
594 5.6817155788572446538150614865768991e-02_R,
595 1.2539956353662088473247489775203396e-01_R,
596 1.2409970153698532116262152247041742e-02_R,
597 5.2792057988217708934207928630851643e-02_R
600 const unsigned int permutation_ids[n_wts] = {3, 3, 6, 6, 6, 6};
622 const unsigned int n_wts = 8;
623 const Real wts[n_wts] =
625 3.0831305257795086169332418926151771e-03_R,
626 3.1429112108942550177135256546441273e-02_R,
627 1.7398056465354471494664198647499687e-02_R,
628 2.1846272269019201067728631278737487e-02_R,
629 1.2865533220227667708895461535782215e-02_R,
630 1.1178386601151722855919538351159995e-02_R,
631 8.6581155543294461858210504055170332e-03_R,
632 2.0185778883190464758914349626118386e-02_R
635 const Real a[n_wts] =
637 2.1317350453210370246856975515728246e-02_R,
638 2.7121038501211592234595134039689474e-01_R,
639 1.2757614554158592467389632515428357e-01_R,
640 4.3972439229446027297973662348436108e-01_R,
641 4.8821738977380488256466206525881104e-01_R,
642 2.8132558098993954824813069297455275e-01_R,
643 1.1625191590759714124135414784260182e-01_R,
644 2.7571326968551419397479634607976398e-01_R
647 const Real b[n_wts] =
654 6.9583608678780342214163552323607254e-01_R,
655 8.5801403354407263059053661662617818e-01_R,
656 6.0894323577978780685619243776371007e-01_R
659 const unsigned int permutation_ids[n_wts] = {3, 3, 3, 3, 3, 6, 6, 6};
679 const unsigned int n_wts = 9;
680 const Real wts[n_wts] =
682 3.3980018293415822140887212340442440e-02_R,
683 2.7800983765226664353628733005230734e-02_R,
684 2.9139242559599990702383541756669905e-02_R,
685 3.0261685517695859208964000161454122e-03_R,
686 1.1997200964447365386855399725479827e-02_R,
687 1.7320638070424185232993414255459110e-02_R,
688 7.4827005525828336316229285664517190e-03_R,
689 1.2089519905796909568722872786530380e-02_R,
690 4.7953405017716313612975450830554457e-03_R
693 const Real a[n_wts] =
696 4.2694141425980040602081253503137421e-01_R,
697 2.2137228629183290065481255470507908e-01_R,
698 2.1509681108843183869291313534052083e-02_R,
699 4.8907694645253934990068971909020439e-01_R,
700 3.0844176089211777465847185254124531e-01_R,
701 1.1092204280346339541286954522167452e-01_R,
702 1.6359740106785048023388790171095725e-01_R,
703 2.7251581777342966618005046435408685e-01_R
706 const Real b[n_wts] =
713 6.2354599555367557081585435318623659e-01_R,
714 8.6470777029544277530254595089569318e-01_R,
715 7.4850711589995219517301859578870965e-01_R,
716 7.2235779312418796526062013230478405e-01_R
719 const unsigned int permutation_ids[n_wts] = {1, 3, 3, 3, 3, 6, 6, 6, 6};
739 const unsigned int n_wts = 10;
740 const Real wts[n_wts] =
742 1.0941790684714445320422472981662986e-02_R,
743 1.6394176772062675320655489369312672e-02_R,
744 2.5887052253645793157392455083198201e-02_R,
745 2.1081294368496508769115218662093065e-02_R,
746 7.2168498348883338008549607403266583e-03_R,
747 2.4617018012000408409130117545210774e-03_R,
748 1.2332876606281836981437622591818114e-02_R,
749 1.9285755393530341614244513905205430e-02_R,
750 7.2181540567669202480443459995079017e-03_R,
751 2.5051144192503358849300465412445582e-03_R
754 const Real a[n_wts] =
756 4.8896391036217863867737602045239024e-01_R,
757 4.1764471934045392250944082218564344e-01_R,
758 2.7347752830883865975494428326269856e-01_R,
759 1.7720553241254343695661069046505908e-01_R,
760 6.1799883090872601267478828436935788e-02_R,
761 1.9390961248701048178250095054529511e-02_R,
762 1.7226668782135557837528960161365733e-01_R,
763 3.3686145979634500174405519708892539e-01_R,
764 2.9837288213625775297083151805961273e-01_R,
765 1.1897449769695684539818196192990548e-01_R
768 const Real b[n_wts] =
776 7.7060855477499648258903327416742796e-01_R,
777 5.7022229084668317349769621336235426e-01_R,
778 6.8698016780808783735862715402031306e-01_R,
779 8.7975717137017112951457163697460183e-01_R
782 const unsigned int permutation_ids[n_wts]
783 = {3, 3, 3, 3, 3, 3, 6, 6, 6, 6};
810 const unsigned int n_wts = 11;
811 const Real wts[n_wts] =
813 2.4777380743035579804788826970198951e-02_R,
814 9.2433943023307730591540642828347660e-03_R,
815 2.2485768962175402793245929133296627e-03_R,
816 6.7052581900064143760518398833360903e-03_R,
817 1.9011381726930579256700190357527956e-02_R,
818 1.4605445387471889398286155981802858e-02_R,
819 1.5087322572773133722829435011138258e-02_R,
820 1.5630213780078803020711746273129099e-02_R,
821 6.1808086085778203192616856133701233e-03_R,
822 3.2209366452594664857296985751120513e-03_R,
823 5.8747373242569702667677969985668817e-03_R
826 const Real a[n_wts] =
829 7.9031013655541635005816956762252155e-02_R,
830 1.8789501810770077611247984432284226e-02_R,
831 4.9250168823249670532514526605352905e-01_R,
832 4.0886316907744105975059040108092775e-01_R,
833 5.3877851064220142445952549348423733e-01_R,
834 2.0250549804829997692885033941362673e-01_R,
835 5.5349674918711643207148086558288110e-01_R,
836 7.8345022567320812359258882143250181e-01_R,
837 8.9514624528794883409864566727625002e-01_R,
838 3.2515745241110782862789881780746490e-01_R
841 const Real b[n_wts] =
848 1.9412620368774630292701241080996842e-01_R,
849 9.8765911355712115933807754318089099e-02_R,
850 7.7663767064308164090246588765178087e-02_R,
851 2.1594628433980258573654682690950798e-02_R,
852 1.2563596287784997705599005477153617e-02_R,
853 1.5082654870922784345283124845552190e-02_R
856 const unsigned int permutation_ids[n_wts]
857 = {1, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6};
884 const unsigned int n_wts = 12;
885 const Real wts[n_wts] =
887 2.2668082505910087151996321171534230e-02_R,
888 8.4043060714818596159798961899306135e-03_R,
889 1.0850949634049747713966288634484161e-03_R,
890 7.2252773375423638869298219383808751e-03_R,
891 1.2997715227338366024036316182572871e-02_R,
892 2.0054466616677715883228810959112227e-02_R,
893 9.7299841600417010281624372720122710e-03_R,
894 1.1651974438298104227427176444311766e-02_R,
895 9.1291185550484450744725847363097389e-03_R,
896 3.5568614040947150231712567900113671e-03_R,
897 5.8355861686234326181790822005304303e-03_R,
898 4.7411314396804228041879331486234396e-03_R
901 const Real a[n_wts] =
904 8.5402539407933203673769900926355911e-02_R,
905 1.2425572001444092841183633409631260e-02_R,
906 4.9174838341891594024701017768490960e-01_R,
907 4.5669426695387464162068900231444462e-01_R,
908 4.8506759880447437974189793537259677e-01_R,
909 2.0622099278664205707909858461264083e-01_R,
910 3.2374950270039093446805340265853956e-01_R,
911 7.3834330556606586255186213302750029e-01_R,
912 9.1210673061680792565673823935174611e-01_R,
913 6.6129919222598721544966837350891531e-01_R,
914 1.7807138906021476039088828811346122e-01_R
917 const Real b[n_wts] =
924 3.2315912848634384647700266402091638e-01_R,
925 1.5341553679414688425981898952416987e-01_R,
926 7.4295478991330687632977899141707872e-02_R,
927 7.1278762832147862035977841733532020e-02_R,
928 1.6623223223705792825395256602140459e-02_R,
929 1.4160772533794791868984026749196156e-02_R,
930 1.4539694958941854654807449467759690e-02_R
933 const unsigned int permutation_ids[n_wts]
934 = {1, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6};
965 const unsigned int n_wts = 12;
966 const Real wts[n_wts] =
968 1.7464603792572004485690588092246146e-02_R,
969 5.9429003555801725246549713984660076e-03_R,
970 1.2490753345169579649319736639588729e-02_R,
971 1.5386987188875607593083456905596468e-02_R,
972 1.1185807311917706362674684312990270e-02_R,
973 1.0301845740670206831327304917180007e-02_R,
974 1.1767783072977049696840016810370464e-02_R,
975 3.8045312849431209558329128678945240e-03_R,
976 4.5139302178876351271037137230354382e-03_R,
977 2.2178812517580586419412547665472893e-03_R,
978 5.2216271537483672304731416553063103e-03_R,
979 9.8381136389470256422419930926212114e-04_R
982 const Real a[n_wts] =
984 2.8796825754667362165337965123570514e-01_R,
985 4.9216175986208465345536805750663939e-01_R,
986 4.6252866763171173685916780827044612e-01_R,
987 1.6730292951631792248498303276090273e-01_R,
988 1.5816335500814652972296428532213019e-01_R,
989 1.6352252138387564873002458959679529e-01_R,
990 6.2447680488959768233910286168417367e-01_R,
991 8.7317249935244454285263604347964179e-01_R,
992 3.4428164322282694677972239461699271e-01_R,
993 9.1584484467813674010523309855340209e-02_R,
994 2.0172088013378989086826623852040632e-01_R,
995 9.6538762758254643474731509845084691e-01_R
998 const Real b[n_wts] =
1003 3.4429160695501713926320695771253348e-01_R,
1004 2.2541623431550639817203145525444726e-01_R,
1005 8.0670083153531811694942222940484991e-02_R,
1006 6.5967451375050925655738829747288190e-02_R,
1007 4.5677879890996762665044366994439565e-02_R,
1008 1.1528411723154215812386518751976084e-02_R,
1009 9.3057714323900610398389176844165892e-03_R,
1010 1.5916814107619812717966560404970160e-02_R,
1011 1.0734733163764032541125434215228937e-02_R
1014 const unsigned int permutation_ids[n_wts]
1015 = {3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6};
1065 const Real rule_data[17][4] = {
1066 { 1./3., 0., 0., 0.032906331388919e+00 / 2.0},
1067 {0.020780025853987e+00, 0.489609987073006e+00, 0., 0.010330731891272e+00 / 2.0},
1068 {0.090926214604215e+00, 0.454536892697893e+00, 0., 0.022387247263016e+00 / 2.0},
1069 {0.197166638701138e+00, 0.401416680649431e+00, 0., 0.030266125869468e+00 / 2.0},
1070 {0.488896691193805e+00, 0.255551654403098e+00, 0., 0.030490967802198e+00 / 2.0},
1071 {0.645844115695741e+00, 0.177077942152130e+00, 0., 0.024159212741641e+00 / 2.0},
1072 {0.779877893544096e+00, 0.110061053227952e+00, 0., 0.016050803586801e+00 / 2.0},
1073 {0.888942751496321e+00, 0.055528624251840e+00, 0., 0.008084580261784e+00 / 2.0},
1074 {0.974756272445543e+00, 0.012621863777229e+00, 0., 0.002079362027485e+00 / 2.0},
1075 {0.003611417848412e+00, 0.395754787356943e+00, 0.600633794794645e+00, 0.003884876904981e+00 / 2.0},
1076 {0.134466754530780e+00, 0.307929983880436e+00, 0.557603261588784e+00, 0.025574160612022e+00 / 2.0},
1077 {0.014446025776115e+00, 0.264566948406520e+00, 0.720987025817365e+00, 0.008880903573338e+00 / 2.0},
1078 {0.046933578838178e+00, 0.358539352205951e+00, 0.594527068955871e+00, 0.016124546761731e+00 / 2.0},
1079 {0.002861120350567e+00, 0.157807405968595e+00, 0.839331473680839e+00, 0.002491941817491e+00 / 2.0},
1080 {0.223861424097916e+00, 0.075050596975911e+00, 0.701087978926173e+00, 0.018242840118951e+00 / 2.0},
1081 {0.034647074816760e+00, 0.142421601113383e+00, 0.822931324069857e+00, 0.010258563736199e+00 / 2.0},
1082 {0.010161119296278e+00, 0.065494628082938e+00, 0.924344252620784e+00, 0.003799928855302e+00 / 2.0}
1112 const Real rule_data[19][4] = {
1113 {0.33333333333333e+00, 0.0, 0.0, 0.2761042699769952e-01 / 2.0},
1114 {0.00150064932443e+00, 0.49924967533779e+00, 0.0, 0.1779029547326740e-02 / 2.0},
1115 {0.09413975193895e+00, 0.45293012403052e+00, 0.0, 0.2011239811396117e-01 / 2.0},
1116 {0.20447212408953e+00, 0.39776393795524e+00, 0.0, 0.2681784725933157e-01 / 2.0},
1117 {0.47099959493443e+00, 0.26450020253279e+00, 0.0, 0.2452313380150201e-01 / 2.0},
1118 {0.57796207181585e+00, 0.21101896409208e+00, 0.0, 0.1639457841069539e-01 / 2.0},
1119 {0.78452878565746e+00, 0.10773560717127e+00, 0.0, 0.1479590739864960e-01 / 2.0},
1120 {0.92186182432439e+00, 0.03906908783780e+00, 0.0, 0.4579282277704251e-02 / 2.0},
1121 {0.97765124054134e+00, 0.01117437972933e+00, 0.0, 0.1651826515576217e-02 / 2.0},
1122 {0.00534961818734e+00, 0.06354966590835e+00, 0.93110071590431e+00, 0.2349170908575584e-02 / 2.0},
1123 {0.00795481706620e+00, 0.15710691894071e+00, 0.83493826399309e+00, 0.4465925754181793e-02 / 2.0},
1124 {0.01042239828126e+00, 0.39564211436437e+00, 0.59393548735436e+00, 0.6099566807907972e-02 / 2.0},
1125 {0.01096441479612e+00, 0.27316757071291e+00, 0.71586801449097e+00, 0.6891081327188203e-02 / 2.0},
1126 {0.03856671208546e+00, 0.10178538248502e+00, 0.85964790542952e+00, 0.7997475072478163e-02 / 2.0},
1127 {0.03558050781722e+00, 0.44665854917641e+00, 0.51776094300637e+00, 0.7386134285336024e-02 / 2.0},
1128 {0.04967081636276e+00, 0.19901079414950e+00, 0.75131838948773e+00, 0.1279933187864826e-01 / 2.0},
1129 {0.05851972508433e+00, 0.32426118369228e+00, 0.61721909122339e+00, 0.1725807117569655e-01 / 2.0},
1130 {0.12149778700439e+00, 0.20853136321013e+00, 0.66997084978547e+00, 0.1867294590293547e-01 / 2.0},
1131 {0.14071084494394e+00, 0.32317056653626e+00, 0.53611858851980e+00, 0.2281822405839526e-01 / 2.0}
1166 const Real rule_data[26][4] = {
1167 {0.02794648307317e+00, 0.48602675846341e+00, 0.0, 0.8005581880020417e-02 / 2.0},
1168 {0.13117860132765e+00, 0.43441069933617e+00, 0.0, 0.1594707683239050e-01 / 2.0},
1169 {0.22022172951207e+00, 0.38988913524396e+00, 0.0, 0.1310914123079553e-01 / 2.0},
1170 {0.40311353196039e+00, 0.29844323401980e+00, 0.0, 0.1958300096563562e-01 / 2.0},
1171 {0.53191165532526e+00, 0.23404417233737e+00, 0.0, 0.1647088544153727e-01 / 2.0},
1172 {0.69706333078196e+00, 0.15146833460902e+00, 0.0, 0.8547279074092100e-02 / 2.0},
1173 {0.77453221290801e+00, 0.11273389354599e+00, 0.0, 0.8161885857226492e-02 / 2.0},
1174 {0.84456861581695e+00, 0.07771569209153e+00, 0.0, 0.6121146539983779e-02 / 2.0},
1175 {0.93021381277141e+00, 0.03489309361430e+00, 0.0, 0.2908498264936665e-02 / 2.0},
1176 {0.98548363075813e+00, 0.00725818462093e+00, 0.0, 0.6922752456619963e-03 / 2.0},
1177 {0.00129235270444e+00, 0.22721445215336e+00, 0.77149319514219e+00, 0.1248289199277397e-02 / 2.0},
1178 {0.00539970127212e+00, 0.43501055485357e+00, 0.55958974387431e+00, 0.3404752908803022e-02 / 2.0},
1179 {0.00638400303398e+00, 0.32030959927220e+00, 0.67330639769382e+00, 0.3359654326064051e-02 / 2.0},
1180 {0.00502821150199e+00, 0.09175032228001e+00, 0.90322146621800e+00, 0.1716156539496754e-02 / 2.0},
1181 {0.00682675862178e+00, 0.03801083585872e+00, 0.95516240551949e+00, 0.1480856316715606e-02 / 2.0},
1182 {0.01001619963993e+00, 0.15742521848531e+00, 0.83255858187476e+00, 0.3511312610728685e-02 / 2.0},
1183 {0.02575781317339e+00, 0.23988965977853e+00, 0.73435252704808e+00, 0.7393550149706484e-02 / 2.0},
1184 {0.03022789811992e+00, 0.36194311812606e+00, 0.60782898375402e+00, 0.7983087477376558e-02 / 2.0},
1185 {0.03050499010716e+00, 0.08355196095483e+00, 0.88594304893801e+00, 0.4355962613158041e-02 / 2.0},
1186 {0.04595654736257e+00, 0.14844322073242e+00, 0.80560023190501e+00, 0.7365056701417832e-02 / 2.0},
1187 {0.06744280054028e+00, 0.28373970872753e+00, 0.64881749073219e+00, 0.1096357284641955e-01 / 2.0},
1188 {0.07004509141591e+00, 0.40689937511879e+00, 0.52305553346530e+00, 0.1174996174354112e-01 / 2.0},
1189 {0.08391152464012e+00, 0.19411398702489e+00, 0.72197448833499e+00, 0.1001560071379857e-01 / 2.0},
1190 {0.12037553567715e+00, 0.32413434700070e+00, 0.55549011732214e+00, 0.1330964078762868e-01 / 2.0},
1191 {0.14806689915737e+00, 0.22927748355598e+00, 0.62265561728665e+00, 0.1415444650522614e-01 / 2.0},
1192 {0.19177186586733e+00, 0.32561812259598e+00, 0.48261001153669e+00, 0.1488137956116801e-01 / 2.0}
1227 const Real rule_data[36][4] = {
1228 {0.33333333333333e+00, 0.0, 0.0, 0.1557996020289920e-01 / 2.0},
1229 {0.00733011643277e+00, 0.49633494178362e+00, 0.0, 0.3177233700534134e-02 / 2.0},
1230 {0.08299567580296e+00, 0.45850216209852e+00, 0.0, 0.1048342663573077e-01 / 2.0},
1231 {0.15098095612541e+00, 0.42450952193729e+00, 0.0, 0.1320945957774363e-01 / 2.0},
1232 {0.23590585989217e+00, 0.38204707005392e+00, 0.0, 0.1497500696627150e-01 / 2.0},
1233 {0.43802430840785e+00, 0.28098784579608e+00, 0.0, 0.1498790444338419e-01 / 2.0},
1234 {0.54530204829193e+00, 0.22734897585403e+00, 0.0, 0.1333886474102166e-01 / 2.0},
1235 {0.65088177698254e+00, 0.17455911150873e+00, 0.0, 0.1088917111390201e-01 / 2.0},
1236 {0.75348314559713e+00, 0.12325842720144e+00, 0.0, 0.8189440660893461e-02 / 2.0},
1237 {0.83983154221561e+00, 0.08008422889220e+00, 0.0, 0.5575387588607785e-02 / 2.0},
1238 {0.90445106518420e+00, 0.04777446740790e+00, 0.0, 0.3191216473411976e-02 / 2.0},
1239 {0.95655897063972e+00, 0.02172051468014e+00, 0.0, 0.1296715144327045e-02 / 2.0},
1240 {0.99047064476913e+00, 0.00476467761544e+00, 0.0, 0.2982628261349172e-03 / 2.0},
1241 {0.00092537119335e+00, 0.41529527091331e+00, 0.58377935789334e+00, 0.9989056850788964e-03 / 2.0},
1242 {0.00138592585556e+00, 0.06118990978535e+00, 0.93742416435909e+00, 0.4628508491732533e-03 / 2.0},
1243 {0.00368241545591e+00, 0.16490869013691e+00, 0.83140889440718e+00, 0.1234451336382413e-02 / 2.0},
1244 {0.00390322342416e+00, 0.02503506223200e+00, 0.97106171434384e+00, 0.5707198522432062e-03 / 2.0},
1245 {0.00323324815501e+00, 0.30606446515110e+00, 0.69070228669389e+00, 0.1126946125877624e-02 / 2.0},
1246 {0.00646743211224e+00, 0.10707328373022e+00, 0.88645928415754e+00, 0.1747866949407337e-02 / 2.0},
1247 {0.00324747549133e+00, 0.22995754934558e+00, 0.76679497516308e+00, 0.1182818815031657e-02 / 2.0},
1248 {0.00867509080675e+00, 0.33703663330578e+00, 0.65428827588746e+00, 0.1990839294675034e-02 / 2.0},
1249 {0.01559702646731e+00, 0.05625657618206e+00, 0.92814639735063e+00, 0.1900412795035980e-02 / 2.0},
1250 {0.01797672125369e+00, 0.40245137521240e+00, 0.57957190353391e+00, 0.4498365808817451e-02 / 2.0},
1251 {0.01712424535389e+00, 0.24365470201083e+00, 0.73922105263528e+00, 0.3478719460274719e-02 / 2.0},
1252 {0.02288340534658e+00, 0.16538958561453e+00, 0.81172700903888e+00, 0.4102399036723953e-02 / 2.0},
1253 {0.03273759728777e+00, 0.09930187449585e+00, 0.86796052821639e+00, 0.4021761549744162e-02 / 2.0},
1254 {0.03382101234234e+00, 0.30847833306905e+00, 0.65770065458860e+00, 0.6033164660795066e-02 / 2.0},
1255 {0.03554761446002e+00, 0.46066831859211e+00, 0.50378406694787e+00, 0.3946290302129598e-02 / 2.0},
1256 {0.05053979030687e+00, 0.21881529945393e+00, 0.73064491023920e+00, 0.6644044537680268e-02 / 2.0},
1257 {0.05701471491573e+00, 0.37920955156027e+00, 0.56377573352399e+00, 0.8254305856078458e-02 / 2.0},
1258 {0.06415280642120e+00, 0.14296081941819e+00, 0.79288637416061e+00, 0.6496056633406411e-02 / 2.0},
1259 {0.08050114828763e+00, 0.28373128210592e+00, 0.63576756960645e+00, 0.9252778144146602e-02 / 2.0},
1260 {0.10436706813453e+00, 0.19673744100444e+00, 0.69889549086103e+00, 0.9164920726294280e-02 / 2.0},
1261 {0.11384489442875e+00, 0.35588914121166e+00, 0.53026596435959e+00, 0.1156952462809767e-01 / 2.0},
1262 {0.14536348771552e+00, 0.25981868535191e+00, 0.59481782693256e+00, 0.1176111646760917e-01 / 2.0},
1263 {0.18994565282198e+00, 0.32192318123130e+00, 0.48813116594672e+00, 0.1382470218216540e-01 / 2.0}
1286 conical_rule.
init(*
this);
1305 std::vector<Point> & tripoints = tri_rule.
get_points();
1306 std::vector<Real> & triweights = tri_rule.
get_weights();
1308 std::size_t numtripts = tripoints.size();
1319 _points.resize(numtripts*numtris);
1320 _weights.resize(numtripts*numtris);
1321 for (std::size_t t = 0; t != numtris; ++t)
1323 auto master_points = poly.master_subtriangle(t);
1328 const Real twice_master_tri_area =
1329 (- master_points[1](1) * master_points[2](0)
1330 - master_points[0](1) * master_points[1](0)
1331 + master_points[0](1) * master_points[2](0)
1332 + master_points[0](0) * master_points[1](1)
1333 - master_points[0](0) * master_points[2](1)
1334 + master_points[1](0) * master_points[2](1));
1336 const Point v01 = master_points[1] - master_points[0];
1337 const Point v02 = master_points[2] - master_points[0];
1339 for (std::size_t i = 0; i != numtripts; ++i)
1343 v01 * tripoints[i](0) +
1344 v02 * tripoints[i](1);
1345 _weights[numtripts*t+i] = triweights[i] *
1346 twice_master_tri_area;
unsigned int n_subtriangles() const
ElemType _type
The type of element for which the current values have been computed.
const std::vector< Real > & get_weights() const
const Elem * _elem
The element for which the current values were computed, or nullptr if values were computed without a ...
The libMesh namespace provides an interface to certain functionality in the library.
std::vector< Point > _points
The locations of the quadrature points in reference element space.
std::vector< Real > _weights
The quadrature weights.
unsigned int _p_level
The p-level of the element for which the current values have been computed.
void dunavant_rule2(const Real *wts, const Real *a, const Real *b, const unsigned int *permutation_ids, const unsigned int n_wts)
void dunavant_rule(const Real rule_data[][4], const unsigned int n_pts)
The Dunavant rules are for triangles.
This class implements the so-called conical product quadrature rules for Tri and Tet elements...
std::string enum_to_string(const T e)
Order _order
The polynomial order which the quadrature rule is capable of integrating exactly. ...
The C0Polygon is an element in 2D with an arbitrary (but fixed) number of first-order (EDGE2) sides...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::vector< Point > & get_points() const
This class implements specific orders of Gauss quadrature.
virtual void init(const Elem &e, unsigned int p_level=invalid_uint)
Initializes the data structures for a quadrature rule for the element e.
void tensor_product_quad(const QBase &q1D)
Constructs a 2D rule from the tensor product of q1D with itself.
virtual void init_2D() override
Initializes the 2D quadrature rule by filling the points and weights vectors with the appropriate val...
virtual ElemType type() const =0
A Point defines a location in LIBMESH_DIM dimensional Real space.