Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improve error message
[simgrid.git] / examples / smpi / NAS / SP / set_constants.f
1
2 c---------------------------------------------------------------------
3 c---------------------------------------------------------------------
4
5        subroutine  set_constants
6
7 c---------------------------------------------------------------------
8 c---------------------------------------------------------------------
9
10        include 'header.h'
11   
12        ce(1,1)  = 2.0d0
13        ce(1,2)  = 0.0d0
14        ce(1,3)  = 0.0d0
15        ce(1,4)  = 4.0d0
16        ce(1,5)  = 5.0d0
17        ce(1,6)  = 3.0d0
18        ce(1,7)  = 0.5d0
19        ce(1,8)  = 0.02d0
20        ce(1,9)  = 0.01d0
21        ce(1,10) = 0.03d0
22        ce(1,11) = 0.5d0
23        ce(1,12) = 0.4d0
24        ce(1,13) = 0.3d0
25  
26        ce(2,1)  = 1.0d0
27        ce(2,2)  = 0.0d0
28        ce(2,3)  = 0.0d0
29        ce(2,4)  = 0.0d0
30        ce(2,5)  = 1.0d0
31        ce(2,6)  = 2.0d0
32        ce(2,7)  = 3.0d0
33        ce(2,8)  = 0.01d0
34        ce(2,9)  = 0.03d0
35        ce(2,10) = 0.02d0
36        ce(2,11) = 0.4d0
37        ce(2,12) = 0.3d0
38        ce(2,13) = 0.5d0
39
40        ce(3,1)  = 2.0d0
41        ce(3,2)  = 2.0d0
42        ce(3,3)  = 0.0d0
43        ce(3,4)  = 0.0d0
44        ce(3,5)  = 0.0d0
45        ce(3,6)  = 2.0d0
46        ce(3,7)  = 3.0d0
47        ce(3,8)  = 0.04d0
48        ce(3,9)  = 0.03d0
49        ce(3,10) = 0.05d0
50        ce(3,11) = 0.3d0
51        ce(3,12) = 0.5d0
52        ce(3,13) = 0.4d0
53
54        ce(4,1)  = 2.0d0
55        ce(4,2)  = 2.0d0
56        ce(4,3)  = 0.0d0
57        ce(4,4)  = 0.0d0
58        ce(4,5)  = 0.0d0
59        ce(4,6)  = 2.0d0
60        ce(4,7)  = 3.0d0
61        ce(4,8)  = 0.03d0
62        ce(4,9)  = 0.05d0
63        ce(4,10) = 0.04d0
64        ce(4,11) = 0.2d0
65        ce(4,12) = 0.1d0
66        ce(4,13) = 0.3d0
67
68        ce(5,1)  = 5.0d0
69        ce(5,2)  = 4.0d0
70        ce(5,3)  = 3.0d0
71        ce(5,4)  = 2.0d0
72        ce(5,5)  = 0.1d0
73        ce(5,6)  = 0.4d0
74        ce(5,7)  = 0.3d0
75        ce(5,8)  = 0.05d0
76        ce(5,9)  = 0.04d0
77        ce(5,10) = 0.03d0
78        ce(5,11) = 0.1d0
79        ce(5,12) = 0.3d0
80        ce(5,13) = 0.2d0
81
82        c1 = 1.4d0
83        c2 = 0.4d0
84        c3 = 0.1d0
85        c4 = 1.0d0
86        c5 = 1.4d0
87
88        bt = dsqrt(0.5d0)
89
90        dnxm1 = 1.0d0 / dble(grid_points(1)-1)
91        dnym1 = 1.0d0 / dble(grid_points(2)-1)
92        dnzm1 = 1.0d0 / dble(grid_points(3)-1)
93
94        c1c2 = c1 * c2
95        c1c5 = c1 * c5
96        c3c4 = c3 * c4
97        c1345 = c1c5 * c3c4
98
99        conz1 = (1.0d0-c1c5)
100
101        tx1 = 1.0d0 / (dnxm1 * dnxm1)
102        tx2 = 1.0d0 / (2.0d0 * dnxm1)
103        tx3 = 1.0d0 / dnxm1
104
105        ty1 = 1.0d0 / (dnym1 * dnym1)
106        ty2 = 1.0d0 / (2.0d0 * dnym1)
107        ty3 = 1.0d0 / dnym1
108  
109        tz1 = 1.0d0 / (dnzm1 * dnzm1)
110        tz2 = 1.0d0 / (2.0d0 * dnzm1)
111        tz3 = 1.0d0 / dnzm1
112
113        dx1 = 0.75d0
114        dx2 = 0.75d0
115        dx3 = 0.75d0
116        dx4 = 0.75d0
117        dx5 = 0.75d0
118
119        dy1 = 0.75d0
120        dy2 = 0.75d0
121        dy3 = 0.75d0
122        dy4 = 0.75d0
123        dy5 = 0.75d0
124
125        dz1 = 1.0d0
126        dz2 = 1.0d0
127        dz3 = 1.0d0
128        dz4 = 1.0d0
129        dz5 = 1.0d0
130
131        dxmax = dmax1(dx3, dx4)
132        dymax = dmax1(dy2, dy4)
133        dzmax = dmax1(dz2, dz3)
134
135        dssp = 0.25d0 * dmax1(dx1, dmax1(dy1, dz1) )
136
137        c4dssp = 4.0d0 * dssp
138        c5dssp = 5.0d0 * dssp
139
140        dttx1 = dt*tx1
141        dttx2 = dt*tx2
142        dtty1 = dt*ty1
143        dtty2 = dt*ty2
144        dttz1 = dt*tz1
145        dttz2 = dt*tz2
146
147        c2dttx1 = 2.0d0*dttx1
148        c2dtty1 = 2.0d0*dtty1
149        c2dttz1 = 2.0d0*dttz1
150
151        dtdssp = dt*dssp
152
153        comz1  = dtdssp
154        comz4  = 4.0d0*dtdssp
155        comz5  = 5.0d0*dtdssp
156        comz6  = 6.0d0*dtdssp
157
158        c3c4tx3 = c3c4*tx3
159        c3c4ty3 = c3c4*ty3
160        c3c4tz3 = c3c4*tz3
161
162        dx1tx1 = dx1*tx1
163        dx2tx1 = dx2*tx1
164        dx3tx1 = dx3*tx1
165        dx4tx1 = dx4*tx1
166        dx5tx1 = dx5*tx1
167         
168        dy1ty1 = dy1*ty1
169        dy2ty1 = dy2*ty1
170        dy3ty1 = dy3*ty1
171        dy4ty1 = dy4*ty1
172        dy5ty1 = dy5*ty1
173         
174        dz1tz1 = dz1*tz1
175        dz2tz1 = dz2*tz1
176        dz3tz1 = dz3*tz1
177        dz4tz1 = dz4*tz1
178        dz5tz1 = dz5*tz1
179
180        c2iv  = 2.5d0
181        con43 = 4.0d0/3.0d0
182        con16 = 1.0d0/6.0d0
183         
184        xxcon1 = c3c4tx3*con43*tx3
185        xxcon2 = c3c4tx3*tx3
186        xxcon3 = c3c4tx3*conz1*tx3
187        xxcon4 = c3c4tx3*con16*tx3
188        xxcon5 = c3c4tx3*c1c5*tx3
189
190        yycon1 = c3c4ty3*con43*ty3
191        yycon2 = c3c4ty3*ty3
192        yycon3 = c3c4ty3*conz1*ty3
193        yycon4 = c3c4ty3*con16*ty3
194        yycon5 = c3c4ty3*c1c5*ty3
195
196        zzcon1 = c3c4tz3*con43*tz3
197        zzcon2 = c3c4tz3*tz3
198        zzcon3 = c3c4tz3*conz1*tz3
199        zzcon4 = c3c4tz3*con16*tz3
200        zzcon5 = c3c4tz3*c1c5*tz3
201
202        return
203        end