37 . IOFF, EL2FA, NBF, IADD,
38 . NBF_L, NBPART, IADG, NODGLOB,
39 . IPART, IPARTC, IPARTTG, NBF_PXFEMG,
40 . IPM ,IGEO ,IXC, STACK )
51#include "implicit_f.inc"
59#include "remesh_c.inc"
65 INTEGER IPARG(NPARG,*),EL2FA(*),NBF,IOFF(*),
66 . IADD(*),NBF_L,NBPART, (NSPMD,*),NODGLOB(*),
67 . (LIPART1,*), IPARTC(*), IPARTTG(*)
68 INTEGER IPLY,NEL_PLY,PLYS,NBF_PXFEMG,IXC(NIXC,*),IPM(NPROPMI,*),
70 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
71 TYPE (STACK_PLY) :: STACK
75 INTEGER I, NG, NEL, , IAD, ITY, LFT, NPT,
76 . , J, LLT, MLW, IP, NN, K1, K2,,JALE, IMID,
77 . N1,N2,N3,N4, NN1,NN2,NN3,NN4,NN5,NN6,NN7,,NN9,NN10,
78 . N_FA, IHBE, SH_IH, ISTRAIN, IEXPAN,ISHPLYXFEM,NELXFE,IE,
79 . plyelems(numelc),ipt,elc,mpt,ngl(mvsiz),isubstack,ipmat_iply,
82 INTEGER RBUF,NEL3,NEL5,NEL8,NPTM,NN12,NN13,NN14,
83 . NN15,NN16,NN16A,NPG,PID(MVSIZ),MATLY,NUVARR,NUVARD,NBM_S,
84 . IFAILURE,NPTR,NPTS,IS,IR,OFFIPLY
85 INTEGER,
DIMENSION(:),
ALLOCATABLE::IOFFBUF
87 TYPE(G_BUFEL_) ,
POINTER :: GBUF
88 TYPE(BUF_LAY_) ,
POINTER :: BUFLY
89 TYPE(l_bufel_) ,
POINTER :: LBUF
91 CALL my_alloc(ioffbuf,nbf_l)
122 ishplyxfem = iparg(50,ng)
123 isubstack = iparg(71,ng)
129 IF(ishplyxfem > 0 )
THEN
131 nptr = elbuf_tab(ng)%NPTR
132 npts = elbuf_tab(ng)%NPTS
134 gbuf => elbuf_tab(ng)%GBUF
135 bufly => elbuf_tab(ng)%BUFLY(ipt)
141 ifailure = iparg(43,ng)
143 nelxfe = nelxfe + nel
146 pid(i) = ixc(6,nft + i)
147 ngl(i) = ixc(7,nft + i)
150 IF (ihbe >= 11.AND.ihbe <= 19)
THEN
157 nbm_s = 6*nel*mpt+nel
163 ipmat_iply = ipmat + npt
166 matly = stack%IGEO(ipmat + j,isubstack)
167 nuvarr =
max(nuvarr,ipm(221,matly))
168 matly = stack%IGEO(ipmat_iply + j,isubstack)
169 nuvard =
max(nuvard, ipm(221,matly))
173 matly = stack%IGEO(ipmat + j,isubstack)
174 nuvarr =
max(nuvarr,ipm(221,matly))
177 nbm_s = nbm_s + nel*mpt*nuvarr
186 IF(mlw == 0 .OR. mlw == 13)
THEN
192 IF(plyelems(n) > 0)
THEN
194 ioff(el2fa(n_fa+ie)) = 1
201 IF(nadmesh==0.OR.(ity/=3.AND.ity/=7))
THEN
205 IF(plyelems(n) > 0)
THEN
207 ioff(el2fa(n_fa+ie)) = 1
210 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(ir,is,1)
211 offiply = nint(
min(gbuf%OFF(i),lbuf%OFF(i),one))
212 ioff(el2fa(n_fa+ie)) =
min(ioff(el2fa(n_fa+ie)),offiply)
221 IF(plyelems(n) > 0)
THEN
224 ioff(el2fa(n_fa+ie)) = 1
225 IF(ipart(10,ip)>0)
THEN
228 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(ir,is,1)
229 offiply = nint(
min(gbuf%OFF(i),lbuf%OFF(i),one))
230 ioff(el2fa(n_fa+ie))=
min(ioff(el2fa(n_fa+ie)),offiply)
236 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(ir,is,1)
237 offiply = nint(
min(gbuf%OFF(i),lbuf%OFF(i),one))
238 ioff(el2fa(n_fa+ie)) =
min(ioff(el2fa(n_fa+ie)),offiply)
252 iadd(iply) = nel_ply + ie
253 nel_ply = nel_ply +
plyshell(iply)%PLYNUMSHELL
subroutine anioffc_ply(iply, nel_ply, elbuf_tab, iparg, ioff, el2fa, nbf, iadd, nbf_l, nbpart, iadg, nodglob, ipart, ipartc, iparttg, nbf_pxfemg, ipm, igeo, ixc, stack)