32 . IPARG ,IXC ,NFT ,JFT ,JLT ,
33 . ELCUTC ,IADC_CRK,IEL_CRK,INOD_CRK,IXFEM,
43#include "implicit_f.inc"
52#include "com_xfem1.inc"
56 INTEGER IPARG(NPARG,*),IXC(NIXC,*),NFT,JFT,JLT,IXFEM,
57 . ELCUTC(2,*),IADC_CRK(4,*),IEL_CRK(*),XEDGE4N(4,*),
59 TYPE(elbuf_struct_),
TARGET ,
DIMENSION(NXEL) :: XFEM_TAB
60 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
64 INTEGER I,K,ELCRK,IADC1,IADC2,IADC3,IADC4,LAYCUT,
65 . IR,IS,IT,ILEV,ILAY,IXEL,NXLAY,NCUT,NELCRK,ELCUT,IECUT,EDGE
72 IF (elcutc(1,i+nft) /= 0)
THEN
77 IF (nelcrk == 0)
RETURN
84 nxlay = xfem_tab(ixel)%NLAY
86 ilev = nxel*(ilay-1) + ixel
88 xoff => xfem_tab(ixel)%BUFLY(ilay)%LBUF(ir,is,it)%OFF
89 ELSEIF (nxlay== 1)
THEN
90 xoff => xfem_tab(ixel)%GBUF%OFF
95 elcrk = iel_crk(i+nft)
99 IF (xoff(i) == zero)
THEN
100 iadc1 = iadc_crk(1,elcrk)
101 iadc2 = iadc_crk(2,elcrk)
102 iadc3 = iadc_crk(3,elcrk)
103 iadc4 = iadc_crk(4,elcrk)
111 edge = xedge4n(k,elcrk)
112 iecut = crkedge(ilay)%ICUTEDGE(edge)
113 IF (iecut /= 0) crkedge(ilay)%ICUTEDGE(edge) = 1
116 laycut = crkedge(ilay)%LAYCUT(elcrk)
117 IF (abs(laycut) == 1) crkedge(ilay)%LAYCUT(elcrk) = 2
134 . IPARG ,IXTG ,NFT ,JFT ,JLT ,
135 . ELCUTC ,IAD_CRKTG,IEL_CRKTG,INOD_CRK,IXFEM,
145#include "implicit_f.inc"
149#include "mvsiz_p.inc"
153#include "com_xfem1.inc"
154#include "param_c.inc"
158 INTEGER IPARG(NPARG,*),IXTG(NIXTG,*),NFT,JFT,JLT,IXFEM,
159 . ELCUTC(2,*),IAD_CRKTG(3,*),XEDGE3N(3,*),IEL_CRKTG(*),
162 TYPE(ELBUF_STRUCT_),
TARGET ,
DIMENSION(NXEL) :: XFEM_TAB
163 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
167 INTEGER I,K,ELCRK,ELCRKTG,ELCUT,IADC(3),
168 . jct(mvsiz),nelcrk,edge,laycut,iecut,ncut,
169 . ir,is,it,ilay,nxlay,ixel,ilev
170 my_real,
DIMENSION(:) ,
POINTER :: xoff
175 IF (elcutc(1,i+nft) /= 0)
THEN
180 IF (nelcrk == 0)
RETURN
187 nxlay = xfem_tab(ixel)%NLAY
190 xoff => xfem_tab(ixel)%BUFLY(ilay)%LBUF(ir,is,it)%OFF
191 ELSEIF (nxlay== 1)
THEN
192 xoff => xfem_tab(ixel)%GBUF%OFF
195 ilev = nxel*(ilay-1) + ixel
199 elcrktg = iel_crktg(i+nft)
200 elcrk = elcrktg + ecrkxfec
204 iadc(1) = iad_crktg(1,elcrktg)
205 iadc(2) = iad_crktg(2,elcrktg)
206 iadc(3) = iad_crktg(3,elcrktg)
208 IF (xoff(i) == zero)
THEN
215 edge = xedge3n(k,elcrktg)
216 iecut = crkedge(ilay)%ICUTEDGE(edge)
217 IF (iecut /= 0) crkedge(ilay)%ICUTEDGE(edge) = 1
220 laycut = crkedge(ilay)%LAYCUT(elcrk)
221 IF (abs(laycut) == 1) crkedge(ilay)%LAYCUT(elcrk) = 2
subroutine upenric3_n4(xfem_tab, iparg, ixc, nft, jft, jlt, elcutc, iadc_crk, iel_crk, inod_crk, ixfem, crkedge, xedge4n)
subroutine upenric3_n3(xfem_tab, iparg, ixtg, nft, jft, jlt, elcutc, iad_crktg, iel_crktg, inod_crk, ixfem, crkedge, xedge3n)
subroutine upxfem_tagxp(xfem_tab, iparg, ixc, ngrouc, igrouc, ixtg, iadc_crk, iel_crk, inod_crk, elcutc, nodedge, enrtag, crkedge, xedge4n, xedge3n, itab)