Skip to content
Snippets Groups Projects
Select Git revision
  • 252c55a6bc818419711980f4cfcd96d796d99207
  • master default protected
  • overlaps_tags_and_distributed_export
  • relaying
  • patches-4.14
  • steplayer
  • bl
  • pluginMeshQuality
  • fixBugsAmaury
  • hierarchical-basis
  • alphashapes
  • new_export_boris
  • oras_vs_osm
  • reassign_partitions
  • distributed_fwi
  • rename-classes
  • fix/fortran-api-example-t4
  • robust_partitions
  • reducing_files
  • fix_overlaps
  • 3115-issue-fix
  • gmsh_4_14_0
  • gmsh_4_13_1
  • gmsh_4_13_0
  • gmsh_4_12_2
  • gmsh_4_12_1
  • gmsh_4_12_0
  • gmsh_4_11_1
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
41 results

GaussLegendre1D.h

Blame
  • GaussLegendre1D.h 9.93 KiB
    #ifndef _GAUSS_LEGENDRE_1D_H_
    #define _GAUSS_LEGENDRE_1D_H_
    
    // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
    //
    // This program is free software; you can redistribute it and/or modify
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation; either version 2 of the License, or
    // (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    //
    // You should have received a copy of the GNU General Public License
    // along with this program; if not, write to the Free Software
    // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
    // USA.
    // 
    // Please report all bugs and problems to <gmsh@geuz.org>.
    
    /* 1 point rule points */
    static double _GL_pt1[1]={
      0.000000000000000e+00};
    
    /* 1 point rule weights */
    static double _GL_wt1[1]={
      2.000000000000000e+00};
    
    /* 2 point rule points */
    static double _GL_pt2[2]={
      -5.773502691896257e-01, 5.773502691896257e-01};
    
    /* 2 point rule weights */
    static double _GL_wt2[2]={
      1.000000000000000e+00, 1.000000000000000e+00};
    
    /* 3 point rule points */
    static double _GL_pt3[3]={
      -7.745966692414834e-01, 0.000000000000000e+00, 7.745966692414834e-01};
    
    /* 3 point rule weights */
    static double _GL_wt3[3]={
      5.555555555555552e-01, 8.888888888888888e-01, 5.555555555555552e-01};
    
    /* 4 point rule points */
    static double _GL_pt4[4]={
      -8.611363115940526e-01,-3.399810435848563e-01, 3.399810435848563e-01, 8.611363115940526e-01};
    
    /* 4 point rule weights */
    static double _GL_wt4[4]={
      3.478548451374537e-01, 6.521451548625464e-01, 6.521451548625464e-01, 3.478548451374537e-01};
    
    /* 5 point rule points */
    static double _GL_pt5[5]={
      -9.061798459386640e-01,-5.384693101056831e-01, 0.000000000000000e+00, 5.384693101056831e-01, 9.061798459386640e-01};
    
    /* 5 point rule weights */
    static double _GL_wt5[5]={
      2.369268850561890e-01, 4.786286704993665e-01, 5.688888888888889e-01, 4.786286704993665e-01, 2.369268850561890e-01};
    
    /* 6 point rule points */
    static double _GL_pt6[6]={
      -9.324695142031521e-01,-6.612093864662646e-01,-2.386191860831969e-01, 2.386191860831969e-01, 6.612093864662646e-01, 9.324695142031521e-01};
    
    /* 6 point rule weights */
    static double _GL_wt6[6]={
      1.713244923791705e-01, 3.607615730481386e-01, 4.679139345726913e-01, 4.679139345726913e-01, 3.607615730481386e-01, 1.713244923791705e-01};
     /* 7 point rule points */
     static double _GL_pt7[7]={
     -9.491079123427585e-01,-7.415311855993945e-01,-4.058451513773972e-01, 0.000000000000000e+00, 4.058451513773972e-01, 7.415311855993945e-01, 9.491079123427585e-01};
    
     /* 7 point rule weights */
     static double _GL_wt7[7]={
      1.294849661688697e-01, 2.797053914892767e-01, 3.818300505051190e-01, 4.179591836734694e-01, 3.818300505051190e-01, 2.797053914892767e-01, 1.294849661688697e-01};
    
     /* 8 point rule points */
     static double _GL_pt8[8]={
     -9.602898564975363e-01,-7.966664774136268e-01,-5.255324099163290e-01,-1.834346424956498e-01, 1.834346424956498e-01, 5.255324099163290e-01, 7.966664774136268e-01, 9.602898564975363e-01};
    
     /* 8 point rule weights */
     static double _GL_wt8[8]={
      1.012285362903768e-01, 2.223810344533745e-01, 3.137066458778874e-01, 3.626837833783620e-01, 3.626837833783620e-01, 3.137066458778874e-01, 2.223810344533745e-01, 1.012285362903768e-01};
    
     /* 9 point rule points */
     static double _GL_pt9[9]={
     -9.681602395076261e-01,-8.360311073266359e-01,-6.133714327005905e-01,-3.242534234038089e-01, 0.000000000000000e+00, 3.242534234038089e-01, 6.133714327005905e-01, 8.360311073266359e-01, 9.681602395076261e-01};
    
     /* 9 point rule weights */
     static double _GL_wt9[9]={
      8.127438836157463e-02, 1.806481606948576e-01, 2.606106964029355e-01, 3.123470770400029e-01, 3.302393550012598e-01, 3.123470770400029e-01, 2.606106964029355e-01, 1.806481606948576e-01, 8.127438836157463e-02};
    
     /* 10 point rule points */
     static double _GL_pt10[10]={
     -9.739065285171716e-01,-8.650633666889845e-01,-6.794095682990244e-01,-4.333953941292472e-01,-1.488743389816312e-01, 1.488743389816312e-01, 4.333953941292472e-01, 6.794095682990244e-01, 8.650633666889845e-01, 9.739065285171716e-01};
    
     /* 10 point rule weights */
     static double _GL_wt10[10]={
      6.667134430868774e-02, 1.494513491505805e-01, 2.190863625159822e-01, 2.692667193099962e-01, 2.955242247147529e-01, 2.955242247147529e-01, 2.692667193099962e-01, 2.190863625159822e-01, 1.494513491505805e-01, 6.667134430868774e-02};
    
     /* 11 point rule points */
     static double _GL_pt11[11]={
     -9.782286581460570e-01,-8.870625997680953e-01,-7.301520055740494e-01,-5.190961292068118e-01,-2.695431559523450e-01, 0.000000000000000e+00, 2.695431559523450e-01, 5.190961292068118e-01, 7.301520055740494e-01, 8.870625997680953e-01, 9.782286581460570e-01};
    
     /* 11 point rule weights */
     static double _GL_wt11[11]={
      5.566856711617354e-02, 1.255803694649047e-01, 1.862902109277343e-01, 2.331937645919903e-01, 2.628045445102466e-01, 2.729250867779006e-01, 2.628045445102466e-01, 2.331937645919903e-01, 1.862902109277343e-01, 1.255803694649047e-01, 5.566856711617354e-02};
    
     /* 12 point rule points */
     static double _GL_pt12[12]={
     -9.815606342467192e-01,-9.041172563704748e-01,-7.699026741943047e-01,-5.873179542866175e-01,-3.678314989981802e-01,-1.252334085114689e-01, 1.252334085114689e-01, 3.678314989981802e-01, 5.873179542866175e-01, 7.699026741943047e-01, 9.041172563704748e-01, 9.815606342467192e-01};
    
     /* 12 point rule weights */
     static double _GL_wt12[12]={
      4.717533638651183e-02, 1.069393259953182e-01, 1.600783285433463e-01, 2.031674267230658e-01, 2.334925365383548e-01, 2.491470458134029e-01, 2.491470458134029e-01, 2.334925365383548e-01, 2.031674267230658e-01, 1.600783285433463e-01, 1.069393259953182e-01, 4.717533638651183e-02};
    
     /* 13 point rule points */
     static double _GL_pt13[13]={
     -9.841830547185881e-01,-9.175983992229780e-01,-8.015780907333099e-01,-6.423493394403402e-01,-4.484927510364468e-01,-2.304583159551348e-01, 1.232595164407831e-32, 2.304583159551348e-01, 4.484927510364468e-01, 6.423493394403402e-01, 8.015780907333099e-01, 9.175983992229780e-01, 9.841830547185881e-01};
    
     /* 13 point rule weights */
     static double _GL_wt13[13]={
      4.048400476531581e-02, 9.212149983772838e-02, 1.388735102197872e-01, 1.781459807619457e-01, 2.078160475368884e-01, 2.262831802628971e-01, 2.325515532308739e-01, 2.262831802628971e-01, 2.078160475368884e-01, 1.781459807619457e-01, 1.388735102197872e-01, 9.212149983772838e-02, 4.048400476531581e-02};
    
     /* 14 point rule points */
     static double _GL_pt14[14]={
     -9.862838086968123e-01,-9.284348836635736e-01,-8.272013150697650e-01,-6.872929048116855e-01,-5.152486363581541e-01,-3.191123689278897e-01,-1.080549487073437e-01, 1.080549487073437e-01, 3.191123689278897e-01, 5.152486363581541e-01, 6.872929048116855e-01, 8.272013150697650e-01, 9.284348836635736e-01, 9.862838086968123e-01};
    
     /* 14 point rule weights */
     static double _GL_wt14[14]={
      3.511946033175199e-02, 8.015808715976037e-02, 1.215185706879031e-01, 1.572031671581936e-01, 1.855383974779378e-01, 2.051984637212955e-01, 2.152638534631578e-01, 2.152638534631578e-01, 2.051984637212955e-01, 1.855383974779378e-01, 1.572031671581936e-01, 1.215185706879031e-01, 8.015808715976037e-02, 3.511946033175199e-02};
    
     /* 15 point rule points */
     static double _GL_pt15[15]={
     -9.879925180204854e-01,-9.372733924007060e-01,-8.482065834104272e-01,-7.244177313601701e-01,-5.709721726085388e-01,-3.941513470775634e-01,-2.011940939974345e-01, 1.232595164407831e-32, 2.011940939974345e-01, 3.941513470775634e-01, 5.709721726085388e-01, 7.244177313601701e-01, 8.482065834104272e-01, 9.372733924007060e-01, 9.879925180204854e-01};
    
     /* 15 point rule weights */
     static double _GL_wt15[15]={
      3.075324199611663e-02, 7.036604748810814e-02, 1.071592204671720e-01, 1.395706779261543e-01, 1.662692058169940e-01, 1.861610000155622e-01, 1.984314853271116e-01, 2.025782419255613e-01, 1.984314853271116e-01, 1.861610000155622e-01, 1.662692058169940e-01, 1.395706779261543e-01, 1.071592204671720e-01, 7.036604748810814e-02, 3.075324199611663e-02};
    /* 16 point rule points */
     static double _GL_pt16[16]={
     -9.894009349916499e-01,-9.445750230732326e-01,-8.656312023878318e-01,-7.554044083550030e-01,-6.178762444026438e-01,-4.580167776572274e-01,-2.816035507792589e-01,-9.501250983763744e-02, 9.501250983763744e-02, 2.816035507792589e-01, 4.580167776572274e-01, 6.178762444026438e-01, 7.554044083550030e-01, 8.656312023878318e-01, 9.445750230732326e-01, 9.894009349916499e-01};
    
     /* 16 point rule weights */
     static double _GL_wt16[16]={
      2.715245941175406e-02, 6.225352393864778e-02, 9.515851168249290e-02, 1.246289712555339e-01, 1.495959888165768e-01, 1.691565193950026e-01, 1.826034150449236e-01, 1.894506104550685e-01, 1.894506104550685e-01, 1.826034150449236e-01, 1.691565193950026e-01, 1.495959888165768e-01, 1.246289712555339e-01, 9.515851168249290e-02, 6.225352393864778e-02, 2.715245941175406e-02};
    
    inline void gmshGaussLegendre1D(int nbQuadPoints, double **t, double **w)
    {
      switch (nbQuadPoints){
      case 1:
        *t = _GL_pt1;
        *w = _GL_wt1;
        break;
      case 2:
        *t = _GL_pt2;
        *w = _GL_wt2;
        break;
      case 3:
        *t = _GL_pt3;
        *w = _GL_wt3;
        break;
      case 4:
        *t = _GL_pt4;
        *w = _GL_wt4;
        break;
      case 5:
        *t = _GL_pt5;
        *w = _GL_wt5;
        break;
      case 6:
        *t = _GL_pt6;
        *w = _GL_wt6;
        break;
      case 7:
        *t = _GL_pt7;
        *w = _GL_wt7;
        break;
      case 8:
        *t = _GL_pt8;
        *w = _GL_wt8;
        break;
      case 9:
        *t = _GL_pt9;
        *w = _GL_wt9;
        break;
      case 10:
        *t = _GL_pt10;
        *w = _GL_wt10;
        break;
      case 11:
        *t = _GL_pt11;
        *w = _GL_wt11;
        break;
      case 12:
        *t = _GL_pt12;
        *w = _GL_wt12;
        break;
      case 13:
        *t = _GL_pt13;
        *w = _GL_wt13;
        break;
      case 14:
        *t = _GL_pt14;
        *w = _GL_wt14;
        break;
      case 15:
        *t = _GL_pt15;
        *w = _GL_wt15;
        break;
      case 16:
        *t = _GL_pt16;
        *w = _GL_wt16;
        break;
      default :
        *t = 0;
        *w = 0;
        break;
      }
    }
    
    #endif