36 . X ,D ,IADD ,CDG ,IPARG ,
37 . IXT ,IXP ,IXR ,MATER ,EL2FA ,
38 . DD_IAD ,IADG ,IPARTT ,IPARTP,IPARTR ,
39 . NFACPTX,IXEDGE,NODGLOB,NB1D ,NANIM1D_L,
40 . IPART ,IGEO ,IADG_TPR,SIADG)
45 use element_mod ,
only : nixt,nixr,nixp
49#include "implicit_f.inc"
65 INTEGER IADD(*),IPARG(NPARG,*),
66 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
70 . ipartt(*),ipartp(*),ipartr(*),
71 . nfacptx(3,*),ixedge(2,*),ipart(lipart1,*),
73 INTEGER NODGLOB(*),NB1D,NANIM1D_L,SIADG
74 INTEGER,
DIMENSION(NSPMD,*),
INTENT(INOUT) :: IADG_TPR
76 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
81 INTEGER II(4),IE,NG, ITY, LFT, LLT, N, I, J,
82 . , NEL, IAD, NPAR, NFT,MTN,
83 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,
85 INTEGER NP((NB1D+NANIM1D_L)*2),BUF,GBUF
108 IF (mater(iprt) /= 3) cycle
110 IF (numelxg > 0 . and. igeo(11,ipart(2,iprt)) == 28) cycle
127 IF (ipartt(n) /= iprt) cycle
128 off = elbuf_tab(ng)%GBUF%OFF(i)
134 np(jj+1) = nodglob(ixt(2,n))-1
135 np(jj+2) = nodglob(ixt(3,n))-1
144 ELSEIF (ity == 5)
THEN
147 IF (ipartp(n) /= iprt) cycle
148 off = elbuf_tab(ng)%GBUF%OFF(i)
154 np(jj+1) = nodglob(ixp(2,n))-1
155 np(jj+2) = nodglob(ixp(3,n))-1
164 ELSEIF (ity == 6)
THEN
167 IF (ipartr(n) /= iprt) cycle
168 off = elbuf_tab(ng)%GBUF%OFF(i)
174 np(jj+1) = nodglob(ixr(2,n))-1
175 np(jj+2) = nodglob(ixr(3,n))-1
186 np(jj+1) = nodglob(ixr(3,n))-1
187 np(jj+2) = nodglob(ixr(4,n))-1
205 IF (nanim1d > 0)
THEN
208 IF (mater(iprt) /= 3) cycle
209 IF (igeo(11,ipart(2,iprt)) == 28)
THEN
211 DO j=1,nfacptx(1,iprt)
213 ii(1)=ixedge(1,nax1d+j)-1
214 ii(2)=ixedge(2,nax1d+j)-1
217 np(jj+1)=nodglob(ixedge(1,nax1d+j))-1
218 np(jj+2)=nodglob(ixedge(2,nax1d+j))-1
222 nax1d=nax1d+nfacptx(1,iprt)
223 ie=ie+nfacptx(1,iprt)
233 buf = (nb1dg+nanim1d)*2
238 IF(siadg>0) iadg_tpr(1:nspmd,1:npar) = 0
247 IF(iadg(k,n)<=0)
THEN
250 iadg_tpr(k,n) = iadg(k,n)
252 iadg(k,n) = abs(iadg(k,n))
255 IF(iadg(k,n)<=0)
THEN
256 iadg_tpr(k,n) = iadg_tpr(k,n-1)
258 iadg_tpr(k,n) = iadg(k,n)
260 iadg(k,n) = abs(iadg(k,n))
272 IF(iadg(1,i)<=0)
THEN
275 iadg_tpr(1,i) = 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)