Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improve error message
[simgrid.git] / examples / smpi / NAS / SP / header.h
1
2 c---------------------------------------------------------------------
3 c---------------------------------------------------------------------
4
5       implicit none
6
7 c---------------------------------------------------------------------
8 c The following include file is generated automatically by the
9 c "setparams" utility. It defines 
10 c      maxcells:      the square root of the maximum number of processors
11 c      problem_size:  12, 64, 102, 162 (for class T, A, B, C)
12 c      dt_default:    default time step for this problem size if no
13 c                     config file
14 c      niter_default: default number of iterations for this problem size
15 c---------------------------------------------------------------------
16
17       include 'npbparams.h'
18
19       integer           ncells, grid_points(3)
20       common /global/   ncells, grid_points
21
22       double precision  tx1, tx2, tx3, ty1, ty2, ty3, tz1, tz2, tz3, 
23      >                  dx1, dx2, dx3, dx4, dx5, dy1, dy2, dy3, dy4, 
24      >                  dy5, dz1, dz2, dz3, dz4, dz5, dssp, dt, 
25      >                  ce(5,13), dxmax, dymax, dzmax, xxcon1, xxcon2, 
26      >                  xxcon3, xxcon4, xxcon5, dx1tx1, dx2tx1, dx3tx1,
27      >                  dx4tx1, dx5tx1, yycon1, yycon2, yycon3, yycon4,
28      >                  yycon5, dy1ty1, dy2ty1, dy3ty1, dy4ty1, dy5ty1,
29      >                  zzcon1, zzcon2, zzcon3, zzcon4, zzcon5, dz1tz1, 
30      >                  dz2tz1, dz3tz1, dz4tz1, dz5tz1, dnxm1, dnym1, 
31      >                  dnzm1, c1c2, c1c5, c3c4, c1345, conz1, c1, c2, 
32      >                  c3, c4, c5, c4dssp, c5dssp, dtdssp, dttx1, bt,
33      >                  dttx2, dtty1, dtty2, dttz1, dttz2, c2dttx1, 
34      >                  c2dtty1, c2dttz1, comz1, comz4, comz5, comz6, 
35      >                  c3c4tx3, c3c4ty3, c3c4tz3, c2iv, con43, con16
36
37       common /constants/ tx1, tx2, tx3, ty1, ty2, ty3, tz1, tz2, tz3,
38      >                  dx1, dx2, dx3, dx4, dx5, dy1, dy2, dy3, dy4, 
39      >                  dy5, dz1, dz2, dz3, dz4, dz5, dssp, dt, 
40      >                  ce, dxmax, dymax, dzmax, xxcon1, xxcon2, 
41      >                  xxcon3, xxcon4, xxcon5, dx1tx1, dx2tx1, dx3tx1,
42      >                  dx4tx1, dx5tx1, yycon1, yycon2, yycon3, yycon4,
43      >                  yycon5, dy1ty1, dy2ty1, dy3ty1, dy4ty1, dy5ty1,
44      >                  zzcon1, zzcon2, zzcon3, zzcon4, zzcon5, dz1tz1, 
45      >                  dz2tz1, dz3tz1, dz4tz1, dz5tz1, dnxm1, dnym1, 
46      >                  dnzm1, c1c2, c1c5, c3c4, c1345, conz1, c1, c2, 
47      >                  c3, c4, c5, c4dssp, c5dssp, dtdssp, dttx1, bt,
48      >                  dttx2, dtty1, dtty2, dttz1, dttz2, c2dttx1, 
49      >                  c2dtty1, c2dttz1, comz1, comz4, comz5, comz6, 
50      >                  c3c4tx3, c3c4ty3, c3c4tz3, c2iv, con43, con16
51
52       integer           EAST, WEST, NORTH, SOUTH, 
53      >                  BOTTOM, TOP
54
55       parameter (EAST=2000, WEST=3000,      NORTH=4000, SOUTH=5000,
56      >           BOTTOM=6000, TOP=7000)
57
58       integer cell_coord (3,maxcells), cell_low (3,maxcells), 
59      >        cell_high  (3,maxcells), cell_size(3,maxcells),
60      >        predecessor(3),          slice    (3,maxcells),
61      >        grid_size  (3),          successor(3),
62      >        start      (3,maxcells), end      (3,maxcells)
63       common /partition/ cell_coord, cell_low, cell_high, cell_size,
64      >                   grid_size, successor, predecessor, slice,
65      >                   start, end
66
67       integer IMAX, JMAX, KMAX, MAX_CELL_DIM, BUF_SIZE, IMAXP, JMAXP
68
69       parameter (MAX_CELL_DIM = (problem_size/maxcells)+1)
70
71       parameter (IMAX=MAX_CELL_DIM,JMAX=MAX_CELL_DIM,KMAX=MAX_CELL_DIM)
72       parameter (IMAXP=IMAX/2*2+1,JMAXP=JMAX/2*2+1)
73
74 c---------------------------------------------------------------------
75 c +1 at end to avoid zero length arrays for 1 node
76 c---------------------------------------------------------------------
77       parameter (BUF_SIZE=MAX_CELL_DIM*MAX_CELL_DIM*(maxcells-1)*60*2+1)
78
79       double precision 
80      >   u       (-2:IMAXP+1,-2:JMAXP+1,-2:KMAX+1, 5,maxcells),
81      >   us      (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
82      >   vs      (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
83      >   ws      (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
84      >   qs      (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
85      >   ainv    (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
86      >   rho_i   (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
87      >   speed   (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
88      >   square  (-1:IMAX,   -1:JMAX,   -1:KMAX,     maxcells),
89      >   rhs     ( 0:IMAXP-1, 0:JMAXP-1, 0:KMAX-1, 5,maxcells),
90      >   forcing ( 0:IMAXP-1, 0:JMAXP-1, 0:KMAX-1, 5,maxcells),
91      >   lhs     ( 0:IMAXP-1, 0:JMAXP-1, 0:KMAX-1,15,maxcells),
92      >   in_buffer(BUF_SIZE), out_buffer(BUF_SIZE)
93       common /fields/  u, us, vs, ws, qs, ainv, rho_i, speed, square, 
94      >                 rhs, forcing, lhs, in_buffer, out_buffer
95
96       double precision cv(-2:MAX_CELL_DIM+1),   rhon(-2:MAX_CELL_DIM+1),
97      >                 rhos(-2:MAX_CELL_DIM+1), rhoq(-2:MAX_CELL_DIM+1),
98      >                 cuf(-2:MAX_CELL_DIM+1),  q(-2:MAX_CELL_DIM+1),
99      >                 ue(-2:MAX_CELL_DIM+1,5), buf(-2:MAX_CELL_DIM+1,5)
100       common /work_1d/ cv, rhon, rhos, rhoq, cuf, q, ue, buf
101
102       integer  west_size, east_size, bottom_size, top_size,
103      >         north_size, south_size, start_send_west, 
104      >         start_send_east, start_send_south, start_send_north,
105      >         start_send_bottom, start_send_top, start_recv_west,
106      >         start_recv_east, start_recv_south, start_recv_north,
107      >         start_recv_bottom, start_recv_top
108       common /box/ west_size, east_size, bottom_size,
109      >             top_size, north_size, south_size, 
110      >             start_send_west, start_send_east, start_send_south,
111      >             start_send_north, start_send_bottom, start_send_top,
112      >             start_recv_west, start_recv_east, start_recv_south,
113      >             start_recv_north, start_recv_bottom, start_recv_top