32 . IPARTC,IPARTQ,IPARTTG,STACK)
38 use element_mod ,
only : nixc,nixtg
42#include "implicit_f.inc"
55 INTEGER IXC(NIXC,*),IPARTQ(*),IPARTTG(*),IXTG(NIXTG,*),
56 . iparg(nparg,*), ipartc(*),igeo(npropgi,*)
58 TYPE (STACK_PLY) :: STACK
63 INTEGER IE,NG, ITY, LFT, LLT, NPT, N, I,
64 . iprt, nel, iad, nft,mtn,
65 . k, ihbe,ishplyxfem,ipid,ipt,
67 . ncount,shcount,mater(npart),isubstack
68 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG_ARRAY,TAG_SHELLS
71 ALLOCATE(tag_array(numnod))
72 ALLOCATE(tag_shells(numelc))
77 computation_needed = .false.
98 ishplyxfem = iparg(50,ng)
99 IF(ishplyxfem/=0) computation_needed = .true.
127 IF(computation_needed)
THEN
133 IF(mater(iprt) == 0)
GOTO 500
140 ishplyxfem = iparg(50,ng)
144 IF(ishplyxfem > 0)
THEN
151 isubstack = iparg(71,ng)
155 IF(ipartc(n)/=iprt)
GOTO 130
158 jpid = stack%IGEO(ippid + ipt, isubstack)
159 iply = igeo(102 ,jpid)
162 tag_array(ixc(2,n))=1
163 tag_array(ixc(3,n))=1
164 tag_array(ixc(4,n))=1
165 tag_array(ixc(5,n))=1
188 IF (tag_array(i)==1)
plynod(k)%PLYNUMNODS =
plynod(k)%PLYNUMNODS + 1
194 IF (tag_array(i)==1)
THEN
209 IF (tag_shells(i) > 0)
THEN
212 plyshell(k)%SHELLIPT(shcount)=tag_shells(i)
242 DO i=1,
plynod(k)%PLYNUMNODS
244 plynod(k)%PLYNODID(i)=ncount
255 IF (
plyshell(k)%PLYNUMSHELL >0)
THEN
264 nplynodg = nplynodg +
plynod(k)%PLYNUMNODS
267 DEALLOCATE(tag_array)
268 DEALLOCATE(tag_shells)
288#include "implicit_f.inc"
296 INTEGER i,binf,bsup,milieu,size,empl,taille
298 size=
plynod(iply)%PLYNUMNODS
304 IF (
plynod(iply)%NODES(binf)==nodid)
THEN
309 IF (
plynod(iply)%NODES(bsup)==nodid)
THEN
315 DO WHILE ( taille > 5)
316 milieu = (bsup-binf)/2 + binf
318 IF (
plynod(iply)%NODES(milieu) == nodid)
THEN
322 IF (
plynod(iply)%NODES(milieu) < nodid)
THEN
331 IF (
plynod(iply)%NODES(i) == nodid)
THEN
358#include "implicit_f.inc"
362 INTEGER iply,nodid,offset
366 INTEGER i,binf,bsup,milieu,size,empl,taille
368 size=
plynod(iply)%PLYNUMNODS
373 IF (
plynod(iply)%NODES(binf)==nodid)
THEN
378 IF (
plynod(iply)%NODES(bsup)==nodid)
THEN
384 DO WHILE ( taille > 5)
385 milieu = (bsup-binf)/2 + binf
387 IF (
plynod(iply)%NODES(milieu) == nodid)
THEN
391 IF (
plynod(iply)%NODES(milieu) < nodid)
THEN
400 IF (
plynod(iply)%NODES(i) == nodid)
THEN
subroutine spmd_anim_ply_init(igeo, geo, iparg, ixc, ixtg, ipartc, ipartq, iparttg, stack)