trjpel
C TRJPEL SOURCE CB215821 23/01/25 21:15:38 11573 * IZSH,TTEMP) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C PREMIERE LOCALISATION DE CHAQUE PARTICULE C ON FINIT DE REMPLIR LES SEGMENTS IZPART ET IZREF : C CALCUL DES APPARTENANCES (NLEPA) DES PARTICULES C ET DES COORDONNEES DE REFERENCES (IZREF.COORPA) C C ISSU DU SP PELTAR DE TRIO-EF C C IZPART segment contenant la position de chaque particule dans C les coordonnées reelles C NLEPA = numéro de l'élément dans lequel se trouve la particule C NUMPA = numéro de la particule( diff du no d'ordre ) C COORPA = coordonnées de la particule C C IZREF segment contenant la position de chaque particule dans C les coordonnées de référence C C MELEME pointeur du maillage C C IZVIT segment genere dans TRJVIT ou TRJFLU et servant a decrire C les vitesses C C IZCENT pointeur du maillage centre des elements ( table DOMAINE) C C IELTFA pointeur du maillage DOMAINE.ELTFA C C IZSH pointeur du segment de travail pour le calcul des C fonctions de forme C C TTEMP temps auquel est faite la recherche C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C -INC PPARAM -INC CCOPTIO -INC SMCOORD -INC SMELEME -INC SMCHPOI C POINTEUR IZCENT.MELEME,IELTFA.MELEME,IZFAC1.MELEME C SEGMENT IZPART INTEGER NLEPA(NPART),NUMPA(NPART) REAL*8 COORPA(NDIM,NPART) ENDSEGMENT POINTEUR IZREF.IZPART SEGMENT IZCOU REAL*8 DTCO(NEL),COU ENDSEGMENT C SEGMENT IZTRAV REAL*8 COOR(NDIM,NPART) ENDSEGMENT SEGMENT IZSH REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9) ENDSEGMENT C SEGMENT IZNOEU REAL*8 XELE(IDIM,NOEL) INTEGER NOEGLO(NOEL) ENDSEGMENT C C ce segment de travail ne sort pas de TRJPEL il est chargé dans C TRJTRI TRJQUA TRJPRI TRJCUB SEGMENT IZAPAR INTEGER IAPAR(4,NPART) ENDSEGMENT C IAPART( ,IPART) où se trouve la particule IPART C IAPAR(1,IPART) NUMERO DE L'ELEMENT OU 0 C IAPAR(2,IPART) NUMERO DE LA FACE OU 0 (3D) C IAPAR(3,IPART) NUMERO DE L'ARETE OU 0 C IAPAR(4,IPART) NUMERO DU NOEUD OU 0 C SEGMENT IZVIT REAL*8 TEMTRA(NVIPT) INTEGER IPUN(NBS),IDUN(NBS),IPVPT(NVIPT),IFORML ENDSEGMENT C IDUN(I) nombre d elements avant le sous maillage I C IPVPT pointeurs de izvpt pour chaque pas de temps SEGMENT IZVPT INTEGER IPUN1(NBS),IPUMAX ENDSEGMENT SEGMENT IZUN ENDSEGMENT POINTEUR IZUN1.IZUN ,IZUN2.IZUN SEGMENT IZUMAX REAL*8 UMAX(NBREL) ENDSEGMENT POINTEUR IZUMA1.IZUMAX C C DIMENSION XYREF(3),ZXY(3),UELEM(3) DIMENSION XNTRI1(2,3),XNTRI2(2,7),XNQUA1(2,4),XNQUA2(2,9) DIMENSION XNPRI(3,6),XNCUB(3,8),XNTET(3,4),TLI(4) C DATA XNTRI1/0.D0,0.D0, 1.D0,0.D0, 0.D0,1.D0/ DATA XNTRI2/0.D0,0.D0, 0.5D0,0.D0, 1.D0,0.D0, 0.5D0,0.5D0, * 0.D0,1.D0, 0.D0,0.5D0, 0.33333333D0,0.33333333D0/ DATA XNQUA1/-1.D0,-1.D0, 1.D0,-1.D0, 1.D0,1.D0, -1.D0,1.D0/ DATA XNQUA2/-1.D0,-1.D0, 0.D0,-1.D0, 1.D0,-1.D0, 1.D0,0.D0, * 1.D0,1.D0, 0.D0,1.D0, -1.D0,1.D0, -1.D0,0.D0, 0.D0,0.D0/ DATA XNPRI/0.D0,0.D0,-1.D0, 1.D0,0.D0,-1.D0, 0.D0,1.D0,-1.D0, * 0.D0,0.D0,1.D0, 1.D0,0.D0,1.D0, 0.D0,1.D0,1.D0/ DATA XNCUB/-1.D0,-1.D0,-1.D0, 1.D0,-1.D0,-1.D0, 1.D0,1.D0,-1.D0, * -1.D0,1.D0,-1.D0, -1.D0,-1.D0,1.D0, 1.D0,-1.D0,1.D0, * 1.D0,1.D0,1.D0, -1.D0,1.D0,1.D0/ DATA XNTET/0.D0,0.D0,0.D0, 1.D0,0.D0,0.D0, 0.D0,1.D0,0.D0, * 0.D0,0.D0,1.D0/ C NEL=DTCO(/1) EPS=1.D-05 COUR=0.001D0 NPART=COORPA(/2) NDIM=COORPA(/1) SEGINI IZAPAR,IZTRAV C write(6,*)' SEGINI IZAPAR,IZTRAV', IZAPAR,IZTRAV DO 1 IPART=1,NPART IZREF.NUMPA(IPART)=IPART 1 CONTINUE DO 3 IPART=1,NPART DO 2 I=1,NDIM COOR(I,IPART)=COORPA(I,IPART) 2 CONTINUE 3 CONTINUE SEGACT IZVIT NVIPT=TEMTRA(/1) IF(NVIPT.EQ.1)THEN IVIPT=1 IZVPT=IPVPT(1) SEGACT IZVPT IZUMAX=IPUMAX IZUMA1=IPUMAX SEGACT IZUMAX SEGDES IZVPT ELSE IVIPT=2 IZVPT=IPVPT(IVIPT) SEGACT IZVPT IZUMAX=IPUMAX SEGACT IZUMAX SEGDES IZVPT IZVPT=IPVPT(IVIPT-1) SEGACT IZVPT IZUMA1=IPUMAX SEGACT IZUMA1 SEGDES IZVPT ENDIF IFORMU=IFORML C C*** BOUCLE ELEMENT C NPAPAR=0 NEL0=0 SEGACT MELEME,IELTFA,IZCENT NBSOUS=LISOUS(/1) NBS=NBSOUS IF(NBSOUS.EQ.0) NBS=1 IPT1=MELEME IZFAC1=IELTFA SEGACT,MCOORD DO 93 ISOUS=1,NBS IF(NBSOUS.GT.0)THEN IPT1=LISOUS(ISOUS) IZFAC1=IELTFA.LISOUS(ISOUS) ENDIF SEGACT IPT1 SEGACT IZFAC1 NEL1=IPT1.NUM(/2) NEL=NEL0+NEL1 DO 94 IEL=1,NEL1 IEL1=IEL+NEL0 IF(NPAPAR.GE.NPART)GO TO 100 NOEL=IPT1.NUM(/1) ITP=IPT1.ITYPEL SEGINI IZNOEU C write(6,*)'SEGINI IZNOEU ', IZNOEU C ON RECUPERE LE NUMERO DU POINT CENTRE DE L ELEMENT C PUIS ON VA CALCULER LA PLUS GRANDE DISTANCE CENTRE NOEUD C DE FACON A IGNORER LES PARTICULES TROP ELOIGNEES NUCENT=IZCENT.NUM(1,IEL1) IPCENT=(NUCENT-1)*(IDIM+1)+1 DIAM2=DIAM2*1.4D+0 C 1.4 COEF DE SECURITE POUR LES MAILLAGES TORDUS C C*** BOUCLE PARTICULES C DO 4 IPART=1,NPART IF(NPAPAR.GE.NPART)THEN SEGSUP IZNOEU GO TO 100 ENDIF NAP=NPAPAR RAUX=0.D0 DO 5 ID=1,NDIM RAUX=RAUX+(XCOOR(IPCENT+ID-1)-COORPA(ID,IPART))**2 5 CONTINUE RAUX=SQRT(RAUX) DIFF=DIAM2-RAUX C write(6,*)' raux diam2 ',iel,ipart,raux,diam2 IF(DIFF.GE.0.D0) THEN NAP=NPAPAR C C*** TRIANGLES C IF(ITP.EQ.4.OR.ITP.EQ.6.OR.ITP.EQ.7)THEN * INOELO,TLI) C write(6,*)' iapar t3',iel,ipart,(iapar(iii,ipart),iii=1,4) IF(NAP.EQ.NPAPAR) GO TO 4 C C*** NOMBRE DE COURANT C IF(DTCO(IEL1).EQ.0.D0)THEN C CALL TRJCN5(ITP,IZSH) IF(IERR.GT.0) RETURN IF(IZUMAX.EQ.IZUMA1)THEN UEM=UMAX(IEL1) ELSE UEM=MAX(UMAX(IEL1),IZUMA1.UMAX(IEL1)) ENDIF ENDIF IF(IAPAR(4,IPART).NE.0)THEN C C*** APARTENANCE NOEUD C IF(ITP.EQ.4)THEN C C TRI3 C XYREF(1)=XNTRI1(1,INOELO) XYREF(2)=XNTRI1(2,INOELO) ELSE C C TRI6-TRI7 C XYREF(1)=XNTRI2(1,INOELO) XYREF(2)=XNTRI2(2,INOELO) ENDIF NPAPAR=NAP * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,XYREF) IF(NAP.EQ.NPAPAR)GO TO 4 IZREF.COORPA(1,IPART)=XYREF(1) IZREF.COORPA(2,IPART)=XYREF(2) GO TO 200 ENDIF IF(IAPAR(3,IPART).NE.0)THEN C C*** APARTENANCE ARETE C NPAPAR=NAP * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NAP.EQ.NPAPAR)GO TO 4 IZREF.COORPA(1,IPART)=TLI(2) IZREF.COORPA(2,IPART)=TLI(3) GO TO 200 ENDIF C C*** APARTENANCE ELEMENT C DO 10 ID=1,NDIM ZXY(ID)=COOR(ID,IPART) 10 CONTINUE IER=0 IF(IER.NE.0)THEN ENDIF DO 11 ID=1,NDIM IZREF.COORPA(ID,IPART)=XYREF(ID) 11 CONTINUE C C*** QUADRANGLES C ELSEIF(ITP.EQ.8.OR.ITP.EQ.11)THEN * INOELO,TLI) C write(6,*)' iapar q4',iel,ipart,(iapar(iii,ipart),iii=1,4) C write(6,*)' nap npapar ' ,nap,npapar IF(NAP.EQ.NPAPAR) GO TO 4 C C*** NOMBRE DE COURANT C IF(DTCO(IEL).EQ.0.D0)THEN C CALL TRJCN5(ITP,IZSH) IF(IERR.GT.0) RETURN IF(IZUMAX.EQ.IZUMA1)THEN UEM=UMAX(IEL1) ELSE UEM=MAX(UMAX(IEL1),IZUMA1.UMAX(IEL1)) ENDIF ENDIF C C*** APARTENANCE NOEUD C IF(IAPAR(4,IPART).NE.0)THEN IF(ITP.EQ.8)THEN C C QUA4 C XYREF(1)=XNQUA1(1,INOELO) XYREF(2)=XNQUA1(2,INOELO) ELSE C C QUA9 C XYREF(1)=XNQUA2(1,INOELO) XYREF(2)=XNQUA2(2,INOELO) ENDIF NPAPAR=NAP * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,XYREF) IF(NAP.EQ.NPAPAR)GO TO 4 C IZREF.COORPA(1,IPART)=XYREF(1) IZREF.COORPA(2,IPART)=XYREF(2) GO TO 200 ENDIF IF(IAPAR(3,IPART).NE.0)THEN C C*** APARTENANCE ARETE C NPAPAR=NAP I1=IAPAR(1,IPART) I3=IAPAR(3,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NAP.EQ.NPAPAR)GO TO 4 IARET=I3 GO TO (300,310,320,330)IARET 300 CONTINUE IZREF.COORPA(1,IPART)=1.D0-2.D0*TLI(3) IZREF.COORPA(2,IPART)=-1.D0 GO TO 200 310 CONTINUE IZREF.COORPA(1,IPART)=1.D0 IZREF.COORPA(2,IPART)=2.D0*TLI(2)-1.D0 GO TO 200 320 CONTINUE IZREF.COORPA(1,IPART)=2.D0*TLI(3)-1.D0 IZREF.COORPA(2,IPART)=1.D0 GO TO 200 330 CONTINUE IZREF.COORPA(1,IPART)=-1.D0 IZREF.COORPA(2,IPART)=1.D0-2.D0*TLI(2) GO TO 200 ENDIF C C*** APARTENANCE ELEMENT C DO 16 ID=1,NDIM ZXY(ID)=COOR(ID,IPART) 16 CONTINUE IER=0 IF(IER.NE.0)THEN ENDIF DO 17 ID=1,NDIM IZREF.COORPA(ID,IPART)=XYREF(ID) 17 CONTINUE C C*** PRISMES C ELSEIF(ITP.EQ.16)THEN * TLI,ITRI) C write(6,*)' iapar ',iel,(iapar(idd,ipart),idd=1,4) IF(NAP.EQ.NPAPAR) GO TO 4 C C*** NOMBRE DE COURANT C IF(DTCO(IEL).EQ.0.D0)THEN C CALL TRJCN5(ITP,IZSH) IF(IERR.GT.0) RETURN IF(IZUMAX.EQ.IZUMA1)THEN UEM=UMAX(IEL1) ELSE UEM=MAX(UMAX(IEL1),IZUMA1.UMAX(IEL1)) ENDIF ENDIF IF(IAPAR(4,IPART).NE.0) THEN C C*** APARTENANCE NOEUD C DO 21 ID=1,NDIM XYREF(ID)=XNPRI(ID,INOELO) 21 CONTINUE NPAPAR=NAP * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,XYREF) IF(NAP.EQ.NPAPAR)GO TO 4 DO 20 ID=1,NDIM IZREF.COORPA(ID,IPART)=XNPRI(ID,INOELO) 20 CONTINUE GO TO 200 ENDIF IF(IAPAR(3,IPART).NE.0) THEN C C*** APARTENANCE ARETE C NPAPAR=NAP I1=IAPAR(1,IPART) I3=IAPAR(3,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NAP.EQ.NPAPAR)GO TO 4 IARET=I3 GO TO (400,410,420,430,440,450)IARET 400 CONTINUE IZREF.COORPA(1,IPART)=0.D0 IF(ITRI.EQ.3)IZREF.COORPA(2,IPART)=1.D0-TLI(2) IF(ITRI.EQ.2)IZREF.COORPA(2,IPART)=1.D0-TLI(3) IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 410 CONTINUE IZREF.COORPA(1,IPART)=0.D0 IZREF.COORPA(2,IPART)=TLI(2) IZREF.COORPA(3,IPART)=1.D0 GO TO 200 420 CONTINUE IZREF.COORPA(1,IPART)=1.D0-TLI(3) IZREF.COORPA(2,IPART)=0.D0 IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 430 CONTINUE IZREF.COORPA(1,IPART)=TLI(3) IZREF.COORPA(2,IPART)=0.D0 IZREF.COORPA(3,IPART)=1.D0 GO TO 200 440 CONTINUE IZREF.COORPA(1,IPART)=1.D0-TLI(2) IZREF.COORPA(2,IPART)=TLI(2) IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 450 CONTINUE IF(ITRI.EQ.1)IZREF.COORPA(1,IPART)=TLI(3) IF(ITRI.EQ.2)IZREF.COORPA(1,IPART)=TLI(2) IF(ITRI.EQ.1)IZREF.COORPA(2,IPART)=1.D0-TLI(3) IF(ITRI.EQ.2)IZREF.COORPA(2,IPART)=1.D0-TLI(2) IZREF.COORPA(3,IPART)=1.D0 GO TO 200 ENDIF IF(IAPAR(2,IPART).NE.0)THEN C C*** APPARTENANCES FACE ( 3D ) C NPAPAR=NAP I1=IAPAR(1,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NPAPAR.EQ.NAP)GO TO 4 IAPAR(1,IPART)=I1 ENDIF C C*** APARTENANCE ELEMENT C DO 25 ID=1,NDIM ZXY(ID)=COOR(ID,IPART) 25 CONTINUE IER=0 IF(IER.NE.0)THEN ENDIF DO 26 ID=1,NDIM IZREF.COORPA(ID,IPART)=XYREF(ID) 26 CONTINUE C C*** CUBES C ELSEIF(ITP.EQ.14)THEN * INOELO,TLI) IF(NAP.EQ.NPAPAR) GO TO 4 C C*** NOMBRE DE COURANT C IF(DTCO(IEL).EQ.0.D0)THEN C CALL TRJCN5(ITP,IZSH) IF(IERR.GT.0) RETURN IF(IZUMAX.EQ.IZUMA1)THEN UEM=UMAX(IEL1) ELSE UEM=MAX(UMAX(IEL1),IZUMA1.UMAX(IEL1)) ENDIF ENDIF C C*** APARTENANCE NOEUD C IF(IAPAR(4,IPART).NE.0) THEN DO 28 ID=1,NDIM XYREF(ID)=XNCUB(ID,INOELO) 28 CONTINUE NPAPAR=NAP * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,XYREF) IF(NAP.EQ.NPAPAR)GO TO 4 DO 29 ID=1,NDIM IZREF.COORPA(ID,IPART)=XNCUB(ID,INOELO) 29 CONTINUE GO TO 200 ENDIF IF(IAPAR(3,IPART).NE.0)THEN C C*** APARTENANCE ARETE C NPAPAR=NAP I1=IAPAR(1,IPART) I3=IAPAR(3,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NAP.EQ.NPAPAR)GO TO 4 IARET=I3 GOTO (500,510,520,530,540,550,560,570,580,590,600,610), * IARET 500 CONTINUE IZREF.COORPA(1,IPART)=-1.D0 IZREF.COORPA(2,IPART)=2.D0*TLI(3)-1.D0 IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 510 CONTINUE IZREF.COORPA(1,IPART)=1.D0 IZREF.COORPA(2,IPART)=1.D0-2.D0*TLI(2) IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 520 CONTINUE IZREF.COORPA(1,IPART)=1.D0 IZREF.COORPA(2,IPART)=2.D0*TLI(3)-1.D0 IZREF.COORPA(3,IPART)=1.D0 GO TO 200 530 CONTINUE IZREF.COORPA(1,IPART)=-1.D0 IZREF.COORPA(2,IPART)=1.D0-2.D0*TLI(3) IZREF.COORPA(3,IPART)=1.D0 GO TO 200 540 CONTINUE IZREF.COORPA(1,IPART)=2.D0*TLI(2)-1.D0 IZREF.COORPA(2,IPART)=-1.D0 IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 550 CONTINUE IZREF.COORPA(1,IPART)=1.D0-2.D0*TLI(4) IZREF.COORPA(2,IPART)=1.D0 IZREF.COORPA(3,IPART)=-1.D0 GO TO 200 560 CONTINUE IZREF.COORPA(1,IPART)=2.D0*TLI(2)-1.D0 IZREF.COORPA(2,IPART)=1.D0 IZREF.COORPA(3,IPART)=1.D0 GO TO 200 570 CONTINUE IZREF.COORPA(1,IPART)=1.D0-2.D0*TLI(2) IZREF.COORPA(2,IPART)=-1.D0 IZREF.COORPA(3,IPART)=1.D0 GO TO 200 580 CONTINUE IZREF.COORPA(1,IPART)=-1.D0 IZREF.COORPA(2,IPART)=-1.D0 IZREF.COORPA(3,IPART)=2.D0*TLI(4)-1.D0 GO TO 200 590 CONTINUE IZREF.COORPA(1,IPART)=1.D0 IZREF.COORPA(2,IPART)=-1.D0 IZREF.COORPA(3,IPART)=1.D0-2.D0*TLI(4) GO TO 200 600 CONTINUE IZREF.COORPA(1,IPART)=1.D0 IZREF.COORPA(2,IPART)=1.D0 IZREF.COORPA(3,IPART)=2.D0*TLI(3)-1.D0 GO TO 200 610 CONTINUE IZREF.COORPA(1,IPART)=-1.D0 IZREF.COORPA(2,IPART)=1.D0 IZREF.COORPA(3,IPART)=1.D0-2.D0*TLI(4) GO TO 200 ENDIF IF(IAPAR(2,IPART).NE.0) THEN C C*** APPARTENANCES FACE ( 3D ) C NPAPAR=NAP I1=IAPAR(1,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NPAPAR.EQ.NAP)GO TO 94 IAPAR(1,IPART)=I1 ENDIF C C*** APARTENANCE ELEMENT C DO 34 ID=1,NDIM ZXY(ID)=COOR(ID,IPART) 34 CONTINUE IER=0 IF(IER.NE.0)THEN ENDIF DO 35 ID=1,NDIM IZREF.COORPA(ID,IPART)=XYREF(ID) 35 CONTINUE C C*** TETRAEDRE C ELSEIF(ITP.EQ.23)THEN * TLI) C write(6,*)' iapar ',iel,(iapar(idd,ipart),idd=1,4) C write(6,*)' inoelo',inoelo IF(NAP.EQ.NPAPAR) GO TO 4 C C*** NOMBRE DE COURANT C IF(DTCO(IEL).EQ.0.D0) THEN C CALL TRJCN5(ITP,IZSH) IF(IERR.GT.0) RETURN IF(IZUMAX.EQ.IZUMA1)THEN UEM=UMAX(IEL1) ELSE UEM=MAX(UMAX(IEL1),IZUMA1.UMAX(IEL1)) ENDIF ENDIF IF(IAPAR(4,IPART).NE.0) THEN C C*** APARTENANCE NOEUD C DO 41 ID=1,NDIM XYREF(ID)=XNTET(ID,INOELO) 41 CONTINUE NPAPAR=NAP * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,XYREF) IF(NAP.EQ.NPAPAR)GO TO 4 DO 40 ID=1,NDIM IZREF.COORPA(ID,IPART)=XNTET(ID,INOELO) 40 CONTINUE GO TO 200 ENDIF IF(IAPAR(3,IPART).NE.0) THEN C C*** APARTENANCE ARETE C NPAPAR=NAP I1=IAPAR(1,IPART) I3=IAPAR(3,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NAP.EQ.NPAPAR)GO TO 4 IARET=I3 IZREF.COORPA(1,IPART)=TLI(2) IZREF.COORPA(2,IPART)=TLI(3) IZREF.COORPA(3,IPART)=TLI(4) GO TO 200 ENDIF IF(IAPAR(2,IPART).NE.0)THEN C C*** APPARTENANCES FACE ( 3D ) C NPAPAR=NAP I1=IAPAR(1,IPART) * INOELO,IZPART,IZUN,IZCOU,ITP,IFORMU,IZSH) IF(NPAPAR.EQ.NAP)GO TO 4 IAPAR(1,IPART)=I1 ENDIF C C*** APARTENANCE ELEMENT C DO 36 ID=1,NDIM ZXY(ID)=COOR(ID,IPART) 36 CONTINUE DO 37 ID=1,NDIM IZREF.COORPA(ID,IPART)=XYREF(ID) 37 CONTINUE ENDIF 200 CONTINUE IZREF.NLEPA(IPART)=IEL1 NLEPA(IPART)=IEL1 ENDIF 4 CONTINUE C write(6,*)' SEGSUP IZNOEU ', IZNOEU SEGSUP IZNOEU 94 CONTINUE NEL0=NEL0+NEL1 93 CONTINUE 100 CONTINUE C write(6,*)'SEGSUP IZAPAR,IZTRAV',IZAPAR,IZTRAV SEGSUP IZAPAR,IZTRAV C END
© Cast3M 2003 - Tous droits réservés.
Mentions légales