32 . ELCUTC ,IADC_CRK,IEL_CRK,INOD_CRK,ENRTAG,
33 . NXLAY ,CRKEDGE ,XEDGE4N)
36 use element_mod ,
only : nixc
40#include "implicit_f.inc"
50#include "com_xfem1.inc"
54 INTEGER NFT,JFT,JLT,NXLAY
55 INTEGER IPARG(NPARG,*),IXC(NIXC,*),ELCUTC(2,*),(*),
56 . iadc_crk(4,*),iel_crk(*),enrtag(numnod,*),xedge4n(4,*)
57 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
61 INTEGER I,K,IR,IAD,NELCRK,ELCRK,ILEV,ILAY,IXEL,ELCUT,LAYCUT,
62 . IECUT,ENR,IBOUNDEDGE,IED,EDGE,FAC,COUNT,,ITRI,NUMXEL
63 INTEGER JCT(MVSIZ),NTAG(4),D(4),NS(4),IADC(4)
69 IF (elcutc(1,i+nft) /= 0)
THEN
74 IF (nelcrk == 0)
RETURN
79 elcrk = iel_crk(i+nft)
83 laycut = crkedge(ilay)%LAYCUT(elcrk)
88 iadc(1) = iadc_crk(1,elcrk)
89 iadc(2) = iadc_crk(2,elcrk)
90 iadc(3) = iadc_crk(3,elcrk)
91 iadc(4) = iadc_crk(4,elcrk)
99 ilev = nxel*(ilay-1) + ixel
103 IF (abs(laycut) == 1)
THEN
107 ied = crkedge(ilay)%IEDGEC(k,elcrk)
108 edge = xedge4n(k,elcrk)
109 iecut = crkedge(ilay)%ICUTEDGE(edge)
111 IF (ied > 0 .and. iecut == 2)
THEN
121 ied = crkedge(ilay)%IEDGEC(k,elcrk)
122 edge = xedge4n(k,elcrk)
123 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
125 IF ( ied > 0 .and. iboundedge > 0)
THEN
133 ied = crkedge(ilay)%IEDGEC(k,elcrk)
134 edge = xedge4n(k,elcrk)
135 itip = crkedge(ilay)%EDGETIP(2,edge)
136 IF (ied > 0 .and. itip == 1)
THEN
137 IF (itri /= 0 .and. ixel == 3)
THEN
147 IF (ntag(k) /= 2) ntag(k) = 1
151 ELSE IF (laycut == 2)
THEN
155 ied = crkedge(ilay)%IEDGEC(k,elcrk)
156 edge = xedge4n(k,elcrk)
157 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
158 IF (ied > 0 .and. iboundedge == 2)
THEN
169 ied = crkedge(ilay)%IEDGEC(k,elcrk)
170 edge = xedge4n(k,elcrk)
171 itip = crkedge(ilay)%EDGETIP(2,edge)
172 IF (ied > 0 .and. itip == 1) count = count + 1
178 IF (itri < 0 .and. ixel == 2 .and.
crklvset(ilev)%ENR0(1,iad) < 0)
THEN
184 ELSEIF (itri > 0 .and. ixel == 1 .and.
crklvset(ilev)%ENR0(1,iad) < 0)
THEN
200 enr = abs(
crklvset(ilev)%ENR0(1,iadc(k)))
201 IF (enr > 0 .and. ntag(k) == 1)
THEN
202 IF (enrtag(ns(k),enr) == 0) enrtag(ns(k),enr) = enr
subroutine upenric2_n4(iparg, ixc, nft, jft, jlt, elcutc, iadc_crk, iel_crk, inod_crk, enrtag, nxlay, crkedge, xedge4n)