35 . POSI ,NLOC_DMG,SIZP0 ,
44 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
45#include "implicit_f.inc"
61 INTEGER ITAB(*),NUMNOD_LOCAL,NODGLOB(*)
63 INTEGER MSGOFF,MSGOFF0,MSGTYP,I,K,N,
64 . empl,sdnodg(numnodm),filen
66 . aglob(2,numnodm),recglob(2,sizp0)
75 CHARACTER FILNAM*100,CYCLENUM*7
77 INTEGER :: LEN_TMP_NAME
78 CHARACTER(len=2148) :: TMP_NAME
81 INTEGER STATUS(MPI_STATUS_SIZE),IERROR
88 recglob(1:2,1:sizp0) = -1
95 sdnodg(n) = nodglob(nloc_dmg%INDX(i))
96 aglob(1,n) = itab( nloc_dmg%INDX(i) )
104 . spmd_comm_world,ierror)
106 CALL mpi_send(aglob,2*n,mpi_double_precision,
108 . spmd_comm_world,ierror)
113 CALL mpi_recv(sdnodg,numnodm,mpi_integer,
115 . spmd_comm_world,status,ierror)
120 CALL mpi_recv(aglob,2*n,mpi_double_precision,
122 . spmd_comm_world,status,ierror)
127 recglob(1,empl) = aglob(1,i)
128 recglob(2,empl) = aglob(2,i)
136 WRITE(cyclenum,
'(I7.7)')ncycle
137 filnam=rootnam(1:rootlen)//
'_NLOCAL_'//chrun//
'_'//cyclenum//
'.adb'
142 OPEN(unit=idbg5,file=tmp_name(1:len_tmp_name),access=
'SEQUENTIAL',
143 . form=
'FORMATTED',status=
'UNKNOWN')
149 n = nodglob(nloc_dmg%INDX(i))
150 recglob(1,n) = itab( nloc_dmg%INDX(i) )
151 recglob(2,n) = a(npos)
156 IF(nint(recglob(1,i))/=-1)
THEN
157 WRITE(idbg5,
'(A,I10,I10,Z20)' )
'>'
160 WRITE (iout,1300) filnam(1:filen)
161 WRITE (istdo,1300) filnam(1:filen)
166 1300
FORMAT (4x,
' DEBUG ANALYSIS NLOCAL FILE :',1x,a,
' WRITTEN')
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_send(buf, cnt, datatype, dest, tag, comm, ierr)
subroutine spmd_collect_nlocal(a, sizea, numnod_local, posi, nloc_dmg, sizp0, nodglob, itab)