40 . IPARG ,IXC ,IXTG ,NGROUC ,IGROUC ,
41 . ELCUTC ,IADC_CRK ,IEL_CRK ,INOD_CRK ,ADDCNE_CRK,
42 . X ,KNOD2ELC ,NODEDGE ,CRKNODIAD,IAD_EDGE ,
43 . FR_EDGE ,FR_NBEDGE,NODLEVXF ,CRKEDGE ,XEDGE4N ,
51#include "implicit_f.inc"
58#include "com_xfem1.inc"
60#include "vect01_c.inc"
67 . CRKNODIAD(*),IAD_EDGE(*),FR_EDGE(*),FR_NBEDGE(*),(*)
69 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
70 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
71 TYPE (XFEM_EDGE_) ,
DIMENSION(NXLAYMAX) :: CRKEDGE
75 INTEGER I,K,IG,NG,JFT,JLT,NEL,NF1,IXFEM,NLEV,N,ITG1,ITG2,FLAG,
76 .
SIZE,lsdrc,icut,iedge,elcrk,elcrktg,elcut,ilev,ilay,nxlay,pp1
77 INTEGER ITSK,NODFTSK,NODLTSK,OMP_GET_THREAD_NUM
86 CALL crk_coord_ini(addcne_crk,inod_crk,nodftsk,nodltsk,x,nodlevxf)
92 knod2elc(n) = addcne_crk(n+1)-addcne_crk(n)
96 IF (nlevset == 0)
RETURN
110 IF (ixfem == 0) cycle
111 IF (ity /= 3 .and. ity /=7 ) cycle
114 nxlay = elbuf_tab(ng)%NLAY
124 CALL enrichc_ini(elbuf_tab(ng) ,xfem_tab(ng,1:nxel),
125 . ixc ,nft ,jft ,jlt ,nxlay ,
126 . iadc_crk ,iel_crk ,inod_crk ,elcutc ,nodedge ,
127 . crknodiad ,knod2elc ,x ,crkedge ,xedge4n )
129 ELSEIF (ity == 7)
THEN
131 . ixtg ,nft ,jft ,jlt ,nxlay ,
132 . iadc_crk(itg2),iel_crk(itg1),inod_crk,elcutc(1,itg1
133 . crknodiad ,knod2elc ,x ,crkedge ,xedge3n )
146 IF (off == 1)
GOTO 200
147 IF (ixfem == 0)
GOTO 200
148 IF (ity/=3 .AND. ity/=7)
GOTO 200
160 pp1 = (ilay-1)*nxel + 1
162 elcrk = iel_crk(i+nft)
167 iedge = xedge4n(k,elcrk)
169 IF (iedge > 0) icut = crkedge(ilay)%ICUTEDGE(iedge)
170 IF (icut == 2) crkedge(ilay)%ICUTEDGE(iedge) = 1
175 ELSE IF (ity == 7)
THEN
177 pp1 = (ilay-1)*nxel + 1
179 elcrktg = iel_crk(i+nft+numelc)
180 elcrk = elcrktg + ecrkxfec
185 iedge = xedge3n(k,elcrktg)
187 IF (iedge > 0) icut = crkedge(ilay)%ICUTEDGE(iedge)
188 IF (icut == 2) crkedge(ilay)%ICUTEDGE(iedge) = 1
202 lsdrc = fr_nbedge(nspmd+1)
subroutine enrichc_ini(elbuf_str, xfem_str, ixc, nft, jft, jlt, nxlay, iadc_crk, iel_crk, inod_crk, elcutc, nodedge, crknodiad, knod2elc, x, crkedge, xedge4n)
subroutine enrichtg_ini(elbuf_str, ixtg, nft, jft, jlt, nxlay, iad_crktg, iel_crktg, inod_crk, elcutc, nodedge, crknodiad, knod2elc, x, crkedge, xedge3n)
subroutine inixfem(elbuf_tab, xfem_tab, iparg, ixc, ixtg, ngrouc, igrouc, elcutc, iadc_crk, iel_crk, inod_crk, addcne_crk, x, knod2elc, nodedge, crknodiad, iad_edge, fr_edge, fr_nbedge, nodlevxf, crkedge, xedge4n, xedge3n)