C TRJNOE SOURCE CHAT 05/01/13 03:50:16 5004 SUBROUTINE TRJNOE(IZNOEU,IZTRAV,IZAPAR,NPAPAR,IPART,IEL1,IEL, * INOELO,IZPART,IZUN,IZCOU,ITP,IFORML,XY) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C LORSQU UNE PARTICULE EST LACHEE SUR UN NOEUD DU MAILLAGE C GEOMETRIQUE ON DETERMINE SI ELLE EST OU NON DANS L ELEMENT IEL1 C C IZUN VITESSE OU FLUX C XY COORDONNEES DE REFERENCE DU POINT CONSIDERE C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C -INC CCOPTIO C 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 IZNOEU REAL*8 XELE(IDIM,NOEL) INTEGER NOEGLO(NOEL) ENDSEGMENT SEGMENT IZAPAR INTEGER IAPAR(4,NPART) ENDSEGMENT SEGMENT IZUN REAL*8 UN(I1,I2,I3) ENDSEGMENT SEGMENT HYTRAV REAL*8 XEL(3,NOEL),SHP(6,NOEL),SHY(12,NOEL) REAL*8 ZJAC(NDIM,NDIM) ENDSEGMENT C C DIMENSION XY(3),UELEM(3),VECT(3) DIMENSION TLI(4) C C NDIM=COORPA(/1) COUR=0.001D0 INOEL1= INOELO IF(IFORML.EQ.1)THEN C FORMULATION ELEMENTS FINIS DO 10 ID=1,NDIM UELEM(ID)=UN(ID,INOELO,IEL) 10 CONTINUE ELSEIF(IFORML.EQ.2)THEN C FORMULATION HYBRIDE ON VA CALCULER LA VITESSE C REELLE AU NOEUD DU MAILLAGE CALL VHYNOE(UELEM,IZNOEU,IZUN,NDIM,XY,ITP,IEL) ENDIF DO 70 ID=1,NDIM COOR(ID,IPART)=COORPA(ID,IPART)+ * UELEM(ID)*DTCO(IEL1)*COUR C write(6,*)' coor trjnoe ',COOR(ID,IPART),COORPA(ID,IPART), C * UELEM(ID),DTCO(IEL1),COUR 70 CONTINUE CALL INITI(IAPAR(1,IPART),4,0) C*** TRIANGLES C IF(ITP.EQ.4.OR.ITP.EQ.6.OR.ITP.EQ.7)THEN CALL TRJTRI(IZNOEU,IZTRAV,IZAPAR,NPAPAR,IPART,IEL1, * INOELO,TLI) C C*** QUADRANGLES C ELSEIF(ITP.EQ.8.OR.ITP.EQ.11)THEN CALL TRJQUA(IZNOEU,IZTRAV,IZAPAR,NPAPAR,IPART,IEL1, * INOELO,TLI) C*** PRISMES C ELSEIF(ITP.EQ.16)THEN CALL TRJPRI(IZNOEU,IZTRAV,IZAPAR,NPAPAR,IPART,IEL, * INOELO,TLI,ITRI) C C*** CUBES C ELSEIF(ITP.EQ.14)THEN CALL TRJCUB(IZNOEU,IZTRAV,IZAPAR,NPAPAR,IPART,IEL, * INOELO,TLI) C C*** TETRAEDRE C ELSEIF(ITP.EQ.23)THEN CALL TRJTET(IZNOEU,IZTRAV,IZAPAR,NPAPAR,IPART,IEL, * INOELO,TLI) ELSE CALL ERREUR(16) ENDIF DO 80 ID=1,NDIM COOR(ID,IPART)=COORPA(ID,IPART) 80 CONTINUE INOELO=INOEL1 C END