C GRACOL    SOURCE    PV        09/11/05    21:15:20     6535
      SUBROUTINE GRACOL(RG,RTG,CVGS,AEQ1,DELSGS,
     &                  XSOL,PGS,TGS,
     &                  RC1,UG,UGS,UPXSOL,UMXSOL,
     &                  DUDT,DPDT)
C************************************************************************
C
C PROJET            :  CASTEM 2000
C
C NOM               :  GRACOL
C
C DESCRIPTION       :  Voir aussi FUNCOL
C                      Calcul de DPDT, DUDT sur le choc gauche,
C                      si TG != TGS
C
C LANGAGE           :  FORTRAN 77
C
C AUTEUR            :  A. BECCANTINI DRN/DMT/SEMT/LTMF
C
C************************************************************************
C
C APPELES           : NONE
C
C************************************************************************
C
C**** ENTREES:
C
C     (G, GS sont les etats Gauche et droite (Gauche Star))
C
C     RG            = R du gaz a gauche (et a droite)
C
C     RTG           = RG * TG
C
C     CVGS          = cv(TGS), cv a droite
C
C     AEQ1          = 2.0D0 * (ETHEGS - ETHEG) + RTGS - RTG
C
C     DELSGS        = SQRT((AEQ1 * AEQ1) + (4.0D0 * RTGS * RTG))
C
C     XSOL          = ROG / ROGS
C
C     PGS, TGS      = pression et temperature a droite
C
C     RC1           = 2.0D0*(HTHEGS - HTHEG)
C
C     UG, UGS       = vitesses
C
C     UPXSOL,UMXSOL = 1 + XSOL, 1 - XSOL
C
C**** SORTIES:
C
C     DUDT          = derivé de la vitesse (a droite) par raport a
C                     T (droite)
C
C     DPDT          = derivé de la pression (a droite) par raport a
C                     T (droite)
C
C
C**** ATTENTION: Le calcul de DPDT, DUDT sur le choc gauche est possible
C                si TGS =! TG; sinon il y a des functions singulieres
C
C************************************************************************
C
C HISTORIQUE (Anomalies et modifications éventuelles)
C
C HISTORIQUE :  Créé le 08.02.00
C
C************************************************************************
C
C N.B.: Toutes les variables sont DECLAREES
C
      IMPLICIT INTEGER(I-N)
      REAL*8 RG,CVGS,AEQ1,RTG,DELSGS
     &      ,DA1DT,DDELDT
     &      ,DXDT,XSOL,PGS,TGS
     &      ,RC1,UG,UGS,UMXSOL,UPXSOL
     &      ,DUDT,DC1DT, DPDT
C
C**** DXDT = d(XSOL)/dT
C     XSOL t.c. RTG XSOL*XSOL + AEQ1 * XSOL - RTGS = 0
C     DA1DT = d(AEQ1)/dT
C
      DA1DT = (2.0D0 * CVGS) + RG
C
C**** DDELT = d(DELSGS)/dT
C
      DDELDT = ((AEQ1 * DA1DT) + (2.0D0 * RTG * RG))
     &         / DELSGS
      DXDT = 0.5D0 / RTG * (DDELDT - DA1DT)
C
C**** DC1DT = d(RC1)/dT = 2 cp(TGS)
C
      DC1DT = DA1DT + RG
      DUDT = ((DC1DT * UMXSOL)-(2.0D0 * RC1 / UPXSOL * DXDT))/UPXSOL
      DUDT = -0.5D0 * DUDT / (UG - UGS)
C
      DPDT =  (PGS / TGS) - (PGS * DXDT / XSOL)
      RETURN
      END





