31 1 ISENDTO,IRCVFROM,NEWFRONT,XSLV_L,XMSR_L,
32 2 VSLV_L ,VMSR_L ,INTLIST ,NINTC ,TZINF ,
33 3 SIZE_T ,IPARI , DELTA_PMAX_GAP,MAXDGAP )
37#include "implicit_f.inc"
51 INTEGER ISENDTO(NINTER+1,*) ,IRCVFROM(NINTER
54 . xslv_l(18,*), xmsr_l(12,*), vslv_l(6,*),
55 . vmsr_l(6,*), tzinf(*), size_t(*),delta_pmax_gap(*),
61 INTEGER LOC_PROC, IERROR, I_LEN,
65 . sbuf(nintc*i_len), rbuf(nintc*i_len)
66 INTEGER :: MESSAGE_LEN
67 my_real sbuf3(nintc), rbuf3(nintc)
82 IF(ircvfrom(ninter+1,loc_proc)>0.OR.
83 + isendto(ninter+1,loc_proc)>0)
THEN
91 IF(mod((j-1)/3,2) == 0)
THEN
92 sbuf(l+j) = xslv_l(j,nin)
94 sbuf(l+j) =-xslv_l(j,nin)
100 IF(mod((j-1)/3,2) == 0)
THEN
101 sbuf(l+j) = xmsr_l(j,nin)
103 sbuf(l+j) =-xmsr_l(j,nin)
109 IF(mod((j-1)/3,2) == 0)
THEN
110 sbuf(l+j) = vslv_l(j,nin)
112 sbuf(l+j) =-vslv_l(j,nin)
118 IF(mod((j-1)/3,2) == 0)
THEN
119 sbuf(l+j) = vmsr_l(j,nin)
121 sbuf(l+j) = -vmsr_l(j,nin)
126 IF(ipari(7,nin)/=17)
THEN
128 sbuf(l+1) = -newfront(nin)
129 sbuf2(kk) = newfront(nin)
135 sbuf3(kk) = size_t(nin)
140 sbuf(l+1) = -tzinf(kk)
143 sbuf(l+1) = delta_pmax_gap(nin)
146 sbuf(l+1) = maxdgap(nin)
149 message_len = nintc * i_len
158 call mpi_allreduce(sbuf3, rbuf3, message_len, real , mpi_sum,
165 IF(ircvfrom(nin,loc_proc)/=0.OR.
166 + isendto(nin,loc_proc)/=0)
THEN
168 IF(mod((j-1)/3,2) == 0)
THEN
169 xslv_l(j,nin) = rbuf(l+j)
171 xslv_l(j,nin) =-rbuf(l+j)
176 IF(mod((j-1)/3,2) == 0)
THEN
177 xmsr_l(j,nin) = rbuf(l+j)
179 xmsr_l(j,nin) =-rbuf(l+j)
184 IF(mod((j-1)/3,2) == 0)
THEN
185 vslv_l(j,nin) = rbuf(l+j)
187 vslv_l(j,nin) =-rbuf(l+j)
192 IF(mod((j-1)/3,2) == 0)
THEN
193 vmsr_l(j,nin) = rbuf(l+j)
195 vmsr_l(j,nin) = -rbuf(l+j)
199 IF(ipari(7,nin)/=17)
THEN
200 newfront(nin) = - nint(rbuf(l+1))
202 size_t(nin) = rbuf3(kk)
205 tzinf(kk) = -rbuf(l+1)
207 delta_pmax_gap(nin) = rbuf(l+1)
210 maxdgap(nin) = rbuf(l+1)
subroutine spmd_sync_mmxg2(isendto, ircvfrom, newfront, xslv_l, xmsr_l, vslv_l, vmsr_l, intlist, nintc, tzinf, size_t, ipari, delta_pmax_gap, maxdgap)