38 . IOFF, EL2FA, NBF, IADD,
39 . NBF_L, NBPART, IADG, NODGLOB,
40 . IPART, IPARTC, IPARTTG, NBF_PXFEMG,
41 . IPM ,IGEO ,IXC, STACK )
49 use element_mod ,
only : nixc
53#include "implicit_f.inc"
61#include "remesh_c.inc"
67 INTEGER IPARG(NPARG,*),EL2FA(*),NBF,IOFF(*),
68 . IADD(*),NBF_L,NBPART, IADG(,*),NODGLOB(*),
69 . IPART(LIPART1,*), IPARTC(*), IPARTTG(*)
70 INTEGER IPLY,NEL_PLY,PLYS,NBF_PXFEMG,IXC(NIXC,*),IPM(NPROPMI,*),
72 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
73 TYPE (STACK_PLY) :: STACK
77 INTEGER I, NG, NEL, NFT, IAD, ITY, LFT, NPT,
80 . N_FA, IHBE, ISTRAIN, IEXPAN,ISHPLYXFEM,NELXFE,IE,
81 . plyelems(numelc),ipt,elc,mpt,ngl(mvsiz),isubstack,ipmat_iply,
84 INTEGER RBUF,NEL3,NEL5,NEL8,NPTM,
85 . NPG,PID(MVSIZ),MATLY,NUVARR,NUVARD,NBM_S,
86 . IFAILURE,NPTR,NPTS,IS,IR,OFFIPLY
87 INTEGER,
DIMENSION(:),
ALLOCATABLE::IOFFBUF
88 TYPE(g_bufel_) ,
POINTER :: GBUF
89 TYPE(BUF_LAY_) ,
POINTER :: BUFLY
90 TYPE(L_BUFEL_) ,
POINTER :: LBUF
92 CALL my_alloc(ioffbuf,nbf_l)
123 ishplyxfem = iparg(50,ng)
124 isubstack = iparg(71,ng)
130 IF(ishplyxfem > 0 )
THEN
132 nptr = elbuf_tab(ng)%NPTR
133 npts = elbuf_tab(ng)%NPTS
135 gbuf => elbuf_tab(ng)%GBUF
136 bufly => elbuf_tab(ng)%BUFLY(ipt)
142 ifailure = iparg(43,ng)
144 nelxfe = nelxfe + nel
147 pid(i) = ixc(6,nft + i)
148 ngl(i) = ixc(7,nft + i)
151 IF (ihbe >= 11.AND.ihbe <= 19)
THEN
158 nbm_s = 6*nel*mpt+nel
164 ipmat_iply = ipmat + npt
167 matly = stack%IGEO(ipmat + j,isubstack)
168 nuvarr =
max(nuvarr,ipm(221,matly))
169 matly = stack%IGEO(ipmat_iply + j,isubstack)
170 nuvard =
max(nuvard, ipm(221,matly))
174 matly = stack%IGEO(ipmat + j,isubstack)
175 nuvarr =
max(nuvarr,ipm(221,matly))
178 nbm_s = nbm_s + nel*mpt*nuvarr
187 IF(mlw == 0 .OR. mlw == 13)
THEN
193 IF(plyelems(n) > 0)
THEN
195 ioff(el2fa(n_fa+ie)) = 1
202 IF(nadmesh==0.OR.(ity/=3.AND.ity/=7))
THEN
206 IF(plyelems(n) > 0)
THEN
208 ioff(el2fa(n_fa+ie)) = 1
211 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(ir,is,1
212 offiply = nint(
min(gbuf%OFF(i),lbuf%OFF(i),one))
213 ioff(el2fa(n_fa+ie)) =
min(ioff(el2fa(n_fa+ie)),offiply)
222 IF(plyelems(n) > 0)
THEN
225 ioff(el2fa(n_fa+ie)) = 1
226 IF(ipart(10,ip)>0)
THEN
229 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(ir,is,1)
230 offiply = nint(
min(gbuf%OFF(i),lbuf%OFF(i),one))
231 ioff(el2fa(n_fa+ie))=
min
237 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(ir,is,1)
238 offiply = nint(
min(gbuf%OFF(i),lbuf%OFF(i),one))
239 ioff(el2fa(n_fa+ie)) =
min(ioff(el2fa(n_fa+ie)),offiply)
253 iadd(iply) = nel_ply + ie
254 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)