32 1 A ,AR ,STIFN ,STIFR ,IAD_M ,
37 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
38#include
"implicit_f.inc"
51 INTEGER LCOMM, ISIZE, FR_M(*), (*)
53 . a(3,6,*), ar(3,6,*), stifn(6,*), stifr(6,*)
58 INTEGER MSGTYP,LOC_PROC,NOD,I,J,L,IDEB,IAD,LEN
60 . status(mpi_status_size),isize6,
61 . req_s(nspmd),req_r(nspmd),indexi(nspmd),irot
64 . sbuf(lcomm*isize*6), rbuf(lcomm*isize*6)
76 len = iad_m(i+1)-iad_m(i)
83 s rbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
84 g spmd_comm_world,req_r(l),ierror)
93 len = iad_m(i+1) - iad_m(i)
96#include "vectorize.inc"
100 sbuf(ideb) = a(1,k,nod)
101 sbuf(ideb+1) = a(2,k,nod)
102 sbuf(ideb+2) = a(3,k,nod)
103 sbuf(ideb+3) = stifn(k,nod)
108#include "vectorize.inc"
112 sbuf(ideb) = a(1,k,nod)
113 sbuf(ideb+1) = a(2,k,nod)
114 sbuf(ideb+2) = a(3,k,nod)
115 sbuf(ideb+3) = ar(1,k,nod)
116 sbuf(ideb+4) = ar(2,k,nod)
117 sbuf(ideb+5) = ar(3,k,nod)
118 sbuf(ideb+6) = stifn(k,nod)
119 sbuf(ideb+7) = stifr(k,nod)
129 len = iad_m(i+1)-iad_m(i)
133 s sbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
134 g spmd_comm_world,req_s(l),ierror)
139 CALL mpi_waitany(nbindex,req_r,index,status,ierror)
141 ideb = 1+(iad_m(i)-1)*isize6
142 len = iad_m(i+1)-iad_m(i)
145#include "vectorize.inc"
149 a(1,k,nod) = a(1,k,nod) + rbuf(ideb)
150 a(2,k,nod) = a(2,k,nod) + rbuf(ideb+1)
151 a(3,k,nod) = a(3,k,nod) + rbuf(ideb+2)
152 stifn(k,nod) = stifn(k,nod)+rbuf(ideb+3)
157#include "vectorize.inc"
161 a(1,k,nod) = a(1,k,nod) + rbuf(ideb)
162 a(2,k,nod) = a(2,k,nod) + rbuf(ideb+1)
163 a(3,k,nod) = a(3,k,nod) + rbuf(ideb+2)
164 ar(1,k,nod) = ar(1,k,nod)+ rbuf(ideb+3)
165 ar(2,k,nod) = ar(2,k,nod)+ rbuf(ideb+4)
166 ar(3,k,nod) = ar(3,k,nod)+ rbuf(ideb+5)
167 stifn(k,nod) = stifn(k,nod)+rbuf(ideb+6)
168 stifr(k,nod) = stifr(k,nod)+rbuf(ideb+7)
176 CALL mpi_waitany(nbindex,req_s,index,status,ierror)