36 . IGRSH3N ,IGRSH4N ,IXC ,IXTG ,
37 . IGEO ,GEO ,IGEO_STACK ,IWORKSH ,
51#include "implicit_f.inc"
61#include "remesh_c.inc"
67 INTEGER IXC(NIXC,NUMELC),
68 . IXTG(NIXTG,NUMELTG),IGEO(NPROPGI,NUMGEO),IWORKSH(3,NUMELC+NUMELTG),
69 . IGEO_STACK(NPROPGI,NUMSTACK + NUMPLY)
73 TYPE (
group_) ,
DIMENSION(NGRSH3N) :: igrsh3n
74 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
75 TYPE(DRAPE_WORK_) ,
DIMENSION(NUMELC + NUMELTG) ,
TARGET ::
79 INTEGER I,,II,NSTACK,NPLY,IGTYP,ID,JD,,NEL,
80 . IAD,ITY,IDSHEL,PID,IS,IDS,NSH,MODE,NS,JJ,NGEO_STACK,
81 . IGRTYP,N1,IIGEO,NSS,IPPOS,NPT,IIS,NP,
82 . jjpid,jstack,jpid,itg,ipmat_iply,ish3n,j4n,j3n,ipos,
83 . mat_ly,nlay,nptt,ipidl,it,ilay,ipthk_nptt,ippos_nptt,
84 . iint,ipid_ly,ipdir ,ns_stack0 ,npt_stack0,is0,js,pids,ip,
87 INTEGER ,
DIMENSION(NUMGEO+NUMPLY) :: IPIDPLY,IDGR4N
89INTEGER :: NBFI,IPPID, NGL,IPID_1,NUMS,IPWEIGHT,IPTHKLY,NSHQ4,NSHT3
91 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ITRI
92 INTEGER,
DIMENSION (:) ,
ALLOCATABLE ::ICSH,INDX
93 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
98 IF(ipart_stack > 0)
THEN
109 IF (igtyp == 19 .AND. nstack > 0)
THEN
112 idgr4n(nply) = igeo(40,i)
113 idgr3n(nply) = igeo(41,i)
147 IF(igtyp == 17 .OR. igtyp == 51)
THEN
156 IF(igtyp == 17 .OR. igtyp == 51)
THEN
165 nstack = igeo(42, idply)
166 IF(j > 0 .AND. nstack > 0 )
THEN
167 nel = igrsh4n(j)%NENTITY
169 ity = igrsh4n(j)%GRTYPE
171 idshel = igrsh4n(j)%ENTITY(ii)
174 IF(igtyp == 17 .OR. igtyp == 51)
THEN
176 ids = igeo(200 + is, idply)
178 iworksh (1,idshel) = iworksh(1,idshel) + 1
187 IF(j > 0 .AND. nstack > 0 )
THEN
188 nel = igrsh3n(j)%NENTITY
190 ity = igrsh3n(j)%GRTYPE
192 ish3n = igrsh3n(j)%ENTITY(ii)
195 IF(igtyp == 17 .OR. igtyp == 51)
THEN
197 ids = igeo(200 + is,idply)
199 idshel = ish3n + numelc
200 iworksh(1,idshel) = iworksh(1,idshel ) + 1
207 IF(j4n == 0 .AND. j3n == 0 .AND. nstack > 0 )
THEN
212 IF(igtyp == 17 .OR. igtyp == 51)
THEN
214 ids = igeo(200 + is,idply)
216 iworksh(1,ii) = iworksh(1,ii) + 1
222 DO 400 ii = 1,numeltg
226 IF(igtyp == 17 .OR. igtyp == 51)
THEN
228 ids = igeo(200 + is,idply)
230 iworksh(1,itg) = iworksh(1,itg) + 1
245 IF(igtyp == 17 .OR. igtyp == 51 .AND. npt > 0)
THEN
246 ALLOCATE(iwork_t(i)%PLYID(npt))
247 ALLOCATE(iwork_t(i)%PLYNUM(npt))
250 iwork_t(i)%PLYNUM = 0
259 IF((igtyp == 17 .OR. igtyp == 51) .AND. npt > 0)
THEN
260 ALLOCATE(iwork_t(ii)%PLYID(npt))
261 ALLOCATE(iwork_t(ii)%PLYNUM(npt))
262 iwork_t(ii)%PLYID = 0
264 iwork_t(ii)%PLYNUM = 0
273 nstack = igeo(42, idply)
274 IF(j > 0 .AND. nstack > 0 )
THEN
275 nel = igrsh4n(j)%NENTITY
277 ity = igrsh4n(j)%GRTYPE
279 idshel = igrsh4n(j)%ENTITY(ii)
282 IF(igtyp == 17 .OR. igtyp == 51)
THEN
284 ids = igeo(200 + is, idply)
286 iworksh(1,idshel) = iworksh(1,idshel) + 1
287 npt = iworksh(1,idshel)
288 iwork_t(idshel)%PLYID(npt) = idply
289 iwork_t(idshel)%PLYNUM(npt) = i
298 IF(j > 0 .AND. nstack > 0 )
THEN
299 nel = igrsh3n(j)%NENTITY
301 ity = igrsh3n(j)%GRTYPE
303 ish3n = igrsh3n(j)%ENTITY(ii)
306 IF(igtyp == 17 .OR. igtyp == 51)
THEN
308 ids = igeo(200 + is,idply)
310 idshel = ish3n + numelc
311 iworksh(1,idshel) = iworksh(1,idshel ) + 1
312 npt = iworksh(1,idshel)
313 iwork_t(idshel)%PLYID(npt) = idply
314 iwork_t(idshel)%PLYNUM(npt) = i
321 IF(j4n == 0 .AND. j3n == 0 .AND. nstack > 0 )
THEN
326 IF(igtyp == 17 .OR. igtyp == 51)
THEN
328 ids = igeo(200 + is,idply)
330 iworksh(1,ii) = iworksh(1,ii) + 1
332 iwork_t(ii)%PLYID(npt) = idply
333 iwork_t(ii)%PLYNUM(npt) = i
339 DO 404 ii = 1,numeltg
343 IF(igtyp == 17 .OR. igtyp == 51)
THEN
345 ids = igeo(200 + is,idply)
347 iworksh(1,itg) = iworksh(1,itg) + 1
349 iwork_t(itg)%PLYID(npt) = idply
350 iwork_t(itg)%PLYNUM(npt) = i
363 IF(ipart_pcompp > 0)
THEN
368 ids = igeo_stack(42,numstack + i)
371 ipidply(nply) = numstack + i
372 idgr4n(nply) = igeo_stack(40,numstack + i)
373 idgr3n(nply) = igeo_stack(41,numstack + i)
403 iwork_t(1:numelc + numeltg)%IDSTACK = 0
408 ids = igeo_stack(42, idply)
409 IF(j > 0 .AND. ids > 0 )
THEN
410 nel = igrsh4n(j)%NENTITY
413 ity = igrsh4n(j)%GRTYPE
415 idshel = igrsh4n(j)%ENTITY(ii)
419 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
420 iworksh(1,idshel) = iworksh(1,idshel) + 1
421 iwork_t(idshel)%IDSTACK = ids
422 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
423 iworksh(1,idshel) = iworksh(1,idshel) + 1
426 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
427 ngl =ixc(nixc,idshel)
430 . anmode=aninfo_blind_1,
433 . i2= igeo_stack(1,ids),
434 . i3= igeo_stack(1,ipid_1) )
441 IF(j > 0 .AND. ids > 0 )
THEN
442 nel = igrsh3n(j)%NENTITY
444 ity = igrsh3n(j)%GRTYPE
447 ish3n = igrsh3n(j)%ENTITY(ii)
451 idshel = ish3n + numelc
452 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
453 iworksh(1,idshel) = iworksh(1,idshel ) + 1
454 iwork_t(idshel)%IDSTACK= ids
455 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
456 iworksh(1,idshel) = iworksh(1,idshel ) + 1
459 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
460 ngl =ixtg(nixtg,idshel)
463 . anmode=aninfo_blind_1,
466 . i2= igeo_stack(1,ids),
467 . i3= igeo_stack(1,ipid_1) )
479 IF(igtyp == 52 .AND. npt > 0)
THEN
480 ALLOCATE(iwork_t(i)%PLYID(npt))
481 ALLOCATE(iwork_t(i)%PLYNUM(npt))
483 iwork_t(i)%IDSTACK = 0
485 iwork_t(i)%PLYNUM = 0
493 IF(igtyp == 52 .AND. npt > 0)
THEN
494 ALLOCATE(iwork_t(ii)%PLYID(npt) )
495 ALLOCATE(iwork_t(ii)%PLYNUM(npt))
496 iwork_t(ii)%PLYID = 0
497 iwork_t(ii)%IDSTACK = 0
499 iwork_t(ii)%PLYNUM = 0
507 ids = igeo_stack(42, idply)
508 IF(j > 0 .AND. ids > 0 )
THEN
509 nel = igrsh4n(j)%NENTITY
512 ity = igrsh4n(j)%GRTYPE
514 idshel = igrsh4n(j)%ENTITY(ii)
518 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
519 iworksh(1,idshel) = iworksh(1,idshel) + 1
520 npt = iworksh(1,idshel)
521 iwork_t(idshel)%PLYID(npt) = idply
522 iwork_t(idshel)%IDSTACK = ids
523 iwork_t(idshel)%PLYNUM(npt) = i
524 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
525 iworksh(1,idshel) = iworksh(1,idshel) + 1
526 npt = iworksh(1,idshel)
527 iwork_t(idshel)%PLYID(npt) = idply
528 iwork_t(idshel)%PLYNUM(npt) = i
531 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
532 ngl =ixc(nixc,idshel)
535 . anmode=aninfo_blind_1,
538 . i2= igeo_stack(1,ids),
539 . i3= igeo_stack(1,ipid_1) )
546 IF(j > 0 .AND. ids > 0 )
THEN
547 nel = igrsh3n(j)%NENTITY
549 ity = igrsh3n(j)%GRTYPE
553 ish3n = igrsh3n(j)%ENTITY(ii)
557 idshel = ish3n + numelc
558 IF(iwork_t(idshel)%IDSTACK == 0)
THEN
559 iworksh(1,idshel) = iworksh
560 npt = iworksh(1,idshel)
561 iwork_t(idshel)%PLYID(npt) = idply
562 iwork_t(idshel)%IDSTACK= ids
563 iwork_t(idshel)%PLYNUM(npt) = i
564 ELSEIF(iwork_t(idshel)%IDSTACK == ids)
THEN
565 iworksh(1,idshel) = iworksh(1,idshel ) + 1
566 npt = iworksh(1,idshel)
567 iwork_t(idshel)%PLYID(npt) = idply
568 iwork_t(idshel)%PLYNUM(npt) = i
571 ipid_1=igeo_stack(1,iwork_t(idshel)%IDSTACK)
572 ngl =ixtg(nixtg,idshel)
575 . anmode=aninfo_blind_1,
578 . i2= igeo_stack(1,ids),
579 . 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)