LCOV - code coverage report
Current view: top level - ugbase/lib_disc/quadrature/gauss - gauss_quad_tetrahedron.cpp (source / functions) Coverage Total Hit
Test: coverage.info Lines: 0.0 % 44 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 tetrahedron.
      34              : 
      35              : 
      36              : #include "../quadrature.h"
      37              : #include "gauss_quad_tetrahedron.h"
      38              : 
      39              : namespace ug{
      40              : 
      41              : template <>
      42              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 0>, 3, 0, 7>::m_vWeight[7] =
      43              : {
      44              : 1./6. * 0.14285714285714300000000000000000,
      45              : 1./6. * 0.14285714285714300000000000000000,
      46              : 1./6. * 0.14285714285714300000000000000000,
      47              : 1./6. * 0.14285714285714300000000000000000,
      48              : 1./6. * 0.14285714285714300000000000000000,
      49              : 1./6. * 0.14285714285714300000000000000000,
      50              : 1./6. * 0.14285714285714300000000000000000
      51              : };
      52              : 
      53              : template <>
      54              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 0>, 3, 0, 7>::m_vPoint[7] =
      55              : {
      56              : MathVector<3>(0.25000000000000000000000000000000, 0.25000000000000000000000000000000, 0.25000000000000000000000000000000),
      57              : MathVector<3>(0.10000000000000000000000000000000, 0.10000000000000000000000000000000, 0.40000000000000000000000000000000),
      58              : MathVector<3>(0.10000000000000000000000000000000, 0.40000000000000000000000000000000, 0.10000000000000000000000000000000),
      59              : MathVector<3>(0.40000000000000000000000000000000, 0.10000000000000000000000000000000, 0.10000000000000000000000000000000),
      60              : MathVector<3>(0.10000000000000000000000000000000, 0.40000000000000000000000000000000, 0.40000000000000000000000000000000),
      61              : MathVector<3>(0.40000000000000000000000000000000, 0.10000000000000000000000000000000, 0.40000000000000000000000000000000),
      62              : MathVector<3>(0.40000000000000000000000000000000, 0.40000000000000000000000000000000, 0.10000000000000000000000000000000)
      63              : };
      64              : 
      65              : template <>
      66              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 1>, 3, 1, 1>::m_vWeight[1] =
      67              : {
      68              : 1./6. * 1.00000000000000000000000000000000
      69              : };
      70              : 
      71              : template <>
      72              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 1>, 3, 1, 1>::m_vPoint[1] =
      73              : {
      74              : MathVector<3>(0.25000000000000000000000000000000, 0.25000000000000000000000000000000, 0.25000000000000000000000000000000)
      75              : };
      76              : 
      77              : template <>
      78              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 2>, 3, 2, 4>::m_vWeight[4] =
      79              : {
      80              : 1./6. * 0.25000000000000000000000000000000,
      81              : 1./6. * 0.25000000000000000000000000000000,
      82              : 1./6. * 0.25000000000000000000000000000000,
      83              : 1./6. * 0.25000000000000000000000000000000
      84              : };
      85              : 
      86              : template <>
      87              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 2>, 3, 2, 4>::m_vPoint[4] =
      88              : {
      89              : MathVector<3>(0.58541020000000000000000000000000, 0.13819660000000000000000000000000, 0.13819660000000000000000000000000),
      90              : MathVector<3>(0.13819660000000000000000000000000, 0.58541020000000000000000000000000, 0.13819660000000000000000000000000),
      91              : MathVector<3>(0.13819660000000000000000000000000, 0.13819660000000000000000000000000, 0.58541020000000000000000000000000),
      92              : MathVector<3>(0.13819660000000000000000000000000, 0.13819660000000000000000000000000, 0.13819660000000000000000000000000)
      93              : 
      94              : // MORE ACCURATE
      95              : //MathVector<3>(0.5854101966249685, 0.1381966011250105, 0.1381966011250105),
      96              : //MathVector<3>(0.1381966011250105, 0.5854101966249685, 0.1381966011250105),
      97              : //MathVector<3>(0.1381966011250105, 0.1381966011250105, 0.5854101966249685),
      98              : //MathVector<3>(0.1381966011250105, 0.1381966011250105, 0.1381966011250105)
      99              : };
     100              : 
     101              : template <>
     102              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 3>, 3, 3, 8>::m_vWeight[8] =
     103              : {
     104              : 1./6. * 0.02500000000000000000000000000000,
     105              : 1./6. * 0.02500000000000000000000000000000,
     106              : 1./6. * 0.02500000000000000000000000000000,
     107              : 1./6. * 0.02500000000000000000000000000000,
     108              : 1./6. * 0.22500000000000000000000000000000,
     109              : 1./6. * 0.22500000000000000000000000000000,
     110              : 1./6. * 0.22500000000000000000000000000000,
     111              : 1./6. * 0.22500000000000000000000000000000
     112              : };
     113              : 
     114              : template <>
     115              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 3>, 3, 3, 8>::m_vPoint[8] =
     116              : {
     117              : MathVector<3>(0.00000000000000000000000000000000, 0.00000000000000000000000000000000, 0.00000000000000000000000000000000),
     118              : MathVector<3>(1.00000000000000000000000000000000, 0.00000000000000000000000000000000, 0.00000000000000000000000000000000),
     119              : MathVector<3>(0.00000000000000000000000000000000, 1.00000000000000000000000000000000, 0.00000000000000000000000000000000),
     120              : MathVector<3>(0.00000000000000000000000000000000, 0.00000000000000000000000000000000, 1.00000000000000000000000000000000),
     121              : MathVector<3>(0.33333333333300000000000000000000, 0.33333333333300000000000000000000, 0.00000000000000000000000000000000),
     122              : MathVector<3>(0.33333333333300000000000000000000, 0.00000000000000000000000000000000, 0.33333333333300000000000000000000),
     123              : MathVector<3>(0.00000000000000000000000000000000, 0.33333333333300000000000000000000, 0.33333333333300000000000000000000),
     124              : MathVector<3>(0.33333333333300000000000000000000, 0.33333333333300000000000000000000, 0.33333333333300000000000000000000)
     125              : };
     126              : 
     127              : template <>
     128              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 5>, 3, 5, 15>::m_vWeight[15] =
     129              : {
     130              : 1./6. * 0.11851852000000000000000000000000,
     131              : 1./6. * 0.07193708400000000000000000000000,
     132              : 1./6. * 0.07193708400000000000000000000000,
     133              : 1./6. * 0.07193708400000000000000000000000,
     134              : 1./6. * 0.07193708400000000000000000000000,
     135              : 1./6. * 0.06906820700000000000000000000000,
     136              : 1./6. * 0.06906820700000000000000000000000,
     137              : 1./6. * 0.06906820700000000000000000000000,
     138              : 1./6. * 0.06906820700000000000000000000000,
     139              : 1./6. * 0.05291005300000000000000000000000,
     140              : 1./6. * 0.05291005300000000000000000000000,
     141              : 1./6. * 0.05291005300000000000000000000000,
     142              : 1./6. * 0.05291005300000000000000000000000,
     143              : 1./6. * 0.05291005300000000000000000000000,
     144              : 1./6. * 0.05291005300000000000000000000000
     145              : };
     146              : 
     147              : template <>
     148              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 5>, 3, 5, 15>::m_vPoint[15] =
     149              : {
     150              : MathVector<3>(0.25000000000000000000000000000000, 0.25000000000000000000000000000000, 0.25000000000000000000000000000000),
     151              : MathVector<3>(0.09197107800000000000000000000000, 0.09197107800000000000000000000000, 0.09197107800000000000000000000000),
     152              : MathVector<3>(0.72408677000000000000000000000000, 0.09197107800000000000000000000000, 0.09197107800000000000000000000000),
     153              : MathVector<3>(0.09197107800000000000000000000000, 0.72408677000000000000000000000000, 0.09197107800000000000000000000000),
     154              : MathVector<3>(0.09197107800000000000000000000000, 0.09197107800000000000000000000000, 0.72408677000000000000000000000000),
     155              : MathVector<3>(0.31979363000000000000000000000000, 0.31979363000000000000000000000000, 0.31979363000000000000000000000000),
     156              : MathVector<3>(0.04061911700000000000000000000000, 0.31979363000000000000000000000000, 0.31979363000000000000000000000000),
     157              : MathVector<3>(0.31979363000000000000000000000000, 0.04061911700000000000000000000000, 0.31979363000000000000000000000000),
     158              : MathVector<3>(0.31979363000000000000000000000000, 0.31979363000000000000000000000000, 0.04061911700000000000000000000000),
     159              : MathVector<3>(0.44364917000000000000000000000000, 0.05635083300000000000000000000000, 0.05635083300000000000000000000000),
     160              : MathVector<3>(0.05635083300000000000000000000000, 0.44364917000000000000000000000000, 0.05635083300000000000000000000000),
     161              : MathVector<3>(0.05635083300000000000000000000000, 0.05635083300000000000000000000000, 0.44364917000000000000000000000000),
     162              : MathVector<3>(0.44364917000000000000000000000000, 0.44364917000000000000000000000000, 0.05635083300000000000000000000000),
     163              : MathVector<3>(0.44364917000000000000000000000000, 0.05635083300000000000000000000000, 0.44364917000000000000000000000000),
     164              : MathVector<3>(0.05635083300000000000000000000000, 0.44364917000000000000000000000000, 0.44364917000000000000000000000000)
     165              : };
     166              : 
     167              : template <>
     168              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 6>, 3, 6, 24>::m_vWeight[24] =
     169              : {
     170              : 1./6. * 0.03992275025816749209969062755748,
     171              : 1./6. * 0.03992275025816749209969062755748,
     172              : 1./6. * 0.03992275025816749209969062755748,
     173              : 1./6. * 0.03992275025816749209969062755748,
     174              : 1./6. * 0.01007721105532064294801323744594,
     175              : 1./6. * 0.01007721105532064294801323744594,
     176              : 1./6. * 0.01007721105532064294801323744594,
     177              : 1./6. * 0.01007721105532064294801323744594,
     178              : 1./6. * 0.05535718154365472209515327785373,
     179              : 1./6. * 0.05535718154365472209515327785373,
     180              : 1./6. * 0.05535718154365472209515327785373,
     181              : 1./6. * 0.05535718154365472209515327785373,
     182              : 1./6. * 0.04821428571428571428571428571429,
     183              : 1./6. * 0.04821428571428571428571428571429,
     184              : 1./6. * 0.04821428571428571428571428571429,
     185              : 1./6. * 0.04821428571428571428571428571429,
     186              : 1./6. * 0.04821428571428571428571428571429,
     187              : 1./6. * 0.04821428571428571428571428571429,
     188              : 1./6. * 0.04821428571428571428571428571429,
     189              : 1./6. * 0.04821428571428571428571428571429,
     190              : 1./6. * 0.04821428571428571428571428571429,
     191              : 1./6. * 0.04821428571428571428571428571429,
     192              : 1./6. * 0.04821428571428571428571428571429,
     193              : 1./6. * 0.04821428571428571428571428571429
     194              : };
     195              : 
     196              : template <>
     197              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 6>, 3, 6, 24>::m_vPoint[24] =
     198              : {
     199              : MathVector<3>(0.21460287125915202928883921938628, 0.21460287125915202928883921938628, 0.21460287125915202928883921938628),
     200              : MathVector<3>(0.35619138622254391213348234184115, 0.21460287125915202928883921938628, 0.21460287125915202928883921938628),
     201              : MathVector<3>(0.21460287125915202928883921938628, 0.35619138622254391213348234184115, 0.21460287125915202928883921938628),
     202              : MathVector<3>(0.21460287125915202928883921938628, 0.21460287125915202928883921938628, 0.35619138622254391213348234184115),
     203              : MathVector<3>(0.04067395853461135311557944895641, 0.04067395853461135311557944895641, 0.04067395853461135311557944895641),
     204              : MathVector<3>(0.87797812439616594065326165313077, 0.04067395853461135311557944895641, 0.04067395853461135311557944895641),
     205              : MathVector<3>(0.04067395853461135311557944895641, 0.87797812439616594065326165313077, 0.04067395853461135311557944895641),
     206              : MathVector<3>(0.04067395853461135311557944895641, 0.04067395853461135311557944895641, 0.87797812439616594065326165313077),
     207              : MathVector<3>(0.32233789014227551034399447076249, 0.32233789014227551034399447076249, 0.32233789014227551034399447076249),
     208              : MathVector<3>(0.03298632957317346896801658771252, 0.32233789014227551034399447076249, 0.32233789014227551034399447076249),
     209              : MathVector<3>(0.32233789014227551034399447076249, 0.03298632957317346896801658771252, 0.32233789014227551034399447076249),
     210              : MathVector<3>(0.32233789014227551034399447076249, 0.32233789014227551034399447076249, 0.03298632957317346896801658771252),
     211              : MathVector<3>(0.06366100187501752529923552760573, 0.06366100187501752529923552760573, 0.26967233145831580803409780572761),
     212              : MathVector<3>(0.06366100187501752529923552760573, 0.26967233145831580803409780572761, 0.06366100187501752529923552760573),
     213              : MathVector<3>(0.26967233145831580803409780572761, 0.06366100187501752529923552760573, 0.06366100187501752529923552760573),
     214              : MathVector<3>(0.06366100187501752529923552760573, 0.06366100187501752529923552760573, 0.60300566479164914136743113906094),
     215              : MathVector<3>(0.06366100187501752529923552760573, 0.60300566479164914136743113906094, 0.06366100187501752529923552760573),
     216              : MathVector<3>(0.60300566479164914136743113906094, 0.06366100187501752529923552760573, 0.06366100187501752529923552760573),
     217              : MathVector<3>(0.06366100187501752529923552760573, 0.26967233145831580803409780572761, 0.60300566479164914136743113906094),
     218              : MathVector<3>(0.06366100187501752529923552760573, 0.60300566479164914136743113906094, 0.26967233145831580803409780572761),
     219              : MathVector<3>(0.26967233145831580803409780572761, 0.06366100187501752529923552760573, 0.60300566479164914136743113906094),
     220              : MathVector<3>(0.60300566479164914136743113906094, 0.06366100187501752529923552760573, 0.26967233145831580803409780572761),
     221              : MathVector<3>(0.26967233145831580803409780572761, 0.60300566479164914136743113906094, 0.06366100187501752529923552760573),
     222              : MathVector<3>(0.60300566479164914136743113906094, 0.26967233145831580803409780572761, 0.06366100187501752529923552760573)
     223              : };
     224              : 
     225              : template <>
     226              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 7>, 3, 7, 31>::m_vWeight[31] =
     227              : {
     228              : 1./6. * 0.00582010582010582010582010582011,
     229              : 1./6. * 0.00582010582010582010582010582011,
     230              : 1./6. * 0.00582010582010582010582010582011,
     231              : 1./6. * 0.00582010582010582010582010582011,
     232              : 1./6. * 0.00582010582010582010582010582011,
     233              : 1./6. * 0.00582010582010582010582010582011,
     234              : 1./6. * 0.10958534079665292174720941138968,
     235              : 1./6. * 0.06359964914648212149848324912716,
     236              : 1./6. * 0.06359964914648212149848324912716,
     237              : 1./6. * 0.06359964914648212149848324912716,
     238              : 1./6. * 0.06359964914648212149848324912716,
     239              : 1./6. * -0.37510644068599111014882208495676,
     240              : 1./6. * -0.37510644068599111014882208495676,
     241              : 1./6. * -0.37510644068599111014882208495676,
     242              : 1./6. * -0.37510644068599111014882208495676,
     243              : 1./6. * 0.02934855157844099630877457822026,
     244              : 1./6. * 0.02934855157844099630877457822026,
     245              : 1./6. * 0.02934855157844099630877457822026,
     246              : 1./6. * 0.02934855157844099630877457822026,
     247              : 1./6. * 0.16534391534391534391534391534392,
     248              : 1./6. * 0.16534391534391534391534391534392,
     249              : 1./6. * 0.16534391534391534391534391534392,
     250              : 1./6. * 0.16534391534391534391534391534392,
     251              : 1./6. * 0.16534391534391534391534391534392,
     252              : 1./6. * 0.16534391534391534391534391534392,
     253              : 1./6. * 0.16534391534391534391534391534392,
     254              : 1./6. * 0.16534391534391534391534391534392,
     255              : 1./6. * 0.16534391534391534391534391534392,
     256              : 1./6. * 0.16534391534391534391534391534392,
     257              : 1./6. * 0.16534391534391534391534391534392,
     258              : 1./6. * 0.16534391534391534391534391534392
     259              : };
     260              : 
     261              : template <>
     262              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 7>, 3, 7, 31>::m_vPoint[31] =
     263              : {
     264              : MathVector<3>(0.50000000000000000000000000000000, 0.50000000000000000000000000000000, 0.00000000000000000000000000000000),
     265              : MathVector<3>(0.50000000000000000000000000000000, 0.00000000000000000000000000000000, 0.50000000000000000000000000000000),
     266              : MathVector<3>(0.00000000000000000000000000000000, 0.50000000000000000000000000000000, 0.50000000000000000000000000000000),
     267              : MathVector<3>(0.00000000000000000000000000000000, 0.00000000000000000000000000000000, 0.50000000000000000000000000000000),
     268              : MathVector<3>(0.00000000000000000000000000000000, 0.50000000000000000000000000000000, 0.00000000000000000000000000000000),
     269              : MathVector<3>(0.50000000000000000000000000000000, 0.00000000000000000000000000000000, 0.00000000000000000000000000000000),
     270              : MathVector<3>(0.25000000000000000000000000000000, 0.25000000000000000000000000000000, 0.25000000000000000000000000000000),
     271              : MathVector<3>(0.07821319233031806437399425083755, 0.07821319233031806437399425083755, 0.07821319233031806437399425083755),
     272              : MathVector<3>(0.76536042300904580687801724748734, 0.07821319233031806437399425083755, 0.07821319233031806437399425083755),
     273              : MathVector<3>(0.07821319233031806437399425083755, 0.76536042300904580687801724748734, 0.07821319233031806437399425083755),
     274              : MathVector<3>(0.07821319233031806437399425083755, 0.07821319233031806437399425083755, 0.76536042300904580687801724748734),
     275              : MathVector<3>(0.12184321666390517465215637268482, 0.12184321666390517465215637268482, 0.12184321666390517465215637268482),
     276              : MathVector<3>(0.63447035000828447604353088194555, 0.12184321666390517465215637268482, 0.12184321666390517465215637268482),
     277              : MathVector<3>(0.12184321666390517465215637268482, 0.63447035000828447604353088194555, 0.12184321666390517465215637268482),
     278              : MathVector<3>(0.12184321666390517465215637268482, 0.12184321666390517465215637268482, 0.63447035000828447604353088194555),
     279              : MathVector<3>(0.33253916444642062415292382315771, 0.33253916444642062415292382315771, 0.33253916444642062415292382315771),
     280              : MathVector<3>(0.00238250666073812754122853052688, 0.33253916444642062415292382315771, 0.33253916444642062415292382315771),
     281              : MathVector<3>(0.33253916444642062415292382315771, 0.00238250666073812754122853052688, 0.33253916444642062415292382315771),
     282              : MathVector<3>(0.33253916444642062415292382315771, 0.33253916444642062415292382315771, 0.00238250666073812754122853052688),
     283              : MathVector<3>(0.10000000000000000000000000000000, 0.10000000000000000000000000000000, 0.20000000000000000000000000000000),
     284              : MathVector<3>(0.10000000000000000000000000000000, 0.20000000000000000000000000000000, 0.10000000000000000000000000000000),
     285              : MathVector<3>(0.20000000000000000000000000000000, 0.10000000000000000000000000000000, 0.10000000000000000000000000000000),
     286              : MathVector<3>(0.10000000000000000000000000000000, 0.10000000000000000000000000000000, 0.60000000000000000000000000000000),
     287              : MathVector<3>(0.10000000000000000000000000000000, 0.60000000000000000000000000000000, 0.10000000000000000000000000000000),
     288              : MathVector<3>(0.60000000000000000000000000000000, 0.10000000000000000000000000000000, 0.10000000000000000000000000000000),
     289              : MathVector<3>(0.10000000000000000000000000000000, 0.20000000000000000000000000000000, 0.60000000000000000000000000000000),
     290              : MathVector<3>(0.10000000000000000000000000000000, 0.60000000000000000000000000000000, 0.20000000000000000000000000000000),
     291              : MathVector<3>(0.60000000000000000000000000000000, 0.10000000000000000000000000000000, 0.20000000000000000000000000000000),
     292              : MathVector<3>(0.20000000000000000000000000000000, 0.10000000000000000000000000000000, 0.60000000000000000000000000000000),
     293              : MathVector<3>(0.20000000000000000000000000000000, 0.60000000000000000000000000000000, 0.10000000000000000000000000000000),
     294              : MathVector<3>(0.60000000000000000000000000000000, 0.20000000000000000000000000000000, 0.10000000000000000000000000000000)
     295              : };
     296              : 
     297              : template <>
     298              : number GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 8>, 3, 8, 43>::m_vWeight[43] =
     299              : {
     300              : 1./6. * -0.12300113195183949504351910658577,
     301              : 1./6. * 0.08550183493720140749063844921523,
     302              : 1./6. * 0.08550183493720140749063844921523,
     303              : 1./6. * 0.08550183493720140749063844921523,
     304              : 1./6. * 0.08550183493720140749063844921523,
     305              : 1./6. * 0.01180219987880340592537682054673,
     306              : 1./6. * 0.01180219987880340592537682054673,
     307              : 1./6. * 0.01180219987880340592537682054673,
     308              : 1./6. * 0.01180219987880340592537682054673,
     309              : 1./6. * 0.00101900465455732427902646740022,
     310              : 1./6. * 0.00101900465455732427902646740022,
     311              : 1./6. * 0.00101900465455732427902646740022,
     312              : 1./6. * 0.00101900465455732427902646740022,
     313              : 1./6. * 0.02747810294680369080446108677784,
     314              : 1./6. * 0.02747810294680369080446108677784,
     315              : 1./6. * 0.02747810294680369080446108677784,
     316              : 1./6. * 0.02747810294680369080446108677784,
     317              : 1./6. * 0.02747810294680369080446108677784,
     318              : 1./6. * 0.02747810294680369080446108677784,
     319              : 1./6. * 0.03422691485209151104081535176698,
     320              : 1./6. * 0.03422691485209151104081535176698,
     321              : 1./6. * 0.03422691485209151104081535176698,
     322              : 1./6. * 0.03422691485209151104081535176698,
     323              : 1./6. * 0.03422691485209151104081535176698,
     324              : 1./6. * 0.03422691485209151104081535176698,
     325              : 1./6. * 0.03422691485209151104081535176698,
     326              : 1./6. * 0.03422691485209151104081535176698,
     327              : 1./6. * 0.03422691485209151104081535176698,
     328              : 1./6. * 0.03422691485209151104081535176698,
     329              : 1./6. * 0.03422691485209151104081535176698,
     330              : 1./6. * 0.03422691485209151104081535176698,
     331              : 1./6. * 0.01284311484697255557890011800552,
     332              : 1./6. * 0.01284311484697255557890011800552,
     333              : 1./6. * 0.01284311484697255557890011800552,
     334              : 1./6. * 0.01284311484697255557890011800552,
     335              : 1./6. * 0.01284311484697255557890011800552,
     336              : 1./6. * 0.01284311484697255557890011800552,
     337              : 1./6. * 0.01284311484697255557890011800552,
     338              : 1./6. * 0.01284311484697255557890011800552,
     339              : 1./6. * 0.01284311484697255557890011800552,
     340              : 1./6. * 0.01284311484697255557890011800552,
     341              : 1./6. * 0.01284311484697255557890011800552,
     342              : 1./6. * 0.01284311484697255557890011800552
     343              : };
     344              : 
     345              : template <>
     346              : MathVector<3> GaussQuadBase<GaussQuadrature<ReferenceTetrahedron, 8>, 3, 8, 43>::m_vPoint[43] =
     347              : {
     348              : MathVector<3>(0.25000000000000000000000000000000, 0.25000000000000000000000000000000, 0.25000000000000000000000000000000),
     349              : MathVector<3>(0.20682993161067320408398090002496, 0.20682993161067320408398090002496, 0.20682993161067320408398090002496),
     350              : MathVector<3>(0.37951020516798038774805729992512, 0.20682993161067320408398090002496, 0.20682993161067320408398090002496),
     351              : MathVector<3>(0.20682993161067320408398090002496, 0.37951020516798038774805729992512, 0.20682993161067320408398090002496),
     352              : MathVector<3>(0.20682993161067320408398090002496, 0.20682993161067320408398090002496, 0.37951020516798038774805729992512),
     353              : MathVector<3>(0.08210358831054672309060580787142, 0.08210358831054672309060580787142, 0.08210358831054672309060580787142),
     354              : MathVector<3>(0.75368923506835983072818257638574, 0.08210358831054672309060580787142, 0.08210358831054672309060580787142),
     355              : MathVector<3>(0.08210358831054672309060580787142, 0.75368923506835983072818257638574, 0.08210358831054672309060580787142),
     356              : MathVector<3>(0.08210358831054672309060580787142, 0.08210358831054672309060580787142, 0.75368923506835983072818257638574),
     357              : MathVector<3>(0.00578195050519799725317663886414, 0.00578195050519799725317663886414, 0.00578195050519799725317663886414),
     358              : MathVector<3>(0.98265414848440600824047008340757, 0.00578195050519799725317663886414, 0.00578195050519799725317663886414),
     359              : MathVector<3>(0.00578195050519799725317663886414, 0.98265414848440600824047008340757, 0.00578195050519799725317663886414),
     360              : MathVector<3>(0.00578195050519799725317663886414, 0.00578195050519799725317663886414, 0.98265414848440600824047008340757),
     361              : MathVector<3>(0.05053274001889422442562452855791, 0.05053274001889422442562452855791, 0.44946725998110577557437547144209),
     362              : MathVector<3>(0.05053274001889422442562452855791, 0.44946725998110577557437547144209, 0.05053274001889422442562452855791),
     363              : MathVector<3>(0.44946725998110577557437547144209, 0.05053274001889422442562452855791, 0.05053274001889422442562452855791),
     364              : MathVector<3>(0.05053274001889422442562452855791, 0.44946725998110577557437547144209, 0.44946725998110577557437547144209),
     365              : MathVector<3>(0.44946725998110577557437547144209, 0.05053274001889422442562452855791, 0.44946725998110577557437547144209),
     366              : MathVector<3>(0.44946725998110577557437547144209, 0.44946725998110577557437547144209, 0.05053274001889422442562452855791),
     367              : MathVector<3>(0.22906653611681113960040885455475, 0.22906653611681113960040885455475, 0.03563958278853404371691739695061),
     368              : MathVector<3>(0.22906653611681113960040885455475, 0.03563958278853404371691739695061, 0.22906653611681113960040885455475),
     369              : MathVector<3>(0.03563958278853404371691739695061, 0.22906653611681113960040885455475, 0.22906653611681113960040885455475),
     370              : MathVector<3>(0.22906653611681113960040885455475, 0.22906653611681113960040885455475, 0.50622734497784367708226489393988),
     371              : MathVector<3>(0.22906653611681113960040885455475, 0.50622734497784367708226489393988, 0.22906653611681113960040885455475),
     372              : MathVector<3>(0.50622734497784367708226489393988, 0.22906653611681113960040885455475, 0.22906653611681113960040885455475),
     373              : MathVector<3>(0.22906653611681113960040885455475, 0.03563958278853404371691739695061, 0.50622734497784367708226489393988),
     374              : MathVector<3>(0.22906653611681113960040885455475, 0.50622734497784367708226489393988, 0.03563958278853404371691739695061),
     375              : MathVector<3>(0.50622734497784367708226489393988, 0.22906653611681113960040885455475, 0.03563958278853404371691739695061),
     376              : MathVector<3>(0.03563958278853404371691739695061, 0.22906653611681113960040885455475, 0.50622734497784367708226489393988),
     377              : MathVector<3>(0.03563958278853404371691739695061, 0.50622734497784367708226489393988, 0.22906653611681113960040885455475),
     378              : MathVector<3>(0.50622734497784367708226489393988, 0.03563958278853404371691739695061, 0.22906653611681113960040885455475),
     379              : MathVector<3>(0.03660774955319742367877385463271, 0.03660774955319742367877385463271, 0.19048604193463345569943328531510),
     380              : MathVector<3>(0.03660774955319742367877385463271, 0.19048604193463345569943328531510, 0.03660774955319742367877385463271),
     381              : MathVector<3>(0.19048604193463345569943328531510, 0.03660774955319742367877385463271, 0.03660774955319742367877385463271),
     382              : MathVector<3>(0.03660774955319742367877385463271, 0.03660774955319742367877385463271, 0.73629845895897169694301900541948),
     383              : MathVector<3>(0.03660774955319742367877385463271, 0.73629845895897169694301900541948, 0.03660774955319742367877385463271),
     384              : MathVector<3>(0.73629845895897169694301900541948, 0.03660774955319742367877385463271, 0.03660774955319742367877385463271),
     385              : MathVector<3>(0.03660774955319742367877385463271, 0.19048604193463345569943328531510, 0.73629845895897169694301900541948),
     386              : MathVector<3>(0.03660774955319742367877385463271, 0.73629845895897169694301900541948, 0.19048604193463345569943328531510),
     387              : MathVector<3>(0.73629845895897169694301900541948, 0.03660774955319742367877385463271, 0.19048604193463345569943328531510),
     388              : MathVector<3>(0.19048604193463345569943328531510, 0.03660774955319742367877385463271, 0.73629845895897169694301900541948),
     389              : MathVector<3>(0.19048604193463345569943328531510, 0.73629845895897169694301900541948, 0.03660774955319742367877385463271),
     390              : MathVector<3>(0.73629845895897169694301900541948, 0.19048604193463345569943328531510, 0.03660774955319742367877385463271)
     391              : };
     392              : 
     393              : 
     394              : 
     395              : 
     396              : template <>
     397            0 : FlexGaussQuadrature<ReferenceTetrahedron>::FlexGaussQuadrature(int order)
     398              : {
     399            0 :         switch(order)
     400              :         {
     401              :         case 0:
     402            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 0>::order();
     403            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 0>::size();
     404            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 0>::points();
     405            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 0>::weights();
     406            0 :                 break;
     407              : 
     408              :         case 1:
     409            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 1>::order();
     410            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 1>::size();
     411            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 1>::points();
     412            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 1>::weights();
     413            0 :                 break;
     414              : 
     415              :         case 2:
     416            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 2>::order();
     417            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 2>::size();
     418            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 2>::points();
     419            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 2>::weights();
     420            0 :                 break;
     421              : 
     422              :         case 3:
     423            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 3>::order();
     424            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 3>::size();
     425            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 3>::points();
     426            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 3>::weights();
     427            0 :                 break;
     428              : 
     429              :         case 4:
     430              :         case 5:
     431            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 5>::order();
     432            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 5>::size();
     433            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 5>::points();
     434            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 5>::weights();
     435            0 :                 break;
     436              : 
     437              :         case 6:
     438            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 6>::order();
     439            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 6>::size();
     440            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 6>::points();
     441            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 6>::weights();
     442            0 :                 break;
     443              : 
     444              :         case 7:
     445            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 7>::order();
     446            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 7>::size();
     447            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 7>::points();
     448            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 7>::weights();
     449            0 :                 break;
     450              : 
     451              :         case 8:
     452            0 :                 m_order = GaussQuadrature<ReferenceTetrahedron, 8>::order();
     453            0 :                 m_numPoints = GaussQuadrature<ReferenceTetrahedron, 8>::size();
     454            0 :                 m_pvPoint = GaussQuadrature<ReferenceTetrahedron, 8>::points();
     455            0 :                 m_pvWeight = GaussQuadrature<ReferenceTetrahedron, 8>::weights();
     456            0 :                 break;
     457              : 
     458            0 :         default: UG_THROW("Order "<<order<<" not available for GaussQuadrature of tetrahedron.");
     459              :         }
     460            0 : }
     461              : }; // namespace ug
     462              : 
        

Generated by: LCOV version 2.0-1