37 1 INTBUF_TAB,IPARI,IAD_ELEM,FR_ELEM,
38 2 LEN20,NBINT20,LENR ,INTLIST ,NBINTC )
46 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
47#include "implicit_f.inc"
63 INTEGER IAD_ELEM(2,*),FR_ELEM(*), IPARI(NPARI,*),
65 . nbintc, len20, nbint20, lenr
67 TYPE(intbuf_struct_) INTBUF_TAB(*)
72 INTEGER ,I,NOD,LOC_PROC,IERROR,INDEX, N, MSGOFF,
73 . SIZ,J,K,L,NB_NOD,NBIRECV, II, JJ, NI,INC,
75 . iad_recv(nspmd+1),debut(nspmd),
76 . status(mpi_status_size),rstatus(mpi_status_size
77 . req_r(nspmd),req_s(nspmd),irindex(nspmd),
78 . itagx(numnod),isign,p
80 . rbuf(nbint20*(len20*lenr+nspmd)),
81 . sbuf(nbint20*(len20*lenr+nspmd)),daanc6l(3,6)
95 IF(iad_elem(1,i+1)-iad_elem(1,i)>0)
THEN
96 siz = nbint20*(len20*(iad_elem(1,i+1)-iad_elem(1,i))+1)
101 s rbuf(l),siz,mpi_double_precision,it_spmd(i),msgtyp,
102 g spmd_comm_world,req_r(nbirecv),ierror)
106 debut(i) = iad_recv(i)
113 IF(ipari(7,nin)==20)
THEN
119#include "vectorize.inc"
121 ig = intbuf_tab(nin)%NLG(il)
126 IF(iad_elem(1,i+1)-iad_elem(1,i)>0)
THEN
130 DO j=iad_elem(1,i),iad_elem(1,i+1)-1
132 IF(itagx(nod)/=0)
THEN
134 sbuf(l) = j+1-iad_elem(1,i)
136 sbuf(l+1) =intbuf_tab(nin)%ALPHAK((ii-1)*3+2)
138 sbuf(l+2) =intbuf_tab(nin)%ALPHAK((ii-1)*3+3)
140 . intbuf_tab(nin)%DAANC6(1+(ii-1)*3*6*2),sbuf(l+3),iresp,inc)
142 sbuf(ll) = sbuf(ll)+1
160 s sbuf(l),siz,mpi_double_precision,it_spmd(i),msgtyp,
161 g spmd_comm_world,req_s(i),ierror)
169 IF(ipari(7,nin)==20)
THEN
175#include "vectorize.inc"
177 ig = intbuf_tab(nin)%NLG(il)
186 nb_nod = nint(rbuf(l))
188#include "vectorize.inc"
191 nod = fr_elem(iad_elem(1,p)+j-1)
196 IF(intbuf_tab(nin)%ALPHAK((ii-1)*3+2) < zero .OR. rbuf(l+1) <zero)
198 intbuf_tab(nin)%ALPHAK((ii-1)*3+2)=isign*
199 .
min(abs(intbuf_tab(nin)%ALPHAK((ii-1)*3+2)),
202 intbuf_tab(nin)%ALPHAK((ii-1)*3+3)=
min(intbuf_tab(nin)%ALPHAK((ii-1)*3+3),
206 CALL adddp(intbuf_tab(nin)%DAANC6(1+(ii-1)*3*6*2),daanc6l,18)
219 IF(iad_elem(1,i+1)-iad_elem(1,i)>0)
220 .
CALL mpi_wait(req_s(i),status,ierror)