32 . ELCUTC ,IADC_CRK,IEL_CRK ,INOD_CRK,NXLAY ,
33 . NODEDGE,ENRTAG ,CRKEDGE ,XEDGE4N )
36 use element_mod ,
only : nixc
40#include "implicit_f.inc"
49#include "com_xfem1.inc"
54 INTEGER NFT,JFT,JLT,NXLAY
55 INTEGER IPARG(NPARG,*),IXC(NIXC,*),ELCUTC(2,*),IADC_CRK(4,
60 INTEGER I,K,K1,K2,IR,II,ELCRK,ILEV,LAYCUT,IECUT,ILAY,IXEL,NELCRK,
61 . IADC1,IADC2,IADC3,IADC4,IE10,IE20,IE1,IE2,NOD1,NOD2,IED,EDGE,
63 INTEGER JCT(MVSIZ),ENR0(4),D(4),NS(4)
65 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
71 IF (elcutc(1,i+nft) /= 0)
THEN
76 IF (nelcrk == 0)
RETURN
82 elcrk = iel_crk(i+nft)
83 laycut = crkedge(ilay)%LAYCUT(elcrk)
85 iadc1 = iadc_crk(1,elcrk)
86 iadc2 = iadc_crk(2,elcrk)
87 iadc3 = iadc_crk(3,elcrk)
88 iadc4 = iadc_crk(4,elcrk)
104 IF (en1 /= 0) enr0(1) = en1
105 IF (en2 /= 0) enr0(2) = en2
106 IF (en3 /= 0) enr0(3) = en3
107 IF (en4 /= 0) enr0(4) = en4
110 edge = xedge4n(k,elcrk)
111 iecut = crkedge(ilay)%ICUTEDGE(edge)
114 ied = crkedge(ilay)%IEDGEC(k,elcrk)
115 IF (iecut == 3 .and. ied > 0)
THEN
116 nod1 = nodedge(1,edge)
117 nod2 = nodedge(2,edge)
118 ie10 = crkedge(ilay)%EDGEENR(1,edge)
119 ie20 = crkedge(ilay)%EDGEENR(2,edge)
120 IF (nod1 == ixc(k+1,i+nft) .and.
121 . nod2 == ixc(d(k)+1,i+nft))
THEN
126 ELSE IF (nod2 == ixc(k+1,i+nft) .and.
127 . nod1 == ixc(d(k)+1,i+nft))
THEN
136 IF (ie1 /= 0) enrtag(ns(k1),abs(ie1))
137 . =
max(enrtag(ns(k1),abs(ie1)),ie10)
138 IF (ie2 /= 0) enrtag(ns(k2),abs(ie2))
139 . =
max(enrtag(ns(k2),abs(ie2)),ie20)
subroutine upenric1_n4(iparg, ixc, nft, jft, jlt, elcutc, iadc_crk, iel_crk, inod_crk, nxlay, nodedge, enrtag, crkedge, xedge4n)