33 1 A ,AR ,MS ,IN ,STIFN,
34 2 STIFR,FR_M ,IAD_M ,LCOMM ,ISIZE,
39 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
40#include "implicit_f.inc"
53 INTEGER LCOMM, ISIZE, FR_M(*), IAD_M(*),IROT
55 . A(6,3,*), AR(6,3,*), MS(6,*), (6,*),
56 . stifn(6,*), stifr(6,*)
61 INTEGER MSGTYP,LOC_PROC,NOD,I,J,L,IDEB,IAD,LEN,
62 . NBINDEX,INDEX,MSGOFF,SIZ,IERROR,K,
63 . STATUS(MPI_STATUS_SIZE),ISIZE6,
64 . req_s(nspmd),req_r(nspmd),indexi
67 . sbuf(lcomm*isize*6), rbuf(lcomm*isize*6)
77 len = iad_m(i+1)-iad_m(i)
84 s rbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
85 g spmd_comm_world,req_r(l),ierror)
94 len = iad_m(i+1) - iad_m(i)
97#include "vectorize.inc"
101 sbuf(ideb) = a(k,1,nod)
102 sbuf(ideb+1) = a(k,2,nod)
103 sbuf(ideb+2) = a(k,3,nod)
104 sbuf(ideb+3) = ms(k,nod)
105 sbuf(ideb+4) = stifn(k,nod)
110#include "vectorize.inc"
115 sbuf(ideb+1) = a(k,2,nod)
116 sbuf(ideb+2) = a(k,3,nod)
117 sbuf(ideb+3) = ar(k,1,nod)
118 sbuf(ideb+4) = ar(k,2,nod)
119 sbuf(ideb+5) = ar(k,3,nod)
120 sbuf(ideb+6) = ms(k,nod)
121 sbuf(ideb+7) = in(k,nod)
122 sbuf(ideb+8) = stifn(k,nod)
123 sbuf(ideb+9) = stifr(k,nod)
133 len = iad_m(i+1)-iad_m(i)
137 s sbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
138 g spmd_comm_world,req_s(l),ierror)
143 CALL mpi_waitany(nbindex,req_r,index,status,ierror)
145 ideb = 1+(iad_m(i)-1)*isize6
146 len = iad_m(i+1)-iad_m(i)
149#include "vectorize.inc"
153 a(k,1,nod) = a(k,1,nod) + rbuf(ideb)
154 a(k,2,nod) = a(k,2,nod) + rbuf(ideb+1)
155 a(k,3,nod) = a(k,3,nod) + rbuf(ideb+2)
156 ms(k,nod) = ms(k,nod) + rbuf(ideb+3)
162#include "vectorize.inc"
166 a(k,1,nod) = a(k,1,nod) + rbuf(ideb)
167 a(k,2,nod) = a(k,2,nod) + rbuf(ideb+1)
168 a(k,3,nod) = a(k,3,nod) + rbuf(ideb+2)
169 ar(k,1,nod) = ar(k,1,nod)+ rbuf(ideb+3)
170 ar(k,2,nod) = ar(k,2,nod)+ rbuf(ideb+4)
171 ar(k,3,nod) = ar(k,3,nod)+ rbuf(ideb+5)
172 ms(k,nod) = ms(k,nod) + rbuf(ideb+6)
173 in(k,nod) = in(k,nod) + rbuf(ideb+7)
174 stifn(k,nod) = stifn(k,nod)+rbuf(ideb+8)
175 stifr(k,nod) = stifr(k,nod)+rbuf(ideb+9)
183 CALL mpi_waitany(nbindex,req_s,index,status,ierror)