Télécharger fsmvl2.eso

Retour à la liste

Numérotation des lignes :

fsmvl2
  1. C FSMVL2 SOURCE CHAT 05/01/13 00:10:19 5004
  2. SUBROUTINE FSMVL2(NESP,NSCA,GAMD,ROD,MD,AD,UTD,UVD,HTD,Y,S,FLUX)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : FSMVL2
  8. C
  9. C DESCRIPTION : Voir FVLHT2
  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 NSCA = nombre de scalaires passifs a transporter
  28. C
  29. C GAMD = le "gamma" (à droite)
  30. C
  31. C ROD = la densité
  32. C
  33. C MD = nombre de Mach (normale)
  34. C
  35. C AD = vitesse du son
  36. C
  37. C UTD = vitesse tangentielle
  38. C
  39. C Y = table des fractiones massiques
  40. C
  41. C S = table des scalaires passifs
  42. C
  43. C**** Sorties:
  44. C
  45. C FLUX = table du flux "droite -> gauche" à
  46. C l'interface
  47. C
  48. C************************************************************************
  49. C
  50. C HISTORIQUE (Anomalies et modifications éventuelles)
  51. C
  52. C HISTORIQUE : Créé le 21.02.00
  53. C
  54. C************************************************************************
  55. C
  56. C N.B.: Toutes les variables sont declarées explicitement
  57. C
  58. CC
  59. IMPLICIT INTEGER(I-N)
  60. INTEGER I1, NESP, NSCA
  61. REAL*8 GAMD,ROD,MD,AD,UTD,UVD,HTD
  62. & ,GM1D,MMINUS, CELL, CELLM
  63. & ,Y(*),FLUX(*),S(*)
  64. C
  65. C**** N.B. :
  66. C
  67. C FLUX(2) = MMINUS * AD * ROD * UND + PMINUS * PD
  68. C
  69. C PD = ROD * AD * AD / GAMD
  70. C
  71. C ABS(MD) < 1 -> PMINUS = - MMINUS * (2 + MD)
  72. C
  73. C ABS(MD) > 1 -> PMINUS = - MMINUS / MD
  74. C
  75. GM1D = GAMD - 1.0D0
  76. IF(ABS(MD) .LE. 1.0D0)THEN
  77. MMINUS = 0.5D0 * (MD - 1.0D0)
  78. MMINUS = -1.0D0 * MMINUS * MMINUS
  79. CELL = (GM1D * MD - 2.0D0)*AD/GAMD
  80. ELSE
  81. MMINUS = 0.5D0 * (MD - ABS(MD))
  82. CELL = (MD + 1.0D0/GAMD/MD)*AD
  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 * UVD
  90. FLUX(5) = CELLM * HTD
  91. C
  92. C**** N.B. NESP = 0 -> no boucle
  93. C
  94. DO I1 = 1, NESP
  95. FLUX(5+I1) = CELLM * Y(I1)
  96. ENDDO
  97. C
  98. C**** N.B. NSCA = 0 -> no boucle
  99. C
  100. DO I1 = 1, NSCA, 1
  101. FLUX(5+I1+NESP) = CELLM * S(I1)
  102. ENDDO
  103. C
  104. RETURN
  105. END
  106.  
  107.  
  108.  
  109.  
  110.  

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