| [658] | 1 | /* Pour integration par la methode "higher order gaussian terms" */
 | 
|---|
 | 2 | /*                                                cmv   23/06/94 */
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 | #ifndef NBINTEG_H_SEEN
 | 
|---|
 | 5 | #define NBINTEG_H_SEEN
 | 
|---|
 | 6 | 
 | 
|---|
 | 7 | #ifdef __cplusplus
 | 
|---|
 | 8 | extern "C" {
 | 
|---|
 | 9 | #endif
 | 
|---|
 | 10 | 
 | 
|---|
 | 11 | /*=============================================================*/
 | 
|---|
 | 12 | static int mIhoq2 = 2;
 | 
|---|
 | 13 | static double Ihoq2X[2] =
 | 
|---|
 | 14 |    { -0.288675135, 0.288675135 };
 | 
|---|
 | 15 | static double Ihoq2W[2] =
 | 
|---|
 | 16 |    {  0.500000000, 0.500000000 };
 | 
|---|
 | 17 | /*=============================================================*/
 | 
|---|
 | 18 | static int mIhoq3 = 3;
 | 
|---|
 | 19 | static double Ihoq3X[3] =
 | 
|---|
 | 20 |    { -0.387298335, 0.000000000, 0.387298335 };
 | 
|---|
 | 21 | static double Ihoq3W[3] =
 | 
|---|
 | 22 |    {  0.277777778, 0.444444444, 0.277777778 };
 | 
|---|
 | 23 | /*=============================================================*/
 | 
|---|
 | 24 | static int mIhoq4 = 4;
 | 
|---|
 | 25 | static double Ihoq4X[4] =
 | 
|---|
 | 26 |    { -0.430568156,-0.169990522, 0.169990522, 0.430568156 };
 | 
|---|
 | 27 | static double Ihoq4W[4] =
 | 
|---|
 | 28 |    {  0.173927423, 0.326072577, 0.326072577, 0.173927423 };
 | 
|---|
 | 29 | /*=============================================================*/
 | 
|---|
 | 30 | static int mIhoq5 = 5;
 | 
|---|
 | 31 | static double Ihoq5X[5] =
 | 
|---|
 | 32 |    { -0.453089923,-0.269234655, 0.000000000, 0.269234655,
 | 
|---|
 | 33 |       0.453089923 };
 | 
|---|
 | 34 | static double Ihoq5W[5] =
 | 
|---|
 | 35 |    {  0.118463443, 0.239314335, 0.284444444, 0.239314335,
 | 
|---|
 | 36 |       0.118463443 };
 | 
|---|
 | 37 | /*=============================================================*/
 | 
|---|
 | 38 | static int mIhoq6 = 6;
 | 
|---|
 | 39 | static double Ihoq6X[6] =
 | 
|---|
 | 40 |    { -0.466234757,-0.330604693,-0.119309593, 0.119309593,
 | 
|---|
 | 41 |       0.330604693, 0.466234757 };
 | 
|---|
 | 42 | static double Ihoq6W[6] =
 | 
|---|
 | 43 |    {  0.085662246, 0.180380787, 0.233956967, 0.233956967,
 | 
|---|
 | 44 |       0.180380787, 0.085662246 };
 | 
|---|
 | 45 | /*=============================================================*/
 | 
|---|
 | 46 | static int mIhoq7 = 7;
 | 
|---|
 | 47 | static double Ihoq7X[7] =
 | 
|---|
 | 48 |    { -0.474553956,-0.370765593,-0.202922576, 0.000000000,
 | 
|---|
 | 49 |       0.202922576, 0.370765593, 0.474553956 };
 | 
|---|
 | 50 | static double Ihoq7W[7] =
 | 
|---|
 | 51 |    {  0.064742483, 0.139852696, 0.190915025, 0.208979592,
 | 
|---|
 | 52 |       0.190915025, 0.139852696, 0.064742483 };
 | 
|---|
 | 53 | /*=============================================================*/
 | 
|---|
 | 54 | static int mIhoq8 = 8;
 | 
|---|
 | 55 | static double Ihoq8X[8] =
 | 
|---|
 | 56 |    { -0.480144928,-0.398333239,-0.262766205,-0.091717321,
 | 
|---|
 | 57 |       0.091717321, 0.262766205, 0.398333239, 0.480144928 };
 | 
|---|
 | 58 | static double Ihoq8W[8] =
 | 
|---|
 | 59 |    {  0.050614268, 0.111190517, 0.156853323, 0.181341892,
 | 
|---|
 | 60 |       0.181341892, 0.156853323, 0.111190517, 0.050614268 };
 | 
|---|
 | 61 | /*=============================================================*/
 | 
|---|
 | 62 | static int mIhoq9 = 9;
 | 
|---|
 | 63 | static double Ihoq9X[9] =
 | 
|---|
 | 64 |    { -0.484080120,-0.418015554,-0.306685716,-0.162126712,
 | 
|---|
 | 65 |       0.000000000, 0.162126712, 0.306685716, 0.418015554,
 | 
|---|
 | 66 |       0.484080120 };
 | 
|---|
 | 67 | static double Ihoq9W[9] =
 | 
|---|
 | 68 |    {  0.040637194, 0.090324080, 0.130305348, 0.156173539,
 | 
|---|
 | 69 |       0.165119678, 0.156173539, 0.130305348, 0.090324080,
 | 
|---|
 | 70 |       0.040637194 };
 | 
|---|
 | 71 | /*=============================================================*/
 | 
|---|
 | 72 | static int mIhoq10 = 10;
 | 
|---|
 | 73 | static double Ihoq10X[10] =
 | 
|---|
 | 74 |    { -0.486953264,-0.432531683,-0.339704784,-0.216697697,
 | 
|---|
 | 75 |      -0.074437169, 0.074437169, 0.216697697, 0.339704784,
 | 
|---|
 | 76 |       0.432531683, 0.486953264 };
 | 
|---|
 | 77 | static double Ihoq10W[10] =
 | 
|---|
 | 78 |    {  0.033335672, 0.074725675, 0.109543181, 0.134633360,
 | 
|---|
 | 79 |       0.147762112, 0.147762112, 0.134633360, 0.109543181,
 | 
|---|
 | 80 |       0.074725675, 0.033335672 };
 | 
|---|
 | 81 | /*=============================================================*/
 | 
|---|
 | 82 | static int mIhoq16 = 16;
 | 
|---|
 | 83 | static double Ihoq16X[16] =
 | 
|---|
 | 84 |    { -0.494700467,-0.472287512,-0.432815601,-0.377702204,
 | 
|---|
 | 85 |      -0.308938122,-0.229008389,-0.140801775,-0.047506255,
 | 
|---|
 | 86 |       0.047506255, 0.140801775, 0.229008389, 0.308938122,
 | 
|---|
 | 87 |       0.377702204, 0.432815601, 0.472287512, 0.494700467 };
 | 
|---|
 | 88 | static double Ihoq16W[16] =
 | 
|---|
 | 89 |    {  0.013576230, 0.031126762, 0.047579256, 0.062314486,
 | 
|---|
 | 90 |       0.074797994, 0.084578260, 0.091301708, 0.094725305,
 | 
|---|
 | 91 |       0.094725305, 0.091301708, 0.084578260, 0.074797994,
 | 
|---|
 | 92 |       0.062314486, 0.047579256, 0.031126762, 0.013576230 };
 | 
|---|
 | 93 | /*=============================================================*/
 | 
|---|
 | 94 | 
 | 
|---|
 | 95 | 
 | 
|---|
 | 96 | /* Integration 2D domaine carre */
 | 
|---|
 | 97 | /* Selon Abramowitz p892-893 formule 25.462, residu ordre 0.5**6 */
 | 
|---|
 | 98 | /* 0.387298=0.5*sqrt(3/5)  0.197531=16/81  0.123457=10/81  0.077160=25/324 */
 | 
|---|
 | 99 | /*  */
 | 
|---|
 | 100 | #if defined(SIMPSON9)
 | 
|---|
 | 101 |   static int   nd2d = 9;
 | 
|---|
 | 102 |   static float dx2d[9] = { 0.000000 ,  0.000000 ,  0.000000
 | 
|---|
 | 103 |                          ,-0.387298 ,  0.387298 , -0.387298
 | 
|---|
 | 104 |                          , 0.387298 , -0.387298 ,  0.387298 };
 | 
|---|
 | 105 |   static float dy2d[9] = { 0.000000 , -0.387298 ,  0.387298
 | 
|---|
 | 106 |                          , 0.000000 ,  0.000000 , -0.387298
 | 
|---|
 | 107 |                          , 0.387298 ,  0.387298 , -0.387298 };
 | 
|---|
 | 108 |   static float  w2d[9] = { 0.197531 ,  0.123457 ,  0.123457
 | 
|---|
 | 109 |                          , 0.123457 ,  0.123457 ,  0.077157
 | 
|---|
 | 110 |                          , 0.0771605,  0.0771605,  0.0771605};
 | 
|---|
 | 111 | #elif defined(SIMPSON4)
 | 
|---|
 | 112 |   static int   nd2d = 4;
 | 
|---|
 | 113 |   static float dx2d[4] = { 0.288675, 0.288675,-0.288675,-0.288675 };
 | 
|---|
 | 114 |   static float dy2d[4] = { 0.288675,-0.288675, 0.288675,-0.288675 };
 | 
|---|
 | 115 |   static float  w2d[4] = { 0.250000, 0.250000, 0.250000, 0.250000 };
 | 
|---|
 | 116 | #elif defined(INTEG5)
 | 
|---|
 | 117 |   static int   nd2d = 5;
 | 
|---|
 | 118 |   static float dx2d[5] = { 0. , -0.3, -0.3,  0.3, 0.3 };
 | 
|---|
 | 119 |   static float dy2d[5] = { 0. , -0.3,  0.3, -0.3, 0.3 };
 | 
|---|
 | 120 |   static float  w2d[5] = { 0.2,  0.2,  0.2,  0.2, 0.2 };
 | 
|---|
 | 121 | #elif  defined(NOINTEG)
 | 
|---|
 | 122 |   static int   nd2d = 1;
 | 
|---|
 | 123 |   static float dx2d[1] = { 0. };
 | 
|---|
 | 124 |   static float dy2d[1] = { 0. };
 | 
|---|
 | 125 |   static float  w2d[1] = { 1. };
 | 
|---|
 | 126 | #else
 | 
|---|
 | 127 |   static int   nd2d = 0;
 | 
|---|
 | 128 |   static float dx2d[1] = { 999999. };
 | 
|---|
 | 129 |   static float dy2d[1] = { 999999. };
 | 
|---|
 | 130 |   static float  w2d[1] = { 0. };
 | 
|---|
 | 131 | #endif
 | 
|---|
 | 132 | 
 | 
|---|
 | 133 | 
 | 
|---|
 | 134 | /* Coeff pour le calcul du volume de f(x,y,z) dans des cubes 3D */
 | 
|---|
 | 135 | static int   nd3d = 6;
 | 
|---|
 | 136 | static float dx3d[6] = { 0.5, -0.5, 0.0,  0.0, 0.0,  0.0  };
 | 
|---|
 | 137 | static float dy3d[6] = { 0.0,  0.0, 0.5, -0.5, 0.0,  0.0  };
 | 
|---|
 | 138 | static float dz3d[6] = { 0.0,  0.0, 0.0,  0.0, 0.5, -0.5  };
 | 
|---|
 | 139 | static float  w3d[6] = { 0.166667, 0.166667, 0.166667, 
 | 
|---|
 | 140 |                          0.166667, 0.166667, 0.166667 };
 | 
|---|
 | 141 | #ifdef __cplusplus
 | 
|---|
 | 142 | }
 | 
|---|
 | 143 | #endif
 | 
|---|
 | 144 | 
 | 
|---|
 | 145 | #endif
 | 
|---|
 | 146 | 
 | 
|---|