32 . IPARTC,IPARTQ,IPARTTG,STACK)
41#include "implicit_f.inc"
54 INTEGER IXC(NIXC,*),IPARTQ(*),IPARTTG(*),IXTG(NIXTG,*),
55 . iparg(nparg,*), ipartc(*),igeo(npropgi,*)
57 TYPE (STACK_PLY) :: STACK
62 INTEGER IE,NG, ITY, LFT, LLT, NPT, N, I, J,
63 . iprt, nel, iad, npar, nft, imid,ialel,mtn,
64 . jj, k, sh_ih, ihbe,buf,ishplyxfem,ipid,ipt,
66 . ncount,shcount,mater(npart),isubstack
67 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG_ARRAY,TAG_SHELLS
70 ALLOCATE(tag_array(numnod))
71 ALLOCATE(tag_shells(numelc))
76 computation_needed = .false.
97 ishplyxfem = iparg(50,ng)
98 IF(ishplyxfem/=0) computation_needed = .true.
126 IF(computation_needed)
THEN
132 IF(mater(iprt) == 0)
GOTO 500
139 ishplyxfem = iparg(50,ng)
143 IF(ishplyxfem > 0)
THEN
150 isubstack = iparg(71,ng)
154 IF(ipartc(n)/=iprt)
GOTO 130
157 jpid = stack%IGEO(ippid + ipt, isubstack)
158 iply = igeo(102 ,jpid)
161 tag_array(ixc(2,n))=1
162 tag_array(ixc(3,n))=1
163 tag_array(ixc(4,n))=1
164 tag_array(ixc(5,n))=1
187 IF (tag_array(i)==1)
plynod(k)%PLYNUMNODS =
plynod(k)%PLYNUMNODS + 1
193 IF (tag_array(i)==1)
THEN
208 IF (tag_shells(i) > 0)
THEN
211 plyshell(k)%SHELLIPT(shcount)=tag_shells(i)
241 DO i=1,
plynod(k)%PLYNUMNODS
243 plynod(k)%PLYNODID(i)=ncount
254 IF (
plyshell(k)%PLYNUMSHELL >0)
THEN
263 nplynodg = nplynodg +
plynod(k)%PLYNUMNODS
266 DEALLOCATE(tag_array)
267 DEALLOCATE(tag_shells)
287#include "implicit_f.inc"
295 INTEGER i,binf,bsup,milieu,size,empl,taille
297 size=
plynod(iply)%PLYNUMNODS
303 IF (
plynod(iply)%NODES(binf)==nodid)
THEN
308 IF (
plynod(iply)%NODES(bsup)==nodid)
THEN
314 DO WHILE ( taille > 5)
315 milieu = (bsup-binf)/2 + binf
317 IF (
plynod(iply)%NODES(milieu) == nodid)
THEN
321 IF (
plynod(iply)%NODES(milieu) < nodid)
THEN
330 IF (
plynod(iply)%NODES(i) == nodid)
THEN
357#include "implicit_f.inc"
361 INTEGER iply,nodid,offset
365 INTEGER i,binf,bsup,,size,empl,taille
367 size=
plynod(iply)%PLYNUMNODS
372 IF (
plynod(iply)%NODES(binf)==nodid)
THEN
377 IF (
plynod(iply)%NODES(bsup)==nodid)
THEN
383 DO WHILE ( taille > 5)
384 milieu = (bsup-binf)/2 + binf
386 IF (
plynod(iply)%NODES(milieu) == nodid)
THEN
390 IF (
plynod(iply)%NODES(milieu) < nodid)
THEN
399 IF (
plynod(iply)%NODES(i) == nodid)
THEN
subroutine spmd_anim_ply_init(igeo, geo, iparg, ixc, ixtg, ipartc, ipartq, iparttg, stack)