Télécharger flmvlh.eso

Retour à la liste

Numérotation des lignes :

flmvlh
  1. C FLMVLH SOURCE CHAT 05/01/13 00:03:55 5004
  2. SUBROUTINE FLMVLH(NESP,GAMD,ROD,MD,AD,UTD,HTD,Y,FLUX)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : FLMVLH
  8. C
  9. C DESCRIPTION : Voir FLUVLH
  10. C
  11. C Onde de Droite à Gauche
  12. C
  13. C LANGUAGE : FORTRAN 77
  14. C
  15. C AUTEUR : A. BECCANTINI DRN/DMT/SEMT/TTMF
  16. C
  17. C************************************************************************
  18. C
  19. C APPELES : AUCUN
  20. C
  21. C************************************************************************
  22. C
  23. C**** Entrées:
  24. C
  25. C NESP = nombre d'especes in FRAMAS
  26. C
  27. C GAMD = le "gamma" (à droite)
  28. C
  29. C ROD = la densité
  30. C
  31. C MD = nombre de Mach (normale)
  32. C
  33. C AD = vitesse du son
  34. C
  35. C UTD = vitesse tangentielle
  36. C
  37. C Y = table des fractiones massiques
  38. C
  39. C**** Sorties:
  40. C
  41. C FLUX = table du flux "droite -> gauche" à
  42. C l'interface
  43. C
  44. C************************************************************************
  45. C
  46. C HISTORIQUE (Anomalies et modifications éventuelles)
  47. C
  48. C HISTORIQUE : Créé le 6.1.98
  49. C
  50. C************************************************************************
  51. C
  52. C N.B.: Toutes les variables sont declarées explicitement
  53. C
  54. CC
  55. IMPLICIT INTEGER(I-N)
  56. INTEGER I1, NESP
  57. REAL*8 GAMD,ROD,MD,AD,UTD,HTD
  58. & ,GM1D,MMINUS, CELL, CELLM
  59. & ,Y(*),FLUX(*)
  60. C
  61. C**** N.B. :
  62. C
  63. C FLUX(2) = MMINUS * AD * ROD * UND + PMINUS * PD
  64. C
  65. C PD = ROD * AD * AD / GAMD
  66. C
  67. C ABS(MD) < 1 -> PMINUS = - MMINUS * (2 + MD)
  68. C
  69. C ABS(MD) > 1 -> PMINUS = - MMINUS / MD
  70. C
  71. GM1D = GAMD - 1.0D0
  72. IF(ABS(MD) .LE. 1.0D0)THEN
  73. MMINUS = 0.5D0 * (MD - 1.0D0)
  74. MMINUS = -1.0D0 * MMINUS * MMINUS
  75. CELL = (GM1D * MD - 2.0D0)*AD/GAMD
  76. ELSE
  77. MMINUS = 0.5D0 * (MD - ABS(MD))
  78. CELL = (MD + 1.0D0/GAMD/MD)*AD
  79. ENDIF
  80. C
  81. CELLM = MMINUS * AD * ROD
  82. FLUX(1) = CELLM
  83. FLUX(2) = CELLM * CELL
  84. FLUX(3) = CELLM * UTD
  85. FLUX(4) = CELLM * HTD
  86. C
  87. C**** N.B. NESP = 0 -> no boucle
  88. C
  89. DO I1 = 1, NESP
  90. FLUX(4+I1) = CELLM * Y(I1)
  91. ENDDO
  92. C
  93. RETURN
  94. END
  95.  
  96.  
  97.  
  98.  

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