36 . IGRSH3N ,IGRSH4N ,IXC ,IXTG ,
37 . IGEO ,GEO ,IGEO_STACK ,IWORKSH ,
48 use element_mod ,
only : nixc,nixtg
52#include "implicit_f.inc"
62#include "remesh_c.inc"
69 . IXTG(NIXTG,NUMELTG),IGEO(NPROPGI,NUMGEO),IWORKSH(3,NUMELC+NUMELTG),
70 . IGEO_STACK(NPROPGI,NUMSTACK + NUMPLY)
74 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
75 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
76 TYPE(DRAPE_WORK_) ,
DIMENSION(NUMELC + NUMELTG) ,
TARGET :: IWORK_T
80 INTEGER I,J,II,NSTACK,NPLY,IGTYP,ID,JD,IDPLY,NEL,
81 . IAD,ITY,IDSHEL,PID,IS,IDS,NSH,MODE,NS,JJ,NGEO_STACK,
82 . IGRTYP,N1,IIGEO,NSS,IPPOS,NPT,IIS,NP,
83 . jjpid,jstack,jpid,itg,ipmat_iply,ish3n,j4n,j3n,ipos,
84 . mat_ly,nlay,nptt,ipidl,it,ilay,ipthk_nptt,ippos_nptt,
85 . iint,ipid_ly,ipdir ,ns_stack0 ,npt_stack0,is0,js,pids,ip,
88 INTEGER ,
DIMENSION(NUMGEO+NUMPLY) :: IPIDPLY,IDGR4N,IDGR3N
90 INTEGER NGL, IPID_1, NSHQ4, NSHT3
92 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ITRI
93 INTEGER,
DIMENSION (:) ,
ALLOCATABLE ::ICSH,INDX
94 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
99 IF(ipart_stack > 0)
THEN
110 IF (igtyp == 19 .AND. nstack > 0)
THEN
113 idgr4n(nply) = igeo(40,i)
114 idgr3n(nply) = igeo(41,i)
148 IF(igtyp == 17 .OR. igtyp == 51)
THEN
157 IF(igtyp == 17 .OR. igtyp == 51)
THEN
166 nstack = igeo(42, idply)
167 IF(j > 0 .AND. nstack > 0 )
THEN
168 nel = igrsh4n(j)%NENTITY
170 ity = igrsh4n(j)%GRTYPE
172 idshel = igrsh4n(j)%ENTITY(ii)
175 IF(igtyp == 17 .OR. igtyp == 51)
THEN
177 ids = igeo(200 + is, idply)
179 iworksh(1,idshel) = iworksh(1,idshel) + 1
188 IF(j > 0 .AND. nstack > 0 )
THEN
189 nel = igrsh3n(j)%NENTITY
191 ity = igrsh3n(j)%GRTYPE
193 ish3n = igrsh3n(j)%ENTITY(ii)
196 IF(igtyp == 17 .OR. igtyp == 51)
THEN
200 idshel = ish3n + numelc
201 iworksh(1,idshel) = iworksh(1,idshel ) + 1
208 IF(j4n == 0 .AND. j3n == 0 .AND. nstack > 0 )
THEN
213 IF(igtyp == 17 .OR. igtyp == 51)
THEN
215 ids = igeo(200 + is,idply)
217 iworksh(1,ii) = iworksh(1,ii) + 1
223 DO 400 ii = 1,numeltg
227 IF(igtyp == 17 .OR. igtyp == 51)
THEN
229 ids = igeo(200 + is,idply)
231 iworksh(1,itg) = iworksh(1,itg) + 1
246 IF(igtyp == 17 .OR. igtyp == 51 .AND. npt > 0)
THEN
247 ALLOCATE(iwork_t(i)%PLYID(npt))
248 ALLOCATE(iwork_t(i)%PLYNUM(npt))
251 iwork_t(i)%PLYNUM = 0
260 IF((igtyp == 17 .OR. igtyp == 51) .AND. npt > 0)
THEN
261 ALLOCATE(iwork_t(ii)%PLYID(npt))
262 ALLOCATE(iwork_t(ii)%PLYNUM(npt))
263 iwork_t(ii)%PLYID = 0
265 iwork_t(ii)%PLYNUM = 0
274 nstack = igeo(42, idply)
275 IF(j > 0 .AND. nstack > 0 )
THEN
276 nel = igrsh4n(j)%NENTITY
278 ity = igrsh4n(j)%GRTYPE
280 idshel = igrsh4n(j)%ENTITY(ii)
283 IF(igtyp == 17 .OR. igtyp == 51)
THEN
285 ids = igeo(200 + is, idply)
287 iworksh(1,idshel) = iworksh(1,idshel) + 1
288 npt = iworksh(1,idshel)
289 iwork_t(idshel)%PLYID(npt) = idply
290 iwork_t(idshel)%PLYNUM(npt) = i
299 IF(j > 0 .AND. nstack > 0 )
THEN
300 nel = igrsh3n(j)%NENTITY
302 ity = igrsh3n(j)%GRTYPE
304 ish3n = igrsh3n(j)%ENTITY(ii)
307 IF(igtyp == 17 .OR. igtyp == 51)
THEN
309 ids = igeo(200 + is,idply)
311 idshel = ish3n + numelc
312 iworksh(1,idshel) = iworksh(1,idshel ) + 1
313 npt = iworksh(1,idshel)
314 iwork_t(idshel)%PLYID(npt) = idply
315 iwork_t(idshel)%PLYNUM(npt) = i
322 IF(j4n == 0 .AND. j3n == 0 .AND. nstack > 0 )
THEN
327 IF(igtyp == 17 .OR. igtyp == 51)
THEN
329 ids = igeo(200 + is,idply)
331 iworksh(1,ii) = iworksh(1,ii) + 1
333 iwork_t(ii)%PLYID(npt) = idply
334 iwork_t(ii)%PLYNUM(npt) = i
340 DO 404 ii = 1,numeltg
344 IF(igtyp == 17 .OR. igtyp == 51)
THEN
346 ids = igeo(200 + is,idply)
348 iworksh(1,itg) = iworksh(1,itg) + 1
350 iwork_t(itg)%PLYID(npt) = idply
351 iwork_t(itg)%PLYNUM(npt) = i
364 IF(ipart_pcompp > 0)
THEN
369 ids = igeo_stack(42,numstack + i)
372 ipidply(nply) = numstack + i
373 idgr4n(nply) = igeo_stack(40,numstack + i)
374 idgr3n(nply) = igeo_stack(41,numstack + i)
404 iwork_t(1:numelc + numeltg)%IDSTACK = 0
409 ids = igeo_stack(42, idply)
410 IF(j > 0 .AND. ids > 0 )
THEN
411 nel = igrsh4n(j)%NENTITY
414 ity = igrsh4n(j)%GRTYPE
416 idshel = igrsh4n(j)%ENTITY(ii)
420 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
421 iworksh(1,idshel) = iworksh(1,idshel) + 1
422 iwork_t(idshel)%IDSTACK = ids
423 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
424 iworksh(1,idshel) = iworksh(1,idshel) + 1
427 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
428 ngl =ixc(nixc,idshel)
431 . anmode=aninfo_blind_1,
434 . i2= igeo_stack(1,ids),
435 . i3= igeo_stack(1,ipid_1) )
442 IF(j > 0 .AND. ids > 0 )
THEN
443 nel = igrsh3n(j)%NENTITY
445 ity = igrsh3n(j)%GRTYPE
448 ish3n = igrsh3n(j)%ENTITY(ii)
452 idshel = ish3n + numelc
453 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
454 iworksh(1,idshel) = iworksh(1,idshel ) + 1
455 iwork_t(idshel)%IDSTACK= ids
456 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
457 iworksh(1,idshel) = iworksh(1,idshel ) + 1
460 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
461 ngl =ixtg(nixtg,idshel)
464 . anmode=aninfo_blind_1,
467 . i2= igeo_stack(1,ids),
468 . i3= igeo_stack(1,ipid_1) )
480 IF(igtyp == 52 .AND. npt > 0)
THEN
481 ALLOCATE(iwork_t(i)%PLYID(npt))
482 ALLOCATE(iwork_t(i)%PLYNUM(npt))
484 iwork_t(i)%IDSTACK = 0
486 iwork_t(i)%PLYNUM = 0
494 IF(igtyp == 52 .AND. npt > 0)
THEN
495 ALLOCATE(iwork_t(ii)%PLYID(npt) )
496 ALLOCATE(iwork_t(ii)%PLYNUM(npt))
497 iwork_t(ii)%PLYID = 0
498 iwork_t(ii)%IDSTACK = 0
500 iwork_t(ii)%PLYNUM = 0
508 ids = igeo_stack(42, idply)
509 IF(j > 0 .AND. ids > 0 )
THEN
510 nel = igrsh4n(j)%NENTITY
513 ity = igrsh4n(j)%GRTYPE
515 idshel = igrsh4n(j)%ENTITY(ii)
519 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
520 iworksh(1,idshel) = iworksh(1,idshel) + 1
521 npt = iworksh(1,idshel)
522 iwork_t(idshel)%PLYID(npt) = idply
523 iwork_t(idshel)%IDSTACK = ids
524 iwork_t(idshel)%PLYNUM(npt) = i
525 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
526 iworksh(1,idshel) = iworksh(1,idshel) + 1
527 npt = iworksh(1,idshel)
528 iwork_t(idshel)%PLYID(npt) = idply
529 iwork_t(idshel)%PLYNUM(npt) = i
532 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
533 ngl =ixc(nixc,idshel)
536 . anmode=aninfo_blind_1,
539 . i2= igeo_stack(1,ids),
540 . i3= igeo_stack(1,ipid_1) )
547 IF(j > 0 .AND. ids > 0 )
THEN
548 nel = igrsh3n(j)%NENTITY
550 ity = igrsh3n(j)%GRTYPE
554 ish3n = igrsh3n(j)%ENTITY(ii)
558 idshel = ish3n + numelc
559 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
560 iworksh(1,idshel) = iworksh(1,idshel ) + 1
561 npt = iworksh(1,idshel)
562 iwork_t(idshel)%PLYID(npt) = idply
563 iwork_t(idshel)%IDSTACK= ids
564 iwork_t(idshel)%PLYNUM(npt) = i
565 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
566 iworksh(1,idshel) = iworksh(1,idshel ) + 1
567 npt = iworksh(1,idshel)
568 iwork_t(idshel)%PLYID(npt) = idply
569 iwork_t(idshel)%PLYNUM(npt) = i
572 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
573 ngl =ixtg(nixtg,idshel)
576 . anmode=aninfo_blind_1,
579 . i2= igeo_stack(1,ids),
580 . i3= igeo_stack(1,ipid_1) )
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)