30 . IXC ,IXTG ,IPARG ,LCNE_CRKXFEM,CRKLVSET,
31 . CRKSKY ,CRKAVX,CRKEDGE,XFEM_PHANTOM)
36 use element_mod ,
only : nixc,nixtg
40#include "implicit_f.inc"
47#include "com_xfem1.inc"
51 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),IPARG(NPARG,*),LCNE_CRKXFEM
52 TYPE (XFEM_LVSET_) ,
DIMENSION(NLEVMAX) :: CRKLVSET
53 TYPE (XFEM_SKY_) ,
DIMENSION(NLEVMAX) :: CRKSKY
54 TYPE (XFEM_AVX_) ,
DIMENSION(NLEVMAX) :: CRKAVX
55 TYPE (XFEM_EDGE_) ,
DIMENSION(NXLAYMAX):: CRKEDGE
56 TYPE (XFEM_PHANTOM_),
DIMENSION(NXLAYMAX):: XFEM_PHANTOM
60 INTEGER KNOD2ELC(NUMNOD+1)
61 INTEGER I,J,N,LFT,LLT,NFT,NEL,ITY,IXFEM,NG
71 IF (ixfem == 0 ) cycle
76 knod2elc(n) = knod2elc(n) + 1
83 knod2elc(n) = knod2elc(n) + 1
91 ienrnod =
max(ienrnod,knod2elc(i))
94 ienrnod =
max(ienrnod,4)
95 ienrnod = ienrnod * nlevmax
103 ALLOCATE(crklvset(i)%ELCUT(ecrkxfe))
104 ALLOCATE(crklvset(i)%HFI0(4,ecrkxfe))
105 ALLOCATE(crklvset(i)%ENRICH0(4,ecrkxfe))
106 ALLOCATE(crklvset(i)%EDGE0(4,ecrkxfe))
108 ALLOCATE(crklvset(i)%EDGE(4,ecrkxfec))
109 ALLOCATE(crklvset(i)%EDGETG(3,ecrkxfetg))
110 ALLOCATE(crklvset(i)%ICUTEDGE(numedges))
111 ALLOCATE(crklvset(i)%RATIOEDGE(numedges))
113 ALLOCATE(crkavx(i)%A(3,lcne_crkxfem))
114 ALLOCATE(crkavx(i)%AR(3,lcne_crkxfem))
115 ALLOCATE(crkavx(i)%V(3,lcne_crkxfem))
116 ALLOCATE(crkavx(i)%VR(3,lcne_crkxfem))
117 ALLOCATE(crkavx(i)%X(3,lcne_crkxfem))
118 ALLOCATE(crkavx(i)%U(3,lcne_crkxfem))
119 ALLOCATE(crkavx(i)%XX(3,4*ecrkxfe))
121 ALLOCATE(crksky(i)%FSKY(8,lcne_crkxfem))
125 crklvset(i)%ENRICH0 = 0
126 crklvset(i)%EDGE0 = 0
129 crklvset(i)%EDGETG = 0
130 crklvset(i)%ICUTEDGE = 0
131 crklvset(i)%RATIOEDGE = 0
144 ALLOCATE(crkedge(i)%LAYCUT(ecrkxfe))
145 ALLOCATE(crkedge(i)%EDGEICRK(numedges))
146 ALLOCATE(crkedge(i)%EDGEIFI(2,numedges))
147 ALLOCATE(crkedge(i)%EDGEENR(2,numedges))
148 ALLOCATE(crkedge(i)%EDGETIP(2,numedges))
150 crkedge(i)%EDGEICRK = 0
151 crkedge(i)%EDGEIFI = 0
152 crkedge(i)%EDGEENR = 0
153 crkedge(i)%EDGETIP = 0
157 ALLOCATE(xfem_phantom(i)%ELCUT(ecrkxfe))
158 ALLOCATE(xfem_phantom(i)%IFI(lcnecrkxfem))
159 ALLOCATE(xfem_phantom(i)%ITRI(2,ecrkxfe))
160 ALLOCATE(xfem_phantom(i)%TAGXP(1,1,1))
161 xfem_phantom(i)%ELCUT = 0
162 xfem_phantom(i)%TAGXP = 0
163 xfem_phantom(i)%IFI = 0
164 xfem_phantom(i)%ITRI = 0
subroutine allocxfem(ixc, ixtg, iparg, lcne_crkxfem, crklvset, crksky, crkavx, crkedge, xfem_phantom)