1 | #ifndef SIMPS2D_SEEN
|
---|
2 | #define SIMPS2D_SEEN
|
---|
3 |
|
---|
4 | // Integration 2D domaine carre
|
---|
5 | // Selon Abramowitz p892-893 formule 25.462, residu ordre 0.5**6
|
---|
6 | // 0.387298=0.5*sqrt(3/5) 0.197531=16/81 0.123457=10/81 0.077160=25/324
|
---|
7 | #if defined(SIMPSON9)
|
---|
8 | static int nd2d = 9;
|
---|
9 | static float dx2d[9] = { 0.000000 , 0.000000 , 0.000000
|
---|
10 | ,-0.387298 , 0.387298 , -0.387298
|
---|
11 | , 0.387298 , -0.387298 , 0.387298 };
|
---|
12 | static float dy2d[9] = { 0.000000 , -0.387298 , 0.387298
|
---|
13 | , 0.000000 , 0.000000 , -0.387298
|
---|
14 | , 0.387298 , 0.387298 , -0.387298 };
|
---|
15 | static float w2d[9] = { 0.197531 , 0.123457 , 0.123457
|
---|
16 | , 0.123457 , 0.123457 , 0.077157
|
---|
17 | , 0.0771605, 0.0771605, 0.0771605};
|
---|
18 | #elif defined(SIMPSON4)
|
---|
19 | static int nd2d = 4;
|
---|
20 | static float dx2d[4] = { 0.288675, 0.288675,-0.288675,-0.288675 };
|
---|
21 | static float dy2d[4] = { 0.288675,-0.288675, 0.288675,-0.288675 };
|
---|
22 | static float w2d[4] = { 0.250000, 0.250000, 0.250000, 0.250000 };
|
---|
23 | #elif defined(INTEG5)
|
---|
24 | static int nd2d = 5;
|
---|
25 | static float dx2d[5] = { 0. , -0.3, -0.3, 0.3, 0.3 };
|
---|
26 | static float dy2d[5] = { 0. , -0.3, 0.3, -0.3, 0.3 };
|
---|
27 | static float w2d[5] = { 0.2, 0.2, 0.2, 0.2, 0.2 };
|
---|
28 | #elif defined(NOINTEG)
|
---|
29 | static int nd2d = 1;
|
---|
30 | static float dx2d[1] = { 0. };
|
---|
31 | static float dy2d[1] = { 0. };
|
---|
32 | static float w2d[1] = { 1. };
|
---|
33 | #else
|
---|
34 | static int nd2d = 0;
|
---|
35 | static float dx2d[1] = { 999999. };
|
---|
36 | static float dy2d[1] = { 999999. };
|
---|
37 | static float w2d[1] = { 0. };
|
---|
38 | #endif
|
---|
39 |
|
---|
40 | #endif
|
---|