43 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
44#include "implicit_f.inc"
66 INTEGER MSGTYP,LOC_PROC,A_AR,I,,M,P,IRB,NN,
68 INTEGER STATUS(MPI_STATUS_SIZE), REQ(NSPMD), IERROR, PMAIN
72 . buf(nrbykin*(a_ar+1)*(nspmd-1))
80 IF(loc_proc==pmain)
THEN
84 . buf(ideb),len,mpi_double_precision,it_spmd(p),
85 . msgtyp,spmd_comm_world,req(p-1),ierror )
145 ideb = 1+(p-1)*(a_ar+1)*nrbykin
147 irb = nint(buf(ideb))
149 rbf6(1,1,irb)= rbf6(1,1,irb) + buf(ideb)
150 rbf6(1,2,irb)= rbf6(1,2,irb) + buf(ideb+1)
151 rbf6(1,3,irb)= rbf6(1,3,irb) + buf(ideb+2)
152 rbf6(1,4,irb)= rbf6(1,4,irb) + buf(ideb+3)
153 rbf6(1,5,irb)= rbf6(1,5,irb) + buf(ideb+4)
154 rbf6(1,6,irb)= rbf6(1,6,irb) + buf(ideb+5)
155 rbf6(2,1,irb)= rbf6(2,1,irb) + buf(ideb+6)
156 rbf6(2,2,irb)= rbf6(2,2,irb) + buf(ideb+7)
157 rbf6(2,3,irb)= rbf6(2,3,irb) + buf(ideb+8)
158 rbf6(2,4,irb)= rbf6(2,4,irb) + buf(ideb+9)
159 rbf6(2,5,irb)= rbf6(2,5,irb) + buf(ideb+10)
160 rbf6(2,6,irb)= rbf6(2,6,irb) + buf(ideb+11)
161 rbf6(3,1,irb)= rbf6(3,1,irb) + buf(ideb+12)
162 rbf6(3,2,irb)= rbf6(3,2,irb) + buf(ideb+13)
163 rbf6(3,3,irb)= rbf6(3,3,irb) + buf(ideb+14)
164 rbf6(3,4,irb)= rbf6(3,4,irb) + buf(ideb+15)
165 rbf6(3,5,irb)= rbf6(3,5,irb) + buf(ideb+16)
166 rbf6(3,6,irb)= rbf6(3,6,irb) + buf(ideb+17)
167 rbf6(4,1,irb)= rbf6(4,1,irb) + buf(ideb+18)
168 rbf6(4,2,irb)= rbf6(4,2,irb) + buf(ideb+19)
169 rbf6(4,3,irb)= rbf6(4,3,irb) + buf(ideb+20)
170 rbf6(4,4,irb)= rbf6(4,4,irb) + buf(ideb+21)
171 rbf6(4,5,irb)= rbf6(4,5,irb) + buf(ideb+22)
172 rbf6(4,6,irb)= rbf6(4,6,irb) + buf(ideb+23)
173 rbf6(5,1,irb)= rbf6(5,1,irb) + buf(ideb+24)
174 rbf6(5,2,irb)= rbf6(5,2,irb) + buf(ideb+25)
175 rbf6(5,3,irb)= rbf6(5,3,irb) + buf(ideb+26)
176 rbf6(5,4,irb)= rbf6(5,4,irb) + buf(ideb+27)
177 rbf6(5,5,irb)= rbf6(5,5,irb) + buf(ideb+28)
178 rbf6(5,6,irb)= rbf6(5,6,irb) + buf(ideb+29)
179 rbf6(6,1,irb)= rbf6(6,1,irb) + buf(ideb+30)
180 rbf6(6,2,irb)= rbf6(6,2,irb) + buf(ideb+31)
181 rbf6(6,3,irb)= rbf6(6,3,irb) + buf(ideb+32)
182 rbf6(6,4,irb)= rbf6(6,4,irb) + buf(ideb+33)
183 rbf6(6,5,irb)= rbf6(6,5,irb) + buf(ideb+34)
184 rbf6(6,6,irb)= rbf6(6,6,irb) + buf(ideb+35)
185 rbf6(7,1,irb)= rbf6(7,1,irb) + buf(ideb+36)
186 rbf6(7,2,irb)= rbf6(7,2,irb) + buf(ideb+37)
187 rbf6(7,3,irb)= rbf6(7,3,irb) + buf(ideb+38)
188 rbf6(7,4,irb)= rbf6(7,4,irb) + buf(ideb+39)
189 rbf6(7,5,irb)= rbf6(7,5,irb) + buf(ideb+40)
190 rbf6(7,6,irb)= rbf6(7,6,irb) + buf(ideb+41)
191 rbf6(8,1,irb)= rbf6(8,1,irb) + buf(ideb+42)
192 rbf6(8,2,irb)= rbf6(8,2,irb) + buf(ideb+43)
193 rbf6(8,3,irb)= rbf6(8,3,irb) + buf(ideb+44)
194 rbf6(8,4,irb)= rbf6(8,4,irb) + buf(ideb+45)
195 rbf6(8,5,irb)= rbf6(8,5,irb) + buf(ideb+46)
196 rbf6(8,6,irb)= rbf6(8,6,irb) + buf(ideb+47)
201 CALL mpi_bcast(rbf6,len,mpi_double_precision,it_spmd(pmain),
202 . spmd_comm_world,ierror)
211 buf(ideb) = rbf6(1,1,irb)
212 buf(ideb+1) = rbf6(1,2,irb)
213 buf(ideb+2) = rbf6(1,3,irb)
214 buf(ideb+3) = rbf6(1,4,irb)
215 buf(ideb+4) = rbf6(1,5,irb)
216 buf(ideb+5) = rbf6(1,6,irb)
217 buf(ideb+6) = rbf6(2,1,irb)
218 buf(ideb+7) = rbf6(2,2,irb)
219 buf(ideb+8) = rbf6(2,3,irb)
220 buf(ideb+9) = rbf6(2,4,irb)
221 buf(ideb+10)= rbf6(2,5,irb)
222 buf(ideb+11)= rbf6(2,6,irb)
223 buf(ideb+12)= rbf6(3,1,irb)
224 buf(ideb+13)= rbf6(3,2,irb)
225 buf(ideb+14)= rbf6(3,3,irb)
226 buf(ideb+15)= rbf6(3,4,irb)
227 buf(ideb+16)= rbf6(3,5,irb)
228 buf(ideb+17)= rbf6(3,6,irb)
229 buf(ideb+18)= rbf6(4,1,irb)
230 buf(ideb+19)= rbf6(4,2,irb)
231 buf(ideb+20)= rbf6(4,3,irb)
232 buf(ideb+21)= rbf6(4,4,irb)
233 buf(ideb+22)= rbf6(4,5,irb)
234 buf(ideb+23)= rbf6(4,6,irb)
235 buf(ideb+24)= rbf6(5,1,irb)
236 buf(ideb+25)= rbf6(5,2,irb)
237 buf(ideb+26)= rbf6(5,3,irb)
238 buf(ideb+27)= rbf6(5,4,irb)
239 buf(ideb+28)= rbf6(5,5,irb)
240 buf(ideb+29)= rbf6(5,6,irb)
241 buf(ideb+30)= rbf6(6,1,irb)
242 buf(ideb+31)= rbf6(6,2,irb)
243 buf(ideb+32)= rbf6(6,3,irb)
244 buf(ideb+33)= rbf6(6,4,irb)
245 buf(ideb+34)= rbf6(6,5,irb)
246 buf(ideb+35)= rbf6(6,6,irb)
247 buf(ideb+36)= rbf6(7,1,irb)
248 buf(ideb+37)= rbf6(7,2,irb)
249 buf(ideb+38)= rbf6(7,3,irb)
250 buf(ideb+39)= rbf6(7,4,irb)
251 buf(ideb+40)= rbf6(7,5,irb)
252 buf(ideb+41)= rbf6(7,6,irb)
253 buf(ideb+42)= rbf6(8,1,irb)
254 buf(ideb+43)= rbf6(8,2,irb)
255 buf(ideb+44)= rbf6(8,3,irb)
256 buf(ideb+45)= rbf6(8,4,irb)
257 buf(ideb+46)= rbf6(8,5,irb)
258 buf(ideb+47)= rbf6(8,6,irb)
264 CALL mpi_send(buf,len,mpi_double_precision,it_spmd(pmain),
265 . msgtyp,spmd_comm_world,ierror)
267 CALL mpi_bcast(rbf6,len,mpi_double_precision,it_spmd(pmain),
268 . spmd_comm_world,ierror)