Télécharger mpfunt.eso

Retour à la liste

Numérotation des lignes :

mpfunt
  1. C MPFUNT SOURCE CHAT 05/01/13 01:52:26 5004
  2. SUBROUTINE MPFUNT(MACH,MNUM,DERMNU,PNUM,DERPNU)
  3. C
  4. C************************************************************************
  5. C
  6. C PROJET : CASTEM 2000
  7. C
  8. C NOM : MPFUNT
  9. C
  10. C DESCRIPTION : Voir VLHJ1
  11. C (fonction M+, P+ pour le calcul de flux dans
  12. C van Leer-Hanel)
  13. C
  14. C LANGUAGE : FORTRAN 77
  15. C
  16. C AUTEUR : A. BECCANTINI DRN/DMT/SEMT/LTMF
  17. C
  18. C************************************************************************
  19. C
  20. C APPELES : aucun
  21. C
  22. C************************************************************************
  23. C
  24. C**** Entrées:
  25. C
  26. C MACH = nombre de Mach (normale)
  27. C
  28. C**** Sorties:
  29. C
  30. C MNUM = M+(MACH)
  31. C
  32. C DERMNU = dM+(MACH)/dMACH
  33. C
  34. C PNUM = PNUM(MACH)
  35. C
  36. C DERPNUM = dPNUM(MACH)/dMACH
  37. C
  38. C************************************************************************
  39. C
  40. C HISTORIQUE (Anomalies et modifications éventuelles)
  41. C
  42. C HISTORIQUE : Créé le 31.08.00
  43. C
  44. C************************************************************************
  45. C
  46. C N.B.: Toutes les variables sont declarées explicitement
  47. C
  48. IMPLICIT INTEGER(I-N)
  49. REAL*8 MACH,MNUM,DERMNU,PNUM,DERPNU,MP1
  50. C
  51. IF(ABS(MACH) .LT. 1.0D0)THEN
  52. MP1=MACH + 1.0D0
  53. MNUM=0.25D0*MP1*MP1
  54. DERMNU=0.5D0*MP1
  55. PNUM=MNUM*(2.0D0 - MACH)
  56. DERPNU=0.75D0*MP1*(1.0D0-MACH)
  57. ELSE
  58. MNUM=0.5D0*(MACH+ABS(MACH))
  59. DERMNU=0.5D0*(1.0D0+SIGN(1.0D0,MACH))
  60. PNUM=DERMNU
  61. DERPNU=0.0D0
  62. ENDIF
  63. RETURN
  64. END
  65.  
  66.  
  67.  
  68.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales