Télécharger flumvl.eso

Retour à la liste

Numérotation des lignes :

flumvl
  1. C FLUMVL SOURCE CHAT 05/01/13 00:04:31 5004
  2. SUBROUTINE FLUMVL(NESP,GAMD,ROD,MD,AD,UTD,HTD,Y,FLUX)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : FLUMVL
  8. C
  9. C DESCRIPTION : Voir FLUXVL
  10. C
  11. C Onde de Droite à Gauche
  12. C
  13. C LANGAGE : 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. C
  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(*),CELL1,CELLH
  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. CELL1 = GM1D*MD-2.0D0
  77. CELLH = AD * AD * CELL1 * CELL1 / (GAMD * GAMD - 1.0D0)
  78. CELLH = 0.5D0 * (UTD * UTD + CELLH)
  79. ELSE
  80. MMINUS = 0.5D0 * (MD - ABS(MD))
  81. CELL = (MD + 1.0D0/GAMD/MD)*AD
  82. CELLH = HTD
  83. ENDIF
  84. C
  85. CELLM = MMINUS * AD * ROD
  86. FLUX(1) = CELLM
  87. FLUX(2) = CELLM * CELL
  88. FLUX(3) = CELLM * UTD
  89. FLUX(4) = CELLM * CELLH
  90. C
  91. C**** N.B. NESP = 0 -> no boucle
  92. C
  93. DO I1 = 1, NESP
  94. FLUX(4+I1) = CELLM * Y(I1)
  95. ENDDO
  96. C
  97. RETURN
  98. END
  99.  
  100.  
  101.  
  102.  

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