Logo AND Algorithmique Numérique Distribuée

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