32 . ELCUTC ,IADC_CRK,IEL_CRK,INOD_CRK,ENRTAG,
33 . NXLAY ,CRKEDGE ,XEDGE4N,ITAB )
39#include "implicit_f.inc"
49#include "com_xfem1.inc"
53 INTEGER NFT,JFT,JLT,NXLAY
54 INTEGER IPARG(NPARG,*),IXC(NIXC,*),ELCUTC(2,*),INOD_CRK(*),
55 . iadc_crk(4,*),iel_crk(*),enrtag(numnod,*),xedge4n(4,*),itab(*)
56 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
60 INTEGER I,K,IR,IAD,NELCRK,ELCRK,ILEV,ILAY,IXEL,ELCUT,LAYCUT,
61 . IECUT,ENR0,ENR,IBOUNDEDGE,IED,EDGE,COUNT,ITIP,ITRI,NUMXEL,NSX,
63 INTEGER JCT(MVSIZ),NS(4),IADC(4)
68 IF (elcutc(1,i+nft) /= 0)
THEN
73 IF (nelcrk == 0)
RETURN
78 elcrk = iel_crk(i+nft)
80 laycut = abs(crkedge(ilay)%LAYCUT(elcrk))
81 IF (elcut /= 0 .and. laycut == 1)
THEN
87 iadc(1) = iadc_crk(1,elcrk)
88 iadc(2) = iadc_crk(2,elcrk)
89 iadc(3) = iadc_crk(3,elcrk)
90 iadc(4) = iadc_crk(4,elcrk)
96 ilev = nxel*(ilay-1) + ixel
102 edge = xedge4n(k,elcrk)
103 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
104 nsx = inod_crk(ns(k))
105 IF (enr > 0 .and. iboundedge /= 2)
THEN
117 ilev = nxel*(ilay-1) + ixel
121 enr = abs(
crklvset(ilev)%ENR0(1,iad))
122 edge = xedge4n(k,elcrk)
123 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
124 nsx = inod_crk(ns(k))
125 IF (isend_nsx /= nsx .and. isend_iad /= iad)
THEN
126 IF (enr > 0 .and. iboundedge /= 2)
THEN
subroutine crk_tagxp4(iparg, ixc, nft, jft, jlt, elcutc, iadc_crk, iel_crk, inod_crk, enrtag, nxlay, crkedge, xedge4n, itab)