36 1 SOLIDN_NORMAL,SOLIDN_NORMAL_F,SOLIDN_NORMAL_FE,NIN ,IRLEN20 ,
37 2 ISLEN20 ,IRLEN20T ,ISLEN20T ,IRLEN20E,ISLEN20E,
47 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
48#include "implicit_f.inc"
61 INTEGER IRLEN20,ISLEN20,IRLEN20T,ISLEN20T,
62 . IRLEN20E,ISLEN20E,NIN,
63 . NSV(*), NLG(*), ISLINS(2,*)
66 . solidn_normal_f(3,*), solidn_normal_fe(3,*)
72 INTEGER P, L, ADD, NB, SIZ, LOC_PROC, I, NOD, , IL1, IL2,
73 . IDEB, N, MSGTYP, IERROR, MSGOFF,
74 . N1, N2, IALLOCS, IALLOCR, LEN20, LEN20E,
76 . status(mpi_status_size),
77 . adds(nspmd+1), addr(nspmd
79 INTEGER ,
DIMENSION(:),
ALLOCATABLE :: BBUFS, BBUFR
89 iallocs = len20*islen20 + len20*islen20t + len20e*islen20e
92 +
ALLOCATE(bbufs(iallocs),stat=ierror)
94 CALL ancmsg(msgid=20,anmode=aninfo)
98 iallocr = len20*irlen20 + len20*irlen20t + len20e*irlen20e
101 +
ALLOCATE(bbufr(iallocr),stat=ierror)
103 CALL ancmsg(msgid=20,anmode=aninfo)
124 . bbufr(add),siz,mpi_integer,it_spmd(p),msgtyp,
125 . spmd_comm_world,req_ri(p),ierror )
129 addr(nspmd+1) = addr(nspmd)+siz
147 n =
nsvsi(nin)%P(ideb+i)
150 bbufs(l+1) = solidn_normal(1,nod)
151 bbufs(l+2) = solidn_normal(2,nod)
152 bbufs(l+3) = solidn_normal(3,nod)
164 bbufs(l+1) = solidn_normal(1,nod)
165 bbufs(l+2) = solidn_normal(2,nod)
166 bbufs(l+3) = solidn_normal(3,nod)
169 bbufs(l+4) = solidn_normal(1,nod)
170 bbufs(l+5) = solidn_normal(2,nod)
171 bbufs(l+6) = solidn_normal(3,nod)
181 . bbufs(add),siz,mpi_integer,it_spmd(p),msgtyp,
182 . spmd_comm_world,req_si(p),ierror )
186 adds(nspmd+1)=adds(nspmd)+siz
198 IF(addr(p+1)-addr(p)>0)
THEN
199 CALL mpi_wait(req_ri(p),status,ierror)
205 solidn_normal_f(1,i+ideb) = bbufr(l+1)
206 solidn_normal_f(2,i+ideb) = bbufr(l+2)
207 solidn_normal_f(3,i+ideb) = bbufr(l+3)
221 solidn_normal_fe(1,n1) = bbufr(l+1)
222 solidn_normal_fe(2,n1) = bbufr(l+2)
223 solidn_normal_fe(3,n1) = bbufr(l+3)
224 solidn_normal_fe(1,n2) = bbufr(l+4)
225 solidn_normal_fe(2,n2) = bbufr(l+5)
226 solidn_normal_fe(3,n2) = bbufr(l+6)
244 IF(adds(p+1)-adds(p)>0)
THEN
245 CALL mpi_wait(req_si(p),status,ierror)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)