35 . X ,D ,IADD ,CDG ,IPARG ,
36 . IXT ,IXP ,IXR ,MATER ,EL2FA ,
37 . DD_IAD ,IADG ,IPARTT ,IPARTP,IPARTR ,
38 . NFACPTX,IXEDGE,NODGLOB,NB1D ,NANIM1D_L,
39 . IPART ,IGEO ,IADG_TPR,SIADG)
47#include "implicit_f.inc"
63 INTEGER IADD(*),IPARG(NPARG,*),
64 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
68 . ipartt(*),ipartp(*),ipartr(*),
69 . nfacptx(3,*),ixedge(2,*),ipart(lipart1,*),
71 INTEGER NODGLOB(*),NB1D,NANIM1D_L,SIADG
72 INTEGER,
DIMENSION(NSPMD,*),
INTENT(INOUT) :: IADG_TPR
74 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
79 INTEGER II(4),IE,NG, ITY, LFT, LLT, KPT, N, I, J,
80 . IPRT, NEL, IAD, NPAR, NFT, IMID,IALEL,MTN,
81 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,
83 INTEGER NP((NB1D+NANIM1D_L)*2),BUF,GBUF
104 IF (numelp + numelt + numelr /= 0 .OR. nspmd > 1)
THEN
106 IF (mater(iprt) /= 3) cycle
108 IF (numelxg > 0 . and. igeo(11,ipart(2,iprt)) == 28) cycle
125 IF (ipartt(n) /= iprt) cycle
126 off = elbuf_tab(ng)%GBUF%OFF(i)
132 np(jj+1) = nodglob(ixt(2,n))-1
133 np(jj+2) = nodglob(ixt(3,n))-1
142 ELSEIF (ity == 5)
THEN
145 IF (ipartp(n) /= iprt) cycle
146 off = elbuf_tab(ng)%GBUF%OFF(i)
152 np(jj+1) = nodglob(ixp(2,n))-1
153 np(jj+2) = nodglob(ixp(3,n))-1
162 ELSEIF (ity == 6)
THEN
165 IF (ipartr(n) /= iprt) cycle
166 off = elbuf_tab(ng)%GBUF%OFF(i)
172 np(jj+1) = nodglob(ixr(2,n))-1
173 np(jj+2) = nodglob(ixr(3,n))-1
184 np(jj+1) = nodglob(ixr(3,n))-1
185 np(jj+2) = nodglob(ixr(4,n))-1
203 IF (nanim1d > 0)
THEN
206 IF (mater(iprt) /= 3) cycle
207 IF (igeo(11,ipart(2,iprt)) == 28)
THEN
209 DO j=1,nfacptx(1,iprt)
211 ii(1)=ixedge(1,nax1d+j)-1
212 ii(2)=ixedge(2,nax1d+j)-1
215 np(jj+1)=nodglob(ixedge(1,nax1d+j))-1
216 np(jj+2)=nodglob(ixedge(2,nax1d+j))-1
220 nax1d=nax1d+nfacptx(1,iprt)
221 ie=ie+nfacptx(1,iprt)
231 buf = (nb1dg+nanim1d)*2
236 IF(siadg>0) iadg_tpr(1:nspmd,1:npar) = 0
245 IF(iadg(k,n)<=0)
THEN
248 iadg_tpr(k,n) = iadg(k,n)
250 iadg(k,n) = abs(iadg(k,n))
253 IF(iadg(k,n)<=0)
THEN
254 iadg_tpr(k,n) = iadg_tpr(k,n-1)
256 iadg_tpr(k,n) = iadg(k,n)
258 iadg(k,n) = abs(iadg(k,n))
270 IF(iadg(1,i)<=0)
THEN
273 iadg_tpr(1,i) = iadd(i)
275 iadg(1,i) = abs(iadd(i))
subroutine parsorf(elbuf_tab, x, d, iadd, cdg, iparg, ixt, ixp, ixr, mater, el2fa, dd_iad, iadg, ipartt, ipartp, ipartr, nfacptx, ixedge, nodglob, nb1d, nanim1d_l, ipart, igeo, iadg_tpr, siadg)