Download trjvel.eso

Back to the list

   1 : C TRJVEL    SOURCE    CHAT      05/01/13    03:51:45     5004           
   2 :       SUBROUTINE TRJVEL(IZVIT,IZUN,IEL1,IVIPT,TTEMP)
   3 : C*****************************************************************
   4 : C     CALCUL DE LA VITESSE AUX NOEUDS DE L ELEMENT IEL1
   5 : C     ENTREES:
   6 : C              IZVIT POINTEUR DU SEGMENT DES VITESSES OU FLUX
   7 : C              IEL1  NUMERO DE L ELEMENT
   8 : C              IVIPT NUMERO DU PAS DE TEMPS DIRECTEMENT SUPERIEUR
   9 : C                     AU TEMPS CONSIDERE ( 1 EN PERMANENT )
  10 : C              TTEMP TEMPS CONSIDERE
  11 : C     SORTIES:
  12 : C              IZUN POINTEUR DU SEGMENT DES VITESSES AU TEMPS TTEMP
  13 : C                    on a calculé la valeur pour IEL1
  14 : C *****************************************************************
  15 :       IMPLICIT INTEGER(I-N)
  16 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  17 : C                                                                               
  18 : C                                                                               
  19 :       SEGMENT IZVIT 
  20 :            REAL*8 TEMTRA(NVIPT)
  21 :            INTEGER IPUN(NBS),IDUN(NBS),IPVPT(NVIPT),IFORML
  22 :       ENDSEGMENT
  23 : C             IDUN(I) nombre d elements avant le sous maillage I
  24 : C             IPVPT  pointeurs de izvpt pour chaque pas de temps
  25 :       SEGMENT IZVPT
  26 :            INTEGER IPUN1(NBS),IPUMAX
  27 :       ENDSEGMENT
  28 : C
  29 :       SEGMENT IZUN
  30 :            REAL*8 UN(I1,I2,I3)
  31 :       ENDSEGMENT
  32 :       POINTEUR IZUN1.IZUN,IZUN2.IZUN
  33 :       POINTEUR IZVPT1.IZVPT
  34 : C
  35 : C
  36 :       segact izvit
  37 :       NB1=IPUN(/1)-1
  38 :       IF(NB1.NE.0)THEN
  39 :       DO 10 I= 1,NB1
  40 :       IS=I
  41 :       IF(IEL1.LE.IDUN(I+1)) GO TO 15
  42 :    10 CONTINUE
  43 :       ENDIF
  44 :       IS=NB1+1
  45 :    15 CONTINUE
  46 :       IZVPT=IPVPT(IVIPT)
  47 :       SEGACT IZVPT
  48 :       IZUN=IPUN1(IS)
  49 :       SEGACT IZUN
  50 :       NDIM=UN(/1)
  51 :       NOEL1=UN(/2)
  52 :       IELL=IEL1-IDUN(IS)
  53 :       SEGDES IZVPT
  54 : C     write(6,*)' veltrj' ,iel1,iell,
  55 : C    * ((un(i,j,iell),i=1,ndim),j=1,noel1)
  56 :       IF(IVIPT.EQ.1) RETURN
  57 : C             CAS TRANSITOIRE
  58 :       TMAX=TEMTRA(IVIPT)
  59 :       TMIN=TEMTRA(IVIPT-1)
  60 :       IZUN2=IZUN
  61 :       IZUN=IPUN(IS)
  62 :       IZVPT1=IPVPT(IVIPT-1)
  63 :       SEGACT IZVPT1
  64 :       IZUN1=IZVPT1.IPUN1(IS)
  65 :       SEGACT IZUN1,IZUN
  66 :         DO 18 J =1,NOEL1
  67 :         DO 8 ID1=1,NDIM
  68 :           UN(ID1,J,IELL)=((TMAX-TTEMP)*IZUN1.UN(ID1,J,IELL)
  69 :      *     +(TTEMP-TMIN)*IZUN2.UN(ID1,J,IELL))/(TMAX-TMIN)
  70 :     8  CONTINUE
  71 :    18  CONTINUE
  72 :       SEGDES IZUN1 , IZUN2
  73 :       SEGDES IZVPT1
  74 :       RETURN
  75 :       END
  76 :  
  77 :  

© Cast3M 2003 - All rights reserved.
Disclaimer