32 . IEL_CRK,INOD_CRK,NODENR ,CRKEDGE,XEDGE4N )
40#include "implicit_f.inc"
44 INTEGER JFT,JLT,NFT,NLAY
45 INTEGER ELCRKINI(NLAY,*),IEL_CRK(*),INOD_CRK(*),
46 . nodenr(*),xedge4n(4,*)
47 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
51 INTEGER I,K,ILAY,ELCRK,ELCUT,IEDGE,ICUT
56 elcrk = iel_crk(i+nft)
58 elcut = crkedge(ilay)%LAYCUT(elcrk)
63 iedge = xedge4n(k,elcrk)
64 icut = crkedge(ilay)%ICUTEDGE(iedge)
82!||====================================================================
84 . IEL_CRKTG,INOD_CRK ,NODENR ,CRKEDGE ,XEDGE3N )
92#include "implicit_f.inc"
96#include "com_xfem1.inc"
100 INTEGER JFT,JLT,NFT,NLAY
101 INTEGER ELCRKINI(NLAY,*),IEL_CRKTG(*),INOD_CRK(*),
102 . nodenr(*),xedge3n(3,*)
103 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
107 INTEGER I,K,ILAY,,ELCRKTG,ELCUT,IEDGE,ICUT
112 elcrktg = iel_crktg(i+nft)
113 elcrk = elcrktg + ecrkxfec
115 elcut = crkedge(ilay)%LAYCUT(elcrk)
120 iedge = xedge3n(k,elcrktg
121 icut = crkedge(ilay)%ICUTEDGE(iedge)
143 . JFT ,JLT ,NFT ,IR ,IS ,
144 . NXLAY ,IEL_CRK ,CRKEDGE,XEDGE4N )
153#include "implicit_f.inc"
157#include "com_xfem1.inc"
161 INTEGER JFT,JLT,,NXLAY,IR,IS
162 INTEGER IEL_CRK(*),XEDGE4N(4,*)
164 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
165 TYPE (ELBUF_STRUCT_),
DIMENSION(NXEL),
TARGET :: XFEM_STR
166 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
170 INTEGER I,K,ILAY,ELCRK,IFAC,ILAYCRK,IEDGE,IXEL
171 TYPE(G_BUFEL_) ,
POINTER :: GBUF
176 gbuf => elbuf_str%GBUF
179 elcrk = iel_crk(i+nft)
180 IF (elcrk == 0) cycle
183 ilaycrk = crkedge(ilay)%LAYCUT(elcrk)
184 IF (ilaycrk /= 0) cycle
185 IF (gbuf%OFF(i) == zero) ifac = ifac + 1
188 IF (ifac == nxlay)
THEN
191 iedge = xedge4n(k,elcrk)
192 crkedge(ilay)%IBORDEDGE(iedge) = 2
197 xfem_str(ixel)%GBUF%OFF(i) = zero
198 ELSEIF (nxlay > 1)
THEN
199 xfem_str(ixel)%BUFLY(ilay)%LBUF(ir,is,1)%OFF(i) = zero
209!||====================================================================
211!||--- called by ------------------------------------------------------
218 . JFT ,JLT ,NFT ,IR ,IS ,
219 . NXLAY ,IEL_CRKTG ,CRKEDGE,XEDGE3N )
228#include "implicit_f.inc"
232#include "com_xfem1.inc"
236 INTEGER JFT,JLT,NFT,NXLAY,IR,IS
237 INTEGER IEL_CRKTG(*),XEDGE3N(3,*)
239 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
240 TYPE (ELBUF_STRUCT_),
DIMENSION(NXEL),
TARGET :: XFEM_STR
241 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
245 INTEGER I,J,K,ILAY,ELCRKTG,ELCRK,IFAC,ILAYCRK,IEDGE,IXEL
246 TYPE(g_bufel_) ,
POINTER :: GBUF
248 gbuf => elbuf_str%GBUF
251 elcrktg = iel_crktg(i+nft)
252 elcrk = elcrktg + ecrkxfec
253 IF (elcrk == 0) cycle
256 ilaycrk = crkedge(ilay)%LAYCUT(elcrk)
257 IF (ilaycrk /= 0) cycle
258 IF (gbuf%OFF(i) == zero) ifac = ifac + 1
261 IF (ifac == nxlay)
THEN
265 crkedge(ilay)%IBORDEDGE(iedge) = 2
270 xfem_str(ixel)%GBUF%OFF(i) = zero
271 ELSEIF (nxlay > 1)
THEN
272 xfem_str(ixel)%BUFLY(ilay)%LBUF(ir,is,1)%OFF(i) = zero
subroutine precrklaytg(jft, jlt, nft, nlay, elcrkini, iel_crktg, inod_crk, nodenr, crkedge, xedge3n)
subroutine crkofftg(elbuf_str, xfem_str, jft, jlt, nft, ir, is, nxlay, iel_crktg, crkedge, xedge3n)
subroutine crkoffc(elbuf_str, xfem_str, jft, jlt, nft, ir, is, nxlay, iel_crk, crkedge, xedge4n)
subroutine precrklay(jft, jlt, nft, nlay, elcrkini, iel_crk, inod_crk, nodenr, crkedge, xedge4n)