31 SUBROUTINE destroy_cell(NIN,IB,ICELL_TARGET,ICELLv,IBv,J,Jv, IXS, ITASK)
71#include "implicit_f.inc"
75 INTEGER,
INTENT(IN) :: IB,ICELL_TARGET,ICELLv,IBv,J,Jv, IXS(NIXS,*),NIN,ITASK
79 INTEGER :: NCELL,ICELL, NAdjv,IADJv,ID,NBCUT,ICELL_DEST,IADJ, NListNod9,NADj, IE, K
80 INTEGER :: WhichCell_Node(8),INOD, I, NumNODES_Cell, NumIntP,NumPOINT_Face(6),ListNodID(8)
82 TYPE (BRICK_ENTITY) :: CUTCELL_TMP
94 write (*,fmt=
'(A,I10,A1,I1)')
"destroying cell", ixs(11,ie),
".",icell_target
98 IF(ncell==0 .OR. (nbcut>1.AND.icell_target==9) )
THEN
99 print *,
"**error inter22 : unexpected situation, elem id=", ixs(11,id)
102 IF(icell_target==9)
THEN
119 brick_list(nin,ib)%POLY(1)%FACE(1:6)%NumPOINT = 4
120 brick_list(nin,ib)%POLY(9)%FACE(1:6)%NumPOINT = 0
122 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Adjacent_Cell(1) = 0
123 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Adjacent_Cell(2) = 0
124 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Adjacent_Cell(3) = 0
125 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Adjacent_Cell(4) = 0
126 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Adjacent_Cell(5) = 0
128 brick_list(nin,ib)%POLY(9)%FACE(1:6)%NAdjCell = 0
129 brick_list(nin,ib)%POLY(1)%ListNodID(1:8) = (/1,2,3,4,5,6,7,8/)
135 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Surf = zero
143 brick_list(nin,ib)%SECTYPE(1) =
'REMOVED 0-CELL'
145 brick_list(nin,ib)%POLY(1)%WhereIsMain(1:2) = 0
146 brick_list(nin,ib)%POLY(1)%WhereIsMain(3) = id
147 brick_list(nin,ib)%POLY(1)%WhereIsMain(4) = ib
171 ELSEIF(nbcut==1 .AND. icell_target==1)
THEN
190 brick_list(nin,ib)%POLY(1)%FACE(1:6)%NumPOINT = 4
191 brick_list(nin,ib)%POLY(9)%FACE(1:6)%NumPOINT = 0
193 brick_list(nin,ib)%POLY(1)%WhereIsMain(1:2) = 0
194 brick_list(nin,ib)%POLY(1)%WhereIsMain(3) = id
195 brick_list(nin,ib)%POLY(1)%WhereIsMain(4) = ib
198 brick_list(nin,ib)%POLY(1)%FACE(k)%Adjacent_Cell(1) =
brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(1)
199 brick_list(nin,ib)%POLY(1)%FACE(k)%Adjacent_Cell(2) =
brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(2)
200 brick_list(nin,ib)%POLY(1)%FACE(k)%Adjacent_Cell(3) =
brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(3)
201 brick_list(nin,ib)%POLY(1)%FACE(k)%Adjacent_Cell(4) =
brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(4)
202 brick_list(nin,ib)%POLY(1)%FACE(k)%Adjacent_Cell(5) =
brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(5)
206 brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(1) = 0
207 brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(2) = 0
208 brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(3) = 0
209 brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(4) = 0
210 brick_list(nin,ib)%POLY(9)%FACE(k)%Adjacent_Cell(5) = 0
214 brick_list(nin,ib)%POLY(9)%FACE(1:6)%NAdjCell = 0
216 brick_list(nin,ib)%POLY(1)%ListNodID(1:8) = (/1,2,3,4,5,6,7,8/)
224 brick_list(nin,ib)%POLY(9)%FACE(1:6)%Surf = zero
235 brick_list(nin,ib)%SECTYPE(1) =
'REMOVED 0-CELL'
268 face_cell(1:6) =
brick_list(nin,ib)%POLY(icell_target)%FACE(1:6)%Surf
269 numnodes_cell =
brick_list(nin,ib)%POLY(icell_target)%NumNOD
270 numintp =
brick_list(nin,ib)%POLY(icell_target)%NumPOINT - numnodes_cell
271 numpoint_face(1:6) =
brick_list(nin,ib)%POLY(icell_target)%FACE(1:6)%NumPOINT
272 listnodid(1:8) =
brick_list(nin,ib)%POLY(icell_target)%ListNodID(1:8)
274 icell = icell_target - 1
276 DO WHILE (icell<=ncell)
278 IF (icell>=ncell)
EXIT
282 brick_list(nin,ib)%POLY(icell)%FACE(1:6)%NumPOINT =
brick_list(nin,ib)%POLY(icell+1)%FACE(1:6)%NumPOINT
284 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(1) =
brick_list(nin,ib)%POLY(icell+1)%FACE(k)%Adjacent_Cell
285 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(2) =
brick_list(nin,ib)%POLY(icell+1)%FACE(k)%Adjacent_Cell(2)
286 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(3) =
brick_list(nin,ib)%POLY(icell+1)%FACE(k
287 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(4) =
brick_list(nin,ib)%POLY(icell+1)%FACE(k)%Adjacent_Cell(4)
288 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(5) =
brick_list(nin,ib)%POLY(icell+1)%FACE(k)%Adjacent_Cell(5)
290 brick_list(nin,ib)%POLY(icell)%FACE(1)%NAdjCell =
brick_list(nin,ib)%POLY(icell+1)%FACE(1)%NAdjCell
308 brick_list(nin,ib)%POLY(icell)%FACE(1:6)%NumPOINT = 0
310 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(1) = 0
311 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(2) = 0
312 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(3) = 0
313 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(4) = 0
314 brick_list(nin,ib)%POLY(icell)%FACE(k)%Adjacent_Cell(5) = 0
316 brick_list(nin,ib)%POLY(icell)%FACE(1:6)%NAdjCell = 0
317 brick_list(nin,ib)%POLY(icell)%ListNodID(1:8) = 0
319 brick_list(nin,ib)%POLY(icell)%FACE(1:6)%Surf = zero
320 brick_list(nin,ib)%POLY(icell)%FACE0%Surf = zero
325 brick_list(nin,ib)%PCUT(icell)%P(1:3,1:6) = zero
327 brick_list(nin,ib)%SECTYPE(icell) =
'REMOVED 0-CELL'
331 IF(
brick_list(nin,ib)%NODE(inod)%WhichCell==icell_target)
brick_list(nin,ib)%NODE(inod)%WhichCell=9
335 brick_list(nin,ib)%POLY(9)%FACE(i)%Surf =
brick_list(nin,ib)%POLY(9)%FACE(i)%Surf + face_cell(i)
341 brick_list(nin,ib)%POLY(9)%FACE(i)%NumPOINT =
brick_list(nin,ib)%POLY(9)%FACE(i)%NumPOINT + numpoint_face(i)
343 brick_list(nin,ib)%POLY(9)%ListNodID(nlistnod9+1:8) = listnodid(1:numnodes_cell)