32 . ELCUTC ,IAD_CRKTG,IEL_CRKTG,INOD_CRK,ENRTAG,
33 . NXLAY ,CRKEDGE ,XEDGE3N )
36 use element_mod ,
only : nixtg
40#include "implicit_f.inc"
49#include "com_xfem1.inc"
54 INTEGER NFT,JFT,JLT,NXLAY
55 INTEGER IPARG(NPARG,*),IXTG(NIXTG,*),ELCUTC(2,*),INOD_CRK(*),
56 . iad_crktg(3,*),xedge3n(3,*),iel_crktg(*),enrtag(numnod,*)
57 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
61 INTEGER I,K,IR,ELCRK,ELCRKTG,ILEV,ILAY,IXEL,ELCUT,IECUT,NELCRK,
62 . IED,EDGE,FAC,IBOUNDEDGE,LAYCUT,ENR,ITRI,ITIP,IAD,COUNT
63 INTEGER JCT(MVSIZ),IADC(3),NTAG(3),d(3),NS(3)
69 IF (elcutc(1,i+nft) /= 0)
THEN
74 IF (nelcrk == 0)
RETURN
78 ilev = nxel*(ilay-1) + ixel
81 elcrktg = iel_crktg(i+nft)
82 elcrk = elcrktg + ecrkxfec
88 iadc(1) = iad_crktg(1,elcrktg)
89 iadc(2) = iad_crktg(2,elcrktg)
90 iadc(3) = iad_crktg(3,elcrktg)
95 laycut = crkedge(ilay)%LAYCUT(elcrk)
97 IF (abs(laycut) == 1)
THEN
101 ied = crkedge(ilay)%IEDGETG(k,elcrktg)
102 edge = xedge3n(k,elcrktg)
103 iecut = crkedge(ilay)%ICUTEDGE(edge)
105 IF (ied > 0 .and. iecut == 2)
THEN
115 edge = xedge3n(k,elcrktg)
116 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
118 ied = crkedge(ilay)%IEDGETG(k,elcrktg)
119 IF (iboundedge > 0 .AND. ied > 0)
THEN
126 ied = crkedge(ilay)%IEDGETG(k,elcrktg)
127 edge = xedge3n(k,elcrktg)
128 itip = crkedge(ilay)%EDGETIP(2,edge)
129 IF (ied > 0 .and. itip == 1)
THEN
130 IF (itri /= 0 .and. ixel == 3)
THEN
141 IF (ntag(k) /= 2) ntag(k) = 1
145 ELSE IF (laycut == 2)
THEN
149 ied = crkedge(ilay)%IEDGETG(k,elcrktg)
150 edge = xedge3n(k,elcrktg)
151 iboundedge = crkedge(ilay)%IBORDEDGE(edge)
152 IF (ied > 0 .and. iboundedge == 2)
THEN
163 ied = crkedge(ilay)%IEDGETG(k,elcrktg)
164 edge = xedge3n(k,elcrktg)
165 itip = crkedge(ilay)%EDGETIP(2,edge)
166 IF (ied > 0 .and. itip
171 ied = crkedge(ilay)%IEDGETG(k,elcrktg)
172 edge = xedge3n(k,elcrktg)
174 IF (itri < 0 .and. ixel == 2 .and.
crklvset(ilev)%ENR0(1,iad) < 0)
THEN
180 ELSEIF (itri > 0.and. ixel == 1 .and.
crklvset(ilev)%ENR0(1,iad) < 0)
THEN
196 enr = abs(
crklvset(ilev)%ENR0(1,iadc(k)))
197 IF (enr > 0 .AND. ntag(k) == 1)
THEN
198 IF (enrtag(ns(k),enr) == 0) enrtag(ns(k),enr) = enr