Download mpAUSM.eso

Back to the list

   1 : C MPAUSM    SOURCE    BECC      05/12/02    21:15:51     5258           
   2 :       SUBROUTINE mpAUSM(ML, MR, Mkplus, Mkmin, Pkplus, Pkmin)
   3 : C***********************************************************************
   4 : C NOM         : mpAUSM
   5 : C DESCRIPTION :
   6 : C
   7 : C
   8 : C
   9 : C LANGAGE     : ESOPE
  10 : C AUTEUR      : José R. Garcia Cascales (CEA/DEN/DM2S/SFME/LTMF)
  11 : C               mél : fd1@semt2.smts.cea.fr
  12 : C***********************************************************************
  13 : C APPELES          : 
  14 : C APPELES (E/S)    :
  15 : C                   INPUTS:   ML, MR 
  16 : C                   OUTPUTS:  MPLUS, MMINUS, PPLUS, PMINUS
  17 : C APPELES (BLAS)   :
  18 : C APPELES (CALCUL) :
  19 : C APPELE PAR       :
  20 : C***********************************************************************
  21 : C SYNTAXE GIBIANE    :
  22 : C ENTREES            :
  23 : C ENTREES/SORTIES    :
  24 : C SORTIES            :
  25 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  26 : C***********************************************************************
  27 : C VERSION    : v1, 19/02/2001, version initiale
  28 : C***********************************************************************
  29 : *     
  30 : * Executable statements
  31 : *
  32 :       real*8 ML, MR, Mkplus, Mkmin, Pkplus, Pkmin
  33 : 
  34 :       real*8 Mm, MPLUS, MMIN, PPLUS, PMIN,
  35 :      &       MPLUS2, MMIN2,
  36 :      &       A_AUSM, B_AUSM
  37 :       parameter(A_AUSM = 0.1875D0)
  38 :       parameter(B_AUSM = 0.125D0)
  39 :       
  40 : C     Calculation of MPLUS and PPLUS
  41 : 
  42 :       if(DABS(ML) .GE. 1.D0) then
  43 :          MPLUS2 = 0.5D0*(ML + DABS(ML))
  44 :       else
  45 :          MPLUS2 = 0.25D0*(ML + 1.D0)**2
  46 :       end if
  47 :       if(DABS(ML) .GE. 1.D0) then
  48 :          MMIN2 = 0.5D0*(ML - DABS(ML))
  49 :       else
  50 :          MMIN2 = -0.25D0*(ML - 1.D0)**2
  51 :       end if
  52 : 
  53 :       if(DABS(ML) .GE. 1) then
  54 :          MPLUS =  0.5D0*(ML + DABS(ML))
  55 :       else
  56 :          MPLUS = MPLUS2*(1.D0 - B_AUSM*16.D0*MMIN2)
  57 :       end if
  58 : 
  59 :       if (DABS(ML) .GE. 1) then
  60 :          PPLUS = (0.5D0*(ML + DABS(ML)))/ML
  61 :       else
  62 :          PPLUS = MPLUS2*(2.D0 - ML - A_AUSM*16.D0*ML*MMIN2)
  63 :       end if
  64 : 
  65 : C     Calculation of MMIN
  66 : 
  67 :       if(DABS(MR) .GE. 1.D0) then
  68 :          MPLUS2 = 0.5D0*(MR + DABS(MR))
  69 :       else
  70 :          MPLUS2 = 0.25D0*(MR + 1.D0)**2
  71 :       end if
  72 :       if(DABS(MR) .GE. 1.D0) then
  73 :          MMIN2 = 0.5D0*(MR - DABS(MR))
  74 :       else
  75 :          MMIN2 = -0.25D0*(MR - 1.D0)**2
  76 :       end if
  77 : 
  78 :       if (DABS(MR) .GE. 1) then
  79 :          MMIN = 0.5D0*(MR - DABS(MR))
  80 :       else
  81 :          MMIN = MMIN2*(1.D0 + B_AUSM*16.D0*MPLUS2)
  82 :       end if
  83 : 
  84 :       if (DABS(MR) .GE. 1) then
  85 :          PMIN = (0.5D0*(MR - DABS(MR)))/MR
  86 :       else
  87 :          PMIN = -MMIN2*(2.D0 + MR - A_AUSM*16.D0*MR*MPLUS2)
  88 :       end if
  89 :       
  90 :       Mm = MPLUS + MMIN
  91 : 
  92 :       Mkplus = 0.5D0*(Mm + DABS(Mm))
  93 :       Mkmin = 0.5D0*(Mm - DABS(Mm))
  94 : 
  95 :       Pkplus = PPLUS
  96 :       Pkmin = PMIN
  97 :       
  98 :       END
  99 : 
 100 :  

© Cast3M 2003 - All rights reserved.
Disclaimer