31 . IEL_CRKXFEM ,INOD_CRKXFEM ,IXC ,IXTG , CEP,
32 . ADDCNE_CRKXFEM,CNE_XFE,CEL_XFE,CEP_XFE,CRKNODIAD )
33 use element_mod ,
only : nixc,nixtg
37#include "implicit_f.inc"
43#include "com_xfem1.inc"
49 INTEGER IXC(NIXC,*),(NIXTG,*),ADDCNE_CRKXFEM(0:NCRKXFE+1),
50 . cne_xfe(lcne_crkxfem),iel_crkxfem(numelc+numeltg),inod_crkxfem(*),
51 . cep(*),cel_xfe(ecrkxfe),cep_xfe(ecrkxfe),crknodiad(lcne_crkxfem),
56 INTEGER I, J, K, N, NG, NP, NEL, NFT, ITY, II, NIN, P, PROC, INDX, OFFC,
57 INTEGER ADSKY(0:NCRKXFE+1)
58 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: KNOD2ELC
59 INTEGER,
ALLOCATABLE,
DIMENSION(:,:) :: TAGSKYC,TAGSKYTG
60 INTEGER,
DIMENSION(70000) :: WORK
61 INTEGER,
DIMENSION(NUMELC) :: ITRIC
62 INTEGER,
DIMENSION(NUMELTG) :: ITRITG
63 INTEGER,
DIMENSION(NUMELC*2) :: INDXC
64 INTEGER,
DIMENSION(NUMELTG*2):: INDXTG
68 ALLOCATE(knod2elc(numnod+1))
70 ALLOCATE(tagskyc(4,numelc))
72 ALLOCATE(tagskytg(3,numeltg))
76 adsky(i) = addcne_crkxfem(i)
79 offc = numels + numelq
80 offtg = offc + numelt + numelp + numelr + numelc
86 itric(i) = ixc(7,i) !
id elements std in
the order of input
88 CALL my_orders(0,work,itric,indxc,numelc,1)
93 CALL my_orders(0,work,itritg,indxtg,numeltg,1)
99 knod2elc(n) = knod2elc(n) + 1
100 tagskyc(k,i) = knod2elc(n)
108 knod2elc(n) = knod2elc(n) + 1
109 tagskytg(k,i) = knod2elc(n)
118 IF (iel_crkxfem(i) > 0)
THEN
123 cne_xfe(adsky(np)) = i
124 crknodiad(adsky(np)) = tagskyc(k,i)
125 adsky(np) = adsky(np) + 1
134 IF (iel_crkxfem(i+numelc) > 0)
THEN
139 cne_xfe(adsky(np)) = i + numelc
140 crknodiad(adsky(np)) = tagskytg(k,i)
141 adsky(np) = adsky(np) + 1
160 n = iel_crkxfem(i+nft)
185 n = iel_crkxfem(ii + i)
197 DEALLOCATE(tagskyc,tagskytg,knod2elc)
subroutine fillcne_xfem(lcne_crkxfem, iparg, iel_crkxfem, inod_crkxfem, ixc, ixtg, cep, addcne_crkxfem, cne_xfe, cel_xfe, cep_xfe, crknodiad)