LCOV - code coverage report
Current view: top level - ugbase/lib_disc/quadrature/gauss - gauss_quad_quadrilateral.cpp (source / functions) Coverage Total Hit
Test: coverage.info Lines: 0.0 % 59 0
Test Date: 2025-09-21 23:31:46 Functions: 0.0 % 1 0

            Line data    Source code
       1              : /*
       2              :  * Copyright (c) 2011-2013:  G-CSC, Goethe University Frankfurt
       3              :  * 
       4              :  * This file is part of UG4.
       5              :  * 
       6              :  * UG4 is free software: you can redistribute it and/or modify it under the
       7              :  * terms of the GNU Lesser General Public License version 3 (as published by the
       8              :  * Free Software Foundation) with the following additional attribution
       9              :  * requirements (according to LGPL/GPL v3 §7):
      10              :  * 
      11              :  * (1) The following notice must be displayed in the Appropriate Legal Notices
      12              :  * of covered and combined works: "Based on UG4 (www.ug4.org/license)".
      13              :  * 
      14              :  * (2) The following notice must be displayed at a prominent place in the
      15              :  * terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
      16              :  * 
      17              :  * (3) The following bibliography is recommended for citation and must be
      18              :  * preserved in all covered files:
      19              :  * "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
      20              :  *   parallel geometric multigrid solver on hierarchically distributed grids.
      21              :  *   Computing and visualization in science 16, 4 (2013), 151-164"
      22              :  * "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
      23              :  *   flexible software system for simulating pde based models on high performance
      24              :  *   computers. Computing and visualization in science 16, 4 (2013), 165-179"
      25              :  * 
      26              :  * This program is distributed in the hope that it will be useful,
      27              :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      28              :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
      29              :  * GNU Lesser General Public License for more details.
      30              :  */
      31              : 
      32              : //  This file is parsed from UG 3.9.
      33              : //  It provides the Gauss Quadratures for a reference quadrilateral.
      34              : 
      35              : 
      36              : #include "../quadrature.h"
      37              : #include "gauss_quad_quadrilateral.h"
      38              : 
      39              : namespace ug{
      40              : 
      41              : template <>
      42              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 1>, 2, 1, 1>::m_vWeight[1] =
      43              : {
      44              :  1.00000000000000000000000000000000
      45              : };
      46              : 
      47              : template <>
      48              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 1>, 2, 1, 1>::m_vPoint[1] =
      49              : {
      50              : MathVector<2>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000)
      51              : };
      52              : 
      53              : template <>
      54              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 2>, 2, 2, 4>::m_vWeight[4] =
      55              : {
      56              :  0.25000000000000000000000000000000,
      57              :  0.25000000000000000000000000000000,
      58              :  0.25000000000000000000000000000000,
      59              :  0.25000000000000000000000000000000
      60              : };
      61              : 
      62              : template <>
      63              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 2>, 2, 2, 4>::m_vPoint[4] =
      64              : {
      65              : MathVector<2>(0.21132486540518700000000000000000, 0.21132486540518700000000000000000),
      66              : MathVector<2>(0.78867513459481300000000000000000, 0.21132486540518700000000000000000),
      67              : MathVector<2>(0.21132486540518700000000000000000, 0.78867513459481300000000000000000),
      68              : MathVector<2>(0.78867513459481300000000000000000, 0.78867513459481300000000000000000)
      69              : };
      70              : 
      71              : template <>
      72              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 3>, 2, 3, 4>::m_vWeight[4] =
      73              : {
      74              :  0.25000000000000000000000000000000,
      75              :  0.25000000000000000000000000000000,
      76              :  0.25000000000000000000000000000000,
      77              :  0.25000000000000000000000000000000
      78              : };
      79              : 
      80              : template <>
      81              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 3>, 2, 3, 4>::m_vPoint[4] =
      82              : {
      83              : MathVector<2>(0.09175170953613698363378598754902, 0.50000000000000000000000000000000),
      84              : MathVector<2>(0.50000000000000000000000000000000, 0.09175170953613698363378598754902),
      85              : MathVector<2>(0.50000000000000000000000000000000, 0.90824829046386301636621401245098),
      86              : MathVector<2>(0.90824829046386301636621401245098, 0.50000000000000000000000000000000)
      87              : };
      88              : 
      89              : template <>
      90              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 4>, 2, 4, 6>::m_vWeight[6] =
      91              : {
      92              :  0.28571428571428571428571428571428,
      93              :  0.10989010989010989010989010989011,
      94              :  0.14151805175188302631601261486295,
      95              :  0.14151805175188302631601261486295,
      96              :  0.16067975044591917148618518733485,
      97              :  0.16067975044591917148618518733485
      98              : };
      99              : 
     100              : template <>
     101              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 4>, 2, 4, 6>::m_vPoint[6] =
     102              : {
     103              : MathVector<2>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000),
     104              : MathVector<2>(0.98304589153964795245728880523899, 0.50000000000000000000000000000000),
     105              : MathVector<2>(0.72780186391809642112479237299488, 0.07404267334769975434908217981667),
     106              : MathVector<2>(0.72780186391809642112479237299488, 0.92595732665230024565091782018333),
     107              : MathVector<2>(0.13418502421343273531598225407969, 0.18454360551162298687829339850317),
     108              : MathVector<2>(0.13418502421343273531598225407969, 0.81545639448837701312170660149683)
     109              : };
     110              : 
     111              : template <>
     112              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 5>, 2, 5, 7>::m_vWeight[7] =
     113              : {
     114              :  0.28571428571428571428571428571428,
     115              :  0.07936507936507936507936507936508,
     116              :  0.07936507936507936507936507936508,
     117              :  0.13888888888888888888888888888889,
     118              :  0.13888888888888888888888888888889,
     119              :  0.13888888888888888888888888888889,
     120              :  0.13888888888888888888888888888889
     121              : };
     122              : 
     123              : template <>
     124              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 5>, 2, 5, 7>::m_vPoint[7] =
     125              : {
     126              : MathVector<2>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000),
     127              : MathVector<2>(0.01695410846035204754271119476101, 0.50000000000000000000000000000000),
     128              : MathVector<2>(0.98304589153964795245728880523899, 0.50000000000000000000000000000000),
     129              : MathVector<2>(0.21132486540518711774542560974902, 0.11270166537925831148207346002176),
     130              : MathVector<2>(0.21132486540518711774542560974902, 0.88729833462074168851792653997824),
     131              : MathVector<2>(0.78867513459481288225457439025098, 0.11270166537925831148207346002176),
     132              : MathVector<2>(0.78867513459481288225457439025098, 0.88729833462074168851792653997824)
     133              : };
     134              : 
     135              : template <>
     136              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 6>, 2, 6, 10>::m_vWeight[10] =
     137              : {
     138              :  0.11383581142854335963838543032803,
     139              :  0.20684899330074137308917423457476,
     140              :  0.03600022114991134623215077164016,
     141              :  0.03600022114991134623215077164016,
     142              :  0.16706477606566628748245813610296,
     143              :  0.16706477606566628748245813610296,
     144              :  0.05636850122266983935276391196381,
     145              :  0.05636850122266983935276391196381,
     146              :  0.08022409919711016056884734784167,
     147              :  0.08022409919711016056884734784167
     148              : };
     149              : 
     150              : template <>
     151              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 6>, 2, 6, 10>::m_vPoint[10] =
     152              : {
     153              : MathVector<2>(0.91820281684881280226895072035422, 0.50000000000000000000000000000000),
     154              : MathVector<2>(0.32126991730434640755691280777702, 0.50000000000000000000000000000000),
     155              : MathVector<2>(0.93605076559656529501643767018721, 0.05561799267261773307341476419531),
     156              : MathVector<2>(0.93605076559656529501643767018721, 0.94438200732738226692658523580469),
     157              : MathVector<2>(0.65299258107771333074469136784128, 0.19757118026765748615073385233221),
     158              : MathVector<2>(0.65299258107771333074469136784128, 0.80242881973234251384926614766779),
     159              : MathVector<2>(0.29486455026667108063715992772201, 0.02227624667946812612123581961261),
     160              : MathVector<2>(0.29486455026667108063715992772201, 0.97772375332053187387876418038739),
     161              : MathVector<2>(0.06356534442156033037437039575184, 0.21727000328062297705281230543027),
     162              : MathVector<2>(0.06356534442156033037437039575184, 0.78272999671937702294718769456973)
     163              : };
     164              : 
     165              : template <>
     166              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 7>, 2, 7, 12>::m_vWeight[12] =
     167              : {
     168              :  0.06049382716049382716049382716049,
     169              :  0.06049382716049382716049382716049,
     170              :  0.06049382716049382716049382716049,
     171              :  0.06049382716049382716049382716049,
     172              :  0.13014822916684861428497985801168,
     173              :  0.13014822916684861428497985801168,
     174              :  0.13014822916684861428497985801168,
     175              :  0.13014822916684861428497985801168,
     176              :  0.05935794367265755855452631482782,
     177              :  0.05935794367265755855452631482782,
     178              :  0.05935794367265755855452631482782,
     179              :  0.05935794367265755855452631482782
     180              : };
     181              : 
     182              : template <>
     183              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 7>, 2, 7, 12>::m_vPoint[12] =
     184              : {
     185              : MathVector<2>(0.03708995011372426921671661170800, 0.50000000000000000000000000000000),
     186              : MathVector<2>(0.50000000000000000000000000000000, 0.03708995011372426921671661170800),
     187              : MathVector<2>(0.50000000000000000000000000000000, 0.96291004988627573078328338829200),
     188              : MathVector<2>(0.96291004988627573078328338829200, 0.50000000000000000000000000000000),
     189              : MathVector<2>(0.30972278339584217181044682045680, 0.30972278339584217181044682045680),
     190              : MathVector<2>(0.30972278339584217181044682045680, 0.69027721660415782818955317954320),
     191              : MathVector<2>(0.69027721660415782818955317954320, 0.30972278339584217181044682045680),
     192              : MathVector<2>(0.69027721660415782818955317954320, 0.69027721660415782818955317954320),
     193              : MathVector<2>(0.09701010854070062814607190932463, 0.09701010854070062814607190932463),
     194              : MathVector<2>(0.09701010854070062814607190932463, 0.90298989145929937185392809067537),
     195              : MathVector<2>(0.90298989145929937185392809067537, 0.09701010854070062814607190932463),
     196              : MathVector<2>(0.90298989145929937185392809067537, 0.90298989145929937185392809067537)
     197              : };
     198              : 
     199              : template <>
     200              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 8>, 2, 8, 16>::m_vWeight[16] =
     201              : {
     202              :  0.01384117640535994306158400271374,
     203              :  0.10109734218151885333357243373724,
     204              :  0.13338665123815861383831921172309,
     205              :  0.02926354719668480160617959307044,
     206              :  0.03140360440343670103296426305953,
     207              :  0.03140360440343670103296426305953,
     208              :  0.03413614618339711683328699903541,
     209              :  0.03413614618339711683328699903541,
     210              :  0.12085211980281423777756638059528,
     211              :  0.12085211980281423777756638059528,
     212              :  0.06313212660738592334508524616913,
     213              :  0.06313212660738592334508524616913,
     214              :  0.09031558097054314228151690054444,
     215              :  0.09031558097054314228151690054444,
     216              :  0.02136606352156177280975258997395,
     217              :  0.02136606352156177280975258997395
     218              : };
     219              : 
     220              : template <>
     221              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 8>, 2, 8, 16>::m_vPoint[16] =
     222              : {
     223              : MathVector<2>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000),
     224              : MathVector<2>(0.87881458883025272376243091093078, 0.50000000000000000000000000000000),
     225              : MathVector<2>(0.38156407887214905330677888913682, 0.50000000000000000000000000000000),
     226              : MathVector<2>(0.00514103547773665934255258242844, 0.50000000000000000000000000000000),
     227              : MathVector<2>(0.97526047782283344179383397817322, 0.18045434754981517329838236798414),
     228              : MathVector<2>(0.97526047782283344179383397817322, 0.81954565245018482670161763201586),
     229              : MathVector<2>(0.83194136844281658918106215312182, 0.03146546153750477812388445955262),
     230              : MathVector<2>(0.83194136844281658918106215312182, 0.96853453846249522187611554044738),
     231              : MathVector<2>(0.65210534086205225452112163378099, 0.23145823472925316105117594700364),
     232              : MathVector<2>(0.65210534086205225452112163378099, 0.76854176527074683894882405299636),
     233              : MathVector<2>(0.38175164073194025967137326853460, 0.05640574677518768049015587550525),
     234              : MathVector<2>(0.38175164073194025967137326853460, 0.94359425322481231950984412449475),
     235              : MathVector<2>(0.15052326195671822003768421503399, 0.25265058966490183398785216925757),
     236              : MathVector<2>(0.15052326195671822003768421503399, 0.74734941033509816601214783074243),
     237              : MathVector<2>(0.04980461289421013321826332793971, 0.05125209086011623123297208006836),
     238              : MathVector<2>(0.04980461289421013321826332793971, 0.94874790913988376876702791993164)
     239              : };
     240              : 
     241              : template <>
     242              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 9>, 2, 9, 17>::m_vWeight[17] =
     243              : {
     244              :  0.13168724279835390946502057613169,
     245              :  0.02221984454254967674175272155552,
     246              :  0.02221984454254967674175272155552,
     247              :  0.02221984454254967674175272155552,
     248              :  0.02221984454254967674175272155552,
     249              :  0.02802490053239912131897473175636,
     250              :  0.02802490053239912131897473175636,
     251              :  0.02802490053239912131897473175636,
     252              :  0.02802490053239912131897473175636,
     253              :  0.09957060981551752381908392923745,
     254              :  0.09957060981551752381908392923745,
     255              :  0.09957060981551752381908392923745,
     256              :  0.09957060981551752381908392923745,
     257              :  0.06726283440994520075393347341775,
     258              :  0.06726283440994520075393347341775,
     259              :  0.06726283440994520075393347341775,
     260              :  0.06726283440994520075393347341775
     261              : };
     262              : 
     263              : template <>
     264              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 9>, 2, 9, 17>::m_vPoint[17] =
     265              : {
     266              : MathVector<2>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000),
     267              : MathVector<2>(0.01557501681901113964165482851083, 0.18465994013416557291337985962548),
     268              : MathVector<2>(0.18465994013416557291337985962548, 0.98442498318098886035834517148917),
     269              : MathVector<2>(0.81534005986583442708662014037452, 0.01557501681901113964165482851083),
     270              : MathVector<2>(0.98442498318098886035834517148917, 0.81534005986583442708662014037452),
     271              : MathVector<2>(0.03601917702021516629962331530815, 0.87513854998945026676799199119468),
     272              : MathVector<2>(0.12486145001054973323200800880532, 0.03601917702021516629962331530815),
     273              : MathVector<2>(0.87513854998945026676799199119468, 0.96398082297978483370037668469185),
     274              : MathVector<2>(0.96398082297978483370037668469185, 0.12486145001054973323200800880532),
     275              : MathVector<2>(0.23813208989278533198085643668043, 0.27333008943217640461860617920896),
     276              : MathVector<2>(0.27333008943217640461860617920896, 0.76186791010721466801914356331957),
     277              : MathVector<2>(0.72666991056782359538139382079104, 0.23813208989278533198085643668043),
     278              : MathVector<2>(0.76186791010721466801914356331957, 0.72666991056782359538139382079104),
     279              : MathVector<2>(0.07369213533316884612739266174083, 0.53810416409630858659081343369466),
     280              : MathVector<2>(0.46189583590369141340918656630534, 0.07369213533316884612739266174083),
     281              : MathVector<2>(0.53810416409630858659081343369466, 0.92630786466683115387260733825917),
     282              : MathVector<2>(0.92630786466683115387260733825917, 0.46189583590369141340918656630534)
     283              : };
     284              : 
     285              : template <>
     286              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 11>, 2, 11, 24>::m_vWeight[24] =
     287              : {
     288              :  0.01200519083768095364069079399439,
     289              :  0.01200519083768095364069079399439,
     290              :  0.01200519083768095364069079399439,
     291              :  0.01200519083768095364069079399439,
     292              :  0.01651783229113764891840877021239,
     293              :  0.01651783229113764891840877021239,
     294              :  0.01651783229113764891840877021239,
     295              :  0.01651783229113764891840877021239,
     296              :  0.02434669433966704104903010994989,
     297              :  0.02434669433966704104903010994989,
     298              :  0.02434669433966704104903010994989,
     299              :  0.02434669433966704104903010994989,
     300              :  0.05293408749973715012598291533906,
     301              :  0.05293408749973715012598291533906,
     302              :  0.05293408749973715012598291533906,
     303              :  0.05293408749973715012598291533906,
     304              :  0.05640651543221584685078950405212,
     305              :  0.05640651543221584685078950405212,
     306              :  0.05640651543221584685078950405212,
     307              :  0.05640651543221584685078950405212,
     308              :  0.08778967959956135941509790645214,
     309              :  0.08778967959956135941509790645214,
     310              :  0.08778967959956135941509790645214,
     311              :  0.08778967959956135941509790645214
     312              : };
     313              : 
     314              : template <>
     315              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 11>, 2, 11, 24>::m_vPoint[24] =
     316              : {
     317              : MathVector<2>(0.00868038822957226352375425149800, 0.15096194772521621761176509691252),
     318              : MathVector<2>(0.15096194772521621761176509691252, 0.99131961177042773647624574850200),
     319              : MathVector<2>(0.84903805227478378238823490308748, 0.00868038822957226352375425149800),
     320              : MathVector<2>(0.99131961177042773647624574850200, 0.84903805227478378238823490308748),
     321              : MathVector<2>(0.03025680859163154639678381891505, 0.91288791795148196865113729264497),
     322              : MathVector<2>(0.08711208204851803134886270735503, 0.03025680859163154639678381891505),
     323              : MathVector<2>(0.91288791795148196865113729264497, 0.96974319140836845360321618108495),
     324              : MathVector<2>(0.96974319140836845360321618108495, 0.08711208204851803134886270735503),
     325              : MathVector<2>(0.02323023589923399207749786658801, 0.59429306935932097730016228409137),
     326              : MathVector<2>(0.40570693064067902269983771590863, 0.02323023589923399207749786658801),
     327              : MathVector<2>(0.59429306935932097730016228409137, 0.97676976410076600792250213341199),
     328              : MathVector<2>(0.97676976410076600792250213341199, 0.40570693064067902269983771590863),
     329              : MathVector<2>(0.09373972584759344975530870904385, 0.34218828354237290200719514179895),
     330              : MathVector<2>(0.34218828354237290200719514179895, 0.90626027415240655024469129095615),
     331              : MathVector<2>(0.65781171645762709799280485820105, 0.09373972584759344975530870904385),
     332              : MathVector<2>(0.90626027415240655024469129095615, 0.65781171645762709799280485820105),
     333              : MathVector<2>(0.14399904346233184672546705243812, 0.76266012518227388117081594357001),
     334              : MathVector<2>(0.23733987481772611882918405642999, 0.14399904346233184672546705243812),
     335              : MathVector<2>(0.76266012518227388117081594357001, 0.85600095653766815327453294756188),
     336              : MathVector<2>(0.85600095653766815327453294756188, 0.23733987481772611882918405642999),
     337              : MathVector<2>(0.28757637557566537469228494424402, 0.52082903595601118413677340226885),
     338              : MathVector<2>(0.47917096404398881586322659773115, 0.28757637557566537469228494424402),
     339              : MathVector<2>(0.52082903595601118413677340226885, 0.71242362442433462530771505575598),
     340              : MathVector<2>(0.71242362442433462530771505575598, 0.47917096404398881586322659773115)
     341              : };
     342              : 
     343              : template <>
     344              : number GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 13>, 2, 13, 33>::m_vWeight[33] =
     345              : {
     346              :  0.07509552885780634034649828603289,
     347              :  0.00749795971612478291640341391448,
     348              :  0.00749795971612478291640341391448,
     349              :  0.00749795971612478291640341391448,
     350              :  0.00749795971612478291640341391448,
     351              :  0.00954360532927091741009259373739,
     352              :  0.00954360532927091741009259373739,
     353              :  0.00954360532927091741009259373739,
     354              :  0.00954360532927091741009259373739,
     355              :  0.01510623095443749517021639829856,
     356              :  0.01510623095443749517021639829856,
     357              :  0.01510623095443749517021639829856,
     358              :  0.01510623095443749517021639829856,
     359              :  0.01937318463327633483945688833978,
     360              :  0.01937318463327633483945688833978,
     361              :  0.01937318463327633483945688833978,
     362              :  0.01937318463327633483945688833978,
     363              :  0.02971116682514890027044978654411,
     364              :  0.02971116682514890027044978654411,
     365              :  0.02971116682514890027044978654411,
     366              :  0.02971116682514890027044978654411,
     367              :  0.03244088759250067782138598265494,
     368              :  0.03244088759250067782138598265494,
     369              :  0.03244088759250067782138598265494,
     370              :  0.03244088759250067782138598265494,
     371              :  0.05333539536429734735825107104518,
     372              :  0.05333539536429734735825107104518,
     373              :  0.05333539536429734735825107104518,
     374              :  0.05333539536429734735825107104518,
     375              :  0.06421768737049195912711929395734,
     376              :  0.06421768737049195912711929395734,
     377              :  0.06421768737049195912711929395734,
     378              :  0.06421768737049195912711929395734
     379              : };
     380              : 
     381              : template <>
     382              : MathVector<2> GaussQuadBase<GaussQuadrature<ReferenceQuadrilateral, 13>, 2, 13, 33>::m_vPoint[33] =
     383              : {
     384              : MathVector<2>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000),
     385              : MathVector<2>(0.00825665878006386810726796759466, 0.88940485577720971125947535810003),
     386              : MathVector<2>(0.11059514422279028874052464189997, 0.00825665878006386810726796759466),
     387              : MathVector<2>(0.88940485577720971125947535810003, 0.99174334121993613189273203240534),
     388              : MathVector<2>(0.99174334121993613189273203240534, 0.11059514422279028874052464189997),
     389              : MathVector<2>(0.02135115010684631717185618761372, 0.07022199717918053570742071616782),
     390              : MathVector<2>(0.07022199717918053570742071616782, 0.97864884989315368282814381238628),
     391              : MathVector<2>(0.92977800282081946429257928383218, 0.02135115010684631717185618761372),
     392              : MathVector<2>(0.97864884989315368282814381238628, 0.92977800282081946429257928383218),
     393              : MathVector<2>(0.02053741485623257123011933490039, 0.56909172993123267687360059018315),
     394              : MathVector<2>(0.43090827006876732312639940981685, 0.02053741485623257123011933490039),
     395              : MathVector<2>(0.56909172993123267687360059018315, 0.97946258514376742876988066509961),
     396              : MathVector<2>(0.97946258514376742876988066509961, 0.43090827006876732312639940981685),
     397              : MathVector<2>(0.02933638706353738152539868321423, 0.30463189193526949966156599515720),
     398              : MathVector<2>(0.30463189193526949966156599515720, 0.97066361293646261847460131678577),
     399              : MathVector<2>(0.69536810806473050033843400484280, 0.02933638706353738152539868321423),
     400              : MathVector<2>(0.97066361293646261847460131678577, 0.69536810806473050033843400484280),
     401              : MathVector<2>(0.07496166315012571201561720649945, 0.73790431260913795253379642170171),
     402              : MathVector<2>(0.26209568739086204746620357829829, 0.07496166315012571201561720649945),
     403              : MathVector<2>(0.73790431260913795253379642170171, 0.92503833684987428798438279350055),
     404              : MathVector<2>(0.92503833684987428798438279350055, 0.26209568739086204746620357829829),
     405              : MathVector<2>(0.12209732171395928186435768276542, 0.17608918140649463397820348570608),
     406              : MathVector<2>(0.17608918140649463397820348570608, 0.87790267828604071813564231723458),
     407              : MathVector<2>(0.82391081859350536602179651429392, 0.12209732171395928186435768276542),
     408              : MathVector<2>(0.87790267828604071813564231723458, 0.82391081859350536602179651429392),
     409              : MathVector<2>(0.15187496075412529302050214748279, 0.46462924550177753189147032406290),
     410              : MathVector<2>(0.46462924550177753189147032406290, 0.84812503924587470697949785251721),
     411              : MathVector<2>(0.53537075449822246810852967593710, 0.15187496075412529302050214748279),
     412              : MathVector<2>(0.84812503924587470697949785251721, 0.53537075449822246810852967593710),
     413              : MathVector<2>(0.29534771915298057834772392987155, 0.67135827802020339470656353671843),
     414              : MathVector<2>(0.32864172197979660529343646328157, 0.29534771915298057834772392987155),
     415              : MathVector<2>(0.67135827802020339470656353671843, 0.70465228084701942165227607012845),
     416              : MathVector<2>(0.70465228084701942165227607012845, 0.32864172197979660529343646328157)
     417              : };
     418              : 
     419              : 
     420              : 
     421              : 
     422              : template <>
     423            0 : FlexGaussQuadrature<ReferenceQuadrilateral>::FlexGaussQuadrature(int order)
     424              : {
     425            0 :         switch(order)
     426              :         {
     427              :         case 0:
     428              :         case 1:
     429            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 1>::order();
     430            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 1>::size();
     431            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 1>::points();
     432            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 1>::weights();
     433            0 :                 break;
     434              : 
     435              :         case 2:
     436            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 2>::order();
     437            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 2>::size();
     438            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 2>::points();
     439            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 2>::weights();
     440            0 :                 break;
     441              : 
     442              :         case 3:
     443            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 3>::order();
     444            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 3>::size();
     445            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 3>::points();
     446            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 3>::weights();
     447            0 :                 break;
     448              : 
     449              :         case 4:
     450            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 4>::order();
     451            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 4>::size();
     452            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 4>::points();
     453            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 4>::weights();
     454            0 :                 break;
     455              : 
     456              :         case 5:
     457            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 5>::order();
     458            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 5>::size();
     459            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 5>::points();
     460            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 5>::weights();
     461            0 :                 break;
     462              : 
     463              :         case 6:
     464            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 6>::order();
     465            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 6>::size();
     466            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 6>::points();
     467            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 6>::weights();
     468            0 :                 break;
     469              : 
     470              :         case 7:
     471            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 7>::order();
     472            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 7>::size();
     473            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 7>::points();
     474            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 7>::weights();
     475            0 :                 break;
     476              : 
     477              :         case 8:
     478            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 8>::order();
     479            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 8>::size();
     480            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 8>::points();
     481            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 8>::weights();
     482            0 :                 break;
     483              : 
     484              :         case 9:
     485            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 9>::order();
     486            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 9>::size();
     487            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 9>::points();
     488            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 9>::weights();
     489            0 :                 break;
     490              : 
     491              :         case 10:
     492              :         case 11:
     493            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 11>::order();
     494            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 11>::size();
     495            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 11>::points();
     496            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 11>::weights();
     497            0 :                 break;
     498              : 
     499              :         case 12:
     500              :         case 13:
     501            0 :                 m_order = GaussQuadrature<ReferenceQuadrilateral, 13>::order();
     502            0 :                 m_numPoints = GaussQuadrature<ReferenceQuadrilateral, 13>::size();
     503            0 :                 m_pvPoint = GaussQuadrature<ReferenceQuadrilateral, 13>::points();
     504            0 :                 m_pvWeight = GaussQuadrature<ReferenceQuadrilateral, 13>::weights();
     505            0 :                 break;
     506              : 
     507            0 :         default: UG_THROW("Order "<<order<<" not available for GaussQuadrature of quadrilateral.");
     508              :         }
     509            0 : }
     510              : }; // namespace ug
     511              : 
        

Generated by: LCOV version 2.0-1