C FUAUSM    SOURCE    CHAT      05/01/13    00:11:14     5004
      SUBROUTINE FUAUSM(ALPHA,BETA,MG,MD,MPLUS,MMINUS,PPLUS,PMINUS)
C************************************************************************
C
C PROJET            :  CASTEM 2000
C
C NOM               :  FUAUSM
C
C DESCRIPTION       :  voir FAUSMP, FAUSM2
C
C LANGUAGE          :  FORTRAN 77
C
C AUTEUR            :  A. BECCANTINI DRN/DMT/SEMT/LTMF
C
C************************************************************************
C
C APPELES
C
C NONE
C
C
C************************************************************************
C
C**** Entrées:
C
C     ALPHA, BETA     =  parametres reels
C
C     MG, MD          =  nombres de MACH (gauche et droite) normales
C
C**** Sorties:
C
C     MPLUS, MMINUS
C     PPLUS, PMINUS   =  parametres qui interviennent dans le calcul
C                        de flux numerique AUSM+
C
C************************************************************************
C
C HISTORIQUE (Anomalies et modifications éventuelles)
C
C HISTORIQUE :  Créé le 30.10.2000
C
C************************************************************************
C
C N.B.: Toutes les variables sont DECLAREES
C
      IMPLICIT INTEGER(I-N)
      REAL*8 ALPHA,BETA,MG,MD,MPLUS,MMINUS,PPLUS,PMINUS
C
C**** Machs AUSM+
C
C
      IF(ABS(MG).GT.1.0D0)THEN
         MPLUS=0.5D0*(MG+ABS(MG))
      ELSE
         MPLUS=0.25D0 * ((MG+1.0D0)**2) + (BETA * ((MG**2 - 1.0D0)**2))
      ENDIF
*
      IF(ABS(MD).GT.1.0D0)THEN
        MMINUS=0.5D0*(MD-ABS(MD))
      ELSE
        MMINUS=-0.25D0 * ((MD-1.0D0)**2) - (BETA * ((MD**2 - 1.0D0)**2))
      ENDIF
C
C     N.B. MMINUS(M) = - MMPLUS(-M)
C
C**** PPLUS, PMINUS
C
*
      IF(ABS(MG).GT.1.0D0)THEN
        PPLUS=0.5D0*(1+ABS(MG)/MG)
      ELSE
        PPLUS=0.25D0 * ((MG+1.0D0)**2) * (2.0D0-MG) +
     *         ALPHA * MG * ((MG**2 - 1.0D0)**2)
      ENDIF
*
      IF(ABS(MD).GT.1.0D0)THEN
        PMINUS=0.5D0*(1-ABS(MD)/MD)
      ELSE
        PMINUS=0.25D0 * ((MD-1.0D0)**2) * (2.0D0+MD)
     *          - ALPHA * MD * ((MD**2 - 1.0D0)**2)
      ENDIF
C
C     N.B. PMINUS(M) = PPLUS(-M)
C
      RETURN
      END


