C FVCEN3    SOURCE    KLOCZKO   05/06/14    21:15:17     5111
C FVCEN3    SOURCE    CHAT      05/01/13    00:13:50     5004
      SUBROUTINE FVCEN3(NESP,
     &                  GAMG,ROG,PG,UNG,UTG,UVG,
     &                  GAMD,ROD,PD,UND,UTD,UVD,
     &                  YG,YD,FLUX,
     &                  CELLT)
C
C************************************************************************
C
C PROJET            :  CASTEM 2000
C
C NOM               :  FVCEN3
C
C DESCRIPTION       :  Formulation Volumes Finis  pour les Equations
C                      d'Euler Multi-Especes relatives à un melange
C                      de gaz ideals.
C
C                      Calcul du flux aux interfaces avec la méthode
C                      centrée
C
C LANGAGE           :  FORTRAN 77
C
C AUTEUR            :  T. KLOCZKO  DEN/DM2S/SFME/LTMF
C
C************************************************************************
C
C APPELES
C
C************************************************************************
C
C**** Entrées:
C
C     NESP            =  nombre d'especes considérées dans les Equations
C                        d'Euler
C
C     GAMG, GAMD      =  les "gamma" du gaz (gauche et droite)
C
C     ROG, ROD        =  les densités
C
C     PG, PD          =  les pressions
C
C     UNG, UND        =  vitesses normales
C
C     UTG, UTD        =  vitesses tangentielles

C     UVG, UVD        =  vitesses tangentielles
C
C     YG, YD          =  tables des fractiones massiques
C
C**** Sorties:
C
C     FLUX            =  table du flux a l'interface, i.e.
C                        (rho*un, rho*un*un + p, rho*un*ut, rho*un*ht,
C                         rho*un*y1, ...)
C
C     CELLT           =  condition de stabilité, i.e.
C
C                        dT/diamax < cellt
C
C************************************************************************
C
C HISTORIQUE (Anomalies et modifications éventuelles)
C
C HISTORIQUE :
C
C************************************************************************
C
C N.B.: Toutes les variables sont DECLAREES
C
      IMPLICIT INTEGER(I-N)
      INTEGER NESP,IESP
      REAL*8 ROG,ROD,PG,PD,UNG,UND,UTG,UTD,UVD,UVG
     &     ,GAMG,GAMD
     &     ,YG(*),YD(*),FLUX(*),CELLT,ROUN,ECIN
C
C**** A gauche
C
      ROUN=ROG*UNG
      FLUX(1)=ROUN
      FLUX(2)=(ROUN*UNG)+PG
      FLUX(3)=ROUN*UTG
      FLUX(4)=ROUN*UVG
      ECIN=0.5D0*((UNG*UNG)+(UTG*UTG)+(UVG*UVG))
      FLUX(5)=(UNG*((GAMG/(GAMG-1.0D0))*PG))+(ROUN*ECIN)
      DO IESP=1,NESP,1
         FLUX(5+IESP)=ROUN*YG(IESP)
      ENDDO
      CELLT=(((GAMG*PG/ROG)**0.5D0)+ABS(UNG))
C
C**** A droite
C
      ROUN=ROD*UND
      FLUX(1)=0.5D0*(FLUX(1)+ROUN)
      FLUX(2)=0.5D0*(FLUX(2)+((ROUN*UND)+PD))
      FLUX(3)=0.5D0*((FLUX(3)+(ROUN*UTD)))
      FLUX(4)=0.5D0*((FLUX(4)+(ROUN*UVD)))
      ECIN=0.5D0*((UND*UND)+(UTD*UTD)+(UVD*UVD))
      FLUX(5)=0.5D0*(FLUX(4)+((UND*((GAMD/(GAMD-1.0D0))*PD))+(ROUN*ECIN)
     $     ))
      DO IESP=1,NESP,1
         FLUX(5+IESP)=0.5D0*(FLUX(5+IESP)+(ROUN*YD(IESP)))
      ENDDO
      CELLT=MAX(CELLT,(((GAMD*PD/ROD)**0.5D0)+ABS(UND)))
      CELLT=1.0D0/CELLT
C
      RETURN
      END








