33 . ELCUTC ,IADC_CRK,IEL_CRK,INOD_CRK,ENRTAG,
34 . NXLAY ,CRKEDGE ,XEDGE4N,ITAB )
37 use element_mod ,
only : nixc
41#include "implicit_f.inc"
51#include "com_xfem1.inc"
55 INTEGER NFT,JFT,JLT,NXLAY
56 INTEGER IPARG(NPARG,*),IXC(NIXC,*),ELCUTC(2,*),INOD_CRK(*),
57 . iadc_crk(4,*),iel_crk(*),enrtag(numnod,*),xedge4n(4,*),itab(*)
58 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
62 INTEGER ,K,IR,IAD,NELCRK,ELCRK,ILEV,,IXEL,ELCUT,LAYCUT,
63 . ENR0,ENR,IBOUNDEDGE,EDGE,ITRI,NUMXEL,NSX,
65 INTEGER JCT(MVSIZ),NS(4),IADC(4)
70 IF (elcutc(1,i+nft) /= 0)
THEN
75 IF (nelcrk == 0)
RETURN
80 elcrk = iel_crk(i+nft)
82 laycut = abs(crkedge(ilay)%LAYCUT(elcrk))
83 IF (elcut /= 0 .and. laycut == 1)
THEN
89 iadc(1) = iadc_crk(1,elcrk)
90 iadc(2) = iadc_crk(2,elcrk)
91 iadc(3) = iadc_crk(3,elcrk)
92 iadc(4) = iadc_crk(4,elcrk)
98 ilev = nxel*(ilay-1) + ixel
104 edge = xedge4n(k,elcrk)
105 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
106 nsx = inod_crk(ns(k))
107 IF (enr > 0 .and. iboundedge /= 2)
THEN
117 numxel = 2 ! receiver : first or
second phantom
119 ilev = nxel*(ilay-1) + ixel
123 enr = abs(
crklvset(ilev)%ENR0(1,iad))
124 edge = xedge4n(k,elcrk)
125 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
126 nsx = inod_crk(ns(k))
127 IF (isend_nsx /= nsx .and. isend_iad /= iad)
THEN
128 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)
subroutine upxfem_tagxp(xfem_tab, iparg, ixc, ngrouc, igrouc, ixtg, iadc_crk, iel_crk, inod_crk, elcutc, nodedge, enrtag, crkedge, xedge4n, xedge3n, itab)