47#include
"implicit_f.inc"
59 INTEGER,
INTENT(in) ::
60 INTEGER,
DIMENSION(NPARI,NINTER),
INTENT(in) :: IPARI
61 INTEGER,
DIMENSION(NINTER+1,NSPMD+1),
INTENT(in) :: ISENDTO,IRCVFROM
68 INTEGER :: I,J,NOD,L,L2,KK,,KJI
70 INTEGER :: ADRESS,SHIFT_
71 INTEGER :: ISIZ,RSIZ,IDEB,JDEB
72 INTEGER :: NSN,NMN,IGAP,INTTH,INTFRIC,ITYP,ITIED
78 sort_comm(nin)%RSIZ = 0
79 sort_comm(nin)%ISIZ = 0
83 intfric = ipari(72,nin)
88 inacti = ipari(22,nin)
91 IF(inacti==5.OR.inacti==6.OR.inacti==7.OR.ifq>0.OR.itied/=0)
THEN
92 IF(.NOT.
ALLOCATED(inter_struct(nin)%NSNFIOLD) )
THEN
93 ALLOCATE(inter_struct(nin)%NSNFIOLD(nspmd))
94 inter_struct(nin)%NSNFIOLD(1:nspmd) = 0
97 inter_struct(nin)%NSNFIOLD(p) =
nsnfi(nin)%P(p)
100 sort_comm(nin)%NBSEND_NB = 0
101 sort_comm(nin)%NBRECV_NB = 0
103 IF(ircvfrom(nin,loc_proc)/=0.OR.isendto(nin,loc_proc)/=0)
THEN
105 IF(.NOT.
ALLOCATED(sort_comm(nin)%REQUEST_NB_R))
THEN
106 ALLOCATE(sort_comm(nin)%REQUEST_NB_R(nspmd) )
108 IF(.NOT.
ALLOCATED(sort_comm(nin)%REQUEST_NB_S))
THEN
109 ALLOCATE(sort_comm(nin)%REQUEST_NB_S(nspmd) )
111 IF(.NOT.
ALLOCATED(sort_comm(nin)%NB))
THEN
112 ALLOCATE(sort_comm(nin)%NB(nspmd) )
113 sort_comm(nin)%NB(1:nspmd) = 0
115 IF(.NOT.
ALLOCATED(sort_comm(nin)%INDEX_RCV))
THEN
116 ALLOCATE( sort_comm(nin)%INDEX_RCV(sort_comm(nin)%PROC_NUMBER) )
124 IF(igap==1 .OR. igap==2)
THEN
137 IF(intfric > 0 )
THEN
145 ELSEIF(idtmins_int/=0)
THEN
149 sort_comm(nin)%RSIZ = rsiz
150 sort_comm(nin)%ISIZ = isiz
152 IF(isendto(nin,loc_proc)>0)
THEN
153 IF(.NOT.
ALLOCATED(sort_comm(nin)%SEND_NB))
ALLOCATE(sort_comm(nin)%SEND_NB(nspmd))
155 IF(ircvfrom(nin,loc_proc)>0)
THEN
156 IF(.NOT.
ALLOCATED(sort_comm(nin)%RECV_NB))
ALLOCATE(sort_comm(nin)%RECV_NB(nspmd))