36 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
37#include "implicit_f.inc"
52 INTEGER WEIGHT(*),NODGLOB(*),NUM,SRECBUF
57 INTEGER STATUS(MPI_STATUS_SIZE),IERROR,MSGOFF
58 INTEGER SIZ,MSGTYP,I,K,NG,NREC,MSGOFF2
60 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: IBUF,RNGLOB
66 . s3000,s,xn1,xn2,xn3,ixnn
68 ALLOCATE(ibuf(4,numnodm))
69 ALLOCATE(rnglob(3,num))
81 IF (weight(i)==1)
THEN
83 ibuf(1,siz) = nodglob(i)
84 s = sqrt(xnorm(1,i)**2 + xnorm(2,i)**2 + xnorm(3,i)**2)
106 CALL mpi_send(ibuf,4*siz,mpi_integer,it_spmd(1),msgtyp,
107 . spmd_comm_world,ierror)
111 IF (weight(i)==1)
THEN
113 s = sqrt(xnorm(1,i)**2 + xnorm(2,i)**2 + xnorm(3,i)**2)
135 . spmd_comm_world,status,ierror)
138 CALL mpi_recv(ibuf,siz,mpi_integer,it_spmd(i),msgtyp,
139 . spmd_comm_world,status,ierror)
146 rnglob(1,ng) = ibuf(2,k)
147 rnglob(2,ng) = ibuf(3,k)
148 rnglob(3,ng) = ibuf(4,k)
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_send(buf, cnt, datatype, dest, tag, comm, ierr)