33 2 IADCJ,ICSIZE,TAG_LNK_SMS)
39 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
40#include "implicit_f.inc"
54 INTEGER ICSIZE, LJOINT(*),FR_CJ(*), IADCJ(NSPMD+1,*),
57 . ar(3,*),v(3,*),vr(3,*)
62 INTEGER MSGTYP,MSGOFF,IERROR,LOC_PROC,NOD,L,I,J,N,
63 . ideb,iad,siz,a_ar,nbindex,
64 . indexi(nspmd),req_s(nspmd),status(mpi_status_size),
82 . len(i) = len(i)+iadcj(i+1,n)-iadcj(i,n)
88 IF(tag_lnk_sms(n)==0)cycle
89 DO j = iadcj(i,n), iadcj(i+1,n)-1
92 buf(ideb+1) = v(2,nod)
93 buf(ideb+2) = v(3,nod)
94 buf(ideb+3) = vr(1,nod)
95 buf(ideb+4) = vr(2,nod)
96 buf(ideb+5) = vr(3,nod)
97 buf(ideb+6) = ar(1,nod)
98 buf(ideb+7) = ar(2,nod)
99 buf(ideb+8) = ar(3,nod)
114 s buf(ideb),siz,real,it_spmd(i),msgtyp,
115 g spmd_comm_world,req_s(l),ierror)
122 ELSEIF(icsize>0)
THEN
128 s buf,siz,real,it_spmd(1),msgtyp,
129 g spmd_comm_world,status,ierror)
131 IF(tag_lnk_sms(n)==0)cycle
132 DO j = iadcj(1,n),iadcj(nspmd+1,n)-1
135 v(2,nod) = buf(ideb+1)
136 v(3,nod) = buf(ideb+2)
137 vr(1,nod)= buf(ideb+3)
138 vr(2,nod)= buf(ideb+4)
139 vr(3,nod)= buf(ideb+5)
140 ar(1,nod)= buf(ideb+6)
141 ar(2,nod)= buf(ideb+7)
142 ar(3,nod)= buf(ideb+8)
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_isend(buf, cnt, datatype, dest, tag, comm, ireq, ierr)
subroutine spmd_sd_cj_0(ar, v, vr, ljoint, fr_cj, iadcj, icsize, tag_lnk_sms)