C TRJVEL    SOURCE    CHAT      05/01/13    03:51:45     5004
      SUBROUTINE TRJVEL(IZVIT,IZUN,IEL1,IVIPT,TTEMP)
C*****************************************************************
C     CALCUL DE LA VITESSE AUX NOEUDS DE L ELEMENT IEL1
C     ENTREES:
C              IZVIT POINTEUR DU SEGMENT DES VITESSES OU FLUX
C              IEL1  NUMERO DE L ELEMENT
C              IVIPT NUMERO DU PAS DE TEMPS DIRECTEMENT SUPERIEUR
C                     AU TEMPS CONSIDERE ( 1 EN PERMANENT )
C              TTEMP TEMPS CONSIDERE
C     SORTIES:
C              IZUN POINTEUR DU SEGMENT DES VITESSES AU TEMPS TTEMP
C                    on a calculé la valeur pour IEL1
C *****************************************************************
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C
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
C
      SEGMENT IZUN
           REAL*8 UN(I1,I2,I3)
      ENDSEGMENT
      POINTEUR IZUN1.IZUN,IZUN2.IZUN
      POINTEUR IZVPT1.IZVPT
C
C
      segact izvit
      NB1=IPUN(/1)-1
      IF(NB1.NE.0)THEN
      DO 10 I= 1,NB1
      IS=I
      IF(IEL1.LE.IDUN(I+1)) GO TO 15
   10 CONTINUE
      ENDIF
      IS=NB1+1
   15 CONTINUE
      IZVPT=IPVPT(IVIPT)
      SEGACT IZVPT
      IZUN=IPUN1(IS)
      SEGACT IZUN
      NDIM=UN(/1)
      NOEL1=UN(/2)
      IELL=IEL1-IDUN(IS)
      SEGDES IZVPT
C     write(6,*)' veltrj' ,iel1,iell,
C    * ((un(i,j,iell),i=1,ndim),j=1,noel1)
      IF(IVIPT.EQ.1) RETURN
C             CAS TRANSITOIRE
      TMAX=TEMTRA(IVIPT)
      TMIN=TEMTRA(IVIPT-1)
      IZUN2=IZUN
      IZUN=IPUN(IS)
      IZVPT1=IPVPT(IVIPT-1)
      SEGACT IZVPT1
      IZUN1=IZVPT1.IPUN1(IS)
      SEGACT IZUN1,IZUN
        DO 18 J =1,NOEL1
        DO 8 ID1=1,NDIM
          UN(ID1,J,IELL)=((TMAX-TTEMP)*IZUN1.UN(ID1,J,IELL)
     *     +(TTEMP-TMIN)*IZUN2.UN(ID1,J,IELL))/(TMAX-TMIN)
    8  CONTINUE
   18  CONTINUE
      SEGDES IZUN1 , IZUN2
      SEGDES IZVPT1
      RETURN
      END


