Télécharger flamb1.eso

Retour à la liste

Numérotation des lignes :

  1. C FLAMB1 SOURCE CHAT 05/01/13 00:03:21 5004
  2. SUBROUTINE FLAMB1(NC,DT,A,B,C,TA,TSEUIL,H0H2,H0O2,H0H2O,TEMP,
  3. & RYH2, RYO2, RYH2O,
  4. & DE, NRYH2, NRYO2, NRYH2O,
  5. & LOGNEG, MESERR, VALER)
  6. C************************************************************************
  7. C
  8. C PROJET : CASTEM 2000
  9. C
  10. C NOM : FLAMB1
  11. C
  12. C DESCRIPTION : voir FLAMB
  13. C
  14. C Calculs
  15. C
  16. C LANGAGE : FORTRAN 77 (avec extensions F90)
  17. C
  18. C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/LTMF
  19. C
  20. C************************************************************************
  21. C
  22. C
  23. C APPELES (E/S) : /
  24. C
  25. C APPELES (Calcul) : /
  26. C
  27. C
  28. C************************************************************************
  29. C
  30. C ENTREES :
  31. C
  32. C NC = nombre de points centre
  33. C
  34. C DT = interval de temps
  35. C
  36. C A, B, C, TA = constantes de la cinetique chmimique (voir
  37. C FLAMB)
  38. C
  39. C TSEUIL(NC) = champ de la temperature de seuil
  40. C
  41. C H0H2, H0O2, HOH2O = enthalpie de formation a 0K (J/kg)
  42. C
  43. C TEMP(NC) = champ de temperature
  44. C
  45. C RYH2(NC) = masse volumique d'hydrogene (initial)
  46. C
  47. C RYO2(NC) = masse volumique d'oxygene
  48. C
  49. C RYH2O(NC) = masse volumique d'eau
  50. C
  51. C SORTIES :
  52. C
  53. C DE(NC) = variation d'energie thermique a suite de la reaction
  54. C
  55. C NRYH2(NC) = masse volumique d'hydrogene (final)
  56. C
  57. C NRYO2(NC) = masse volumique d'oxygene
  58. C
  59. C NRYH2O(NC) = masse volumique d'eau
  60. C
  61. C************************************************************************
  62. C
  63. C HISTORIQUE (Anomalies et modifications éventuelles)
  64. C
  65. C HISTORIQUE : Créée le 25.2.99
  66. C
  67. C************************************************************************
  68. C
  69. C
  70. C**** Les variables
  71. C
  72. IMPLICIT INTEGER(I-N)
  73. INTEGER I1, NC
  74. REAL*8 MH2,MO2,MH2O,DT, A, B, C, TA, H0H2, H0O2, H0H2O, VALER
  75. & ,TSEUIL(NC),RYH2(NC),RYO2(NC),RYH2O(NC), DE(NC)
  76. & ,NRYH2(NC),NRYO2(NC),NRYH2O(NC), TEMP(NC)
  77. & ,TEMP0, TSEU0, RYH2I, RYO2I, RYH2OI
  78. & ,XH2, XO2, LAMBDA, CELL, DRYH2, DRYO2, DRYH2O, DMOL
  79. CHARACTER*(8) MESERR
  80. LOGICAL LOGNEG
  81. PARAMETER(MH2=2.016D-3,MO2=31.998D-3,MH2O=18.015D-3)
  82. C
  83. DO I1 = 1, NC
  84. TEMP0 = TEMP(I1)
  85. TSEU0 = TSEUIL(I1)
  86. RYH2I = RYH2(I1)
  87. RYO2I = RYO2(I1)
  88. RYH2OI = RYH2O(I1)
  89. IF(RYH2I .LT. 0.0D0)THEN
  90. LOGNEG = .TRUE.
  91. VALER = RYH2I
  92. MESERR = 'RYH2 '
  93. GOTO 9999
  94. ENDIF
  95. IF(RYO2I .LT. 0.0D0)THEN
  96. LOGNEG = .TRUE.
  97. VALER = RYO2I
  98. MESERR = 'RYO2 '
  99. GOTO 9999
  100. ENDIF
  101. IF(RYH2OI .LT. 0.0D0)THEN
  102. LOGNEG = .TRUE.
  103. VALER = RYH2OI
  104. MESERR = 'RYH2O '
  105. GOTO 9999
  106. ENDIF
  107. IF(TEMP0 .GE. TSEU0)THEN
  108. C
  109. C********** A la recherche de l'espece majortitaire
  110. C
  111. C XH2 = mole / m^3 d'H2
  112. C
  113. XH2 = RYH2I / MH2
  114. XO2 = RYO2I / MO2
  115. IF(XH2 .GE. (2.0D0 * XO2))THEN
  116. C
  117. C H2 majoritaire -> on integre O2
  118. C
  119. LAMBDA = EXP(-1.0D0*TA/TEMP0)
  120. LAMBDA = LAMBDA * (TEMP0 ** (-1.0D0*B))
  121. LAMBDA = LAMBDA * (RYH2I ** C)
  122. LAMBDA = LAMBDA * MO2 * A
  123. CELL = RYO2I / (1.0D0 + (LAMBDA * DT))
  124. DRYO2 = CELL - RYO2I
  125. DMOL = DRYO2 / MO2
  126. DRYH2 = 2.0D0 * DMOL * MH2
  127. DRYH2O = -2.0D0 * DMOL * MH2O
  128. NRYO2(I1) = CELL
  129. NRYH2(I1) = RYH2I + DRYH2
  130. NRYH2O(I1) = RYH2OI + DRYH2O
  131.  
  132. ELSE
  133. C
  134. C O2 majoritaire -> On integre H2
  135. C
  136. LAMBDA = EXP(-1.0D0*TA/TEMP0)
  137. LAMBDA = LAMBDA * (TEMP0 ** (-1.0D0*B))
  138. LAMBDA = LAMBDA * (RYH2I ** (C-1.0D0)) * RYO2I
  139. LAMBDA = 2.0D0 * LAMBDA * MH2 * A
  140. CELL = RYH2I / (1.0D0 + (LAMBDA * DT))
  141. DRYH2 = CELL - RYH2I
  142. DMOL = DRYH2 / MH2 / 2.0D0
  143. DRYO2 = DMOL * MO2
  144. DRYH2O = -2.0D0 * DMOL * MH2O
  145. NRYH2(I1) = CELL
  146. NRYO2(I1) = RYO2I + DRYO2
  147. NRYH2O(I1) = RYH2OI + DRYH2O
  148. ENDIF
  149. DE(I1) = (DRYH2 * H0H2) + (DRYO2 * H0O2) + (DRYH2O * H0H2O)
  150. DE(I1) = -1.0D0 * DE(I1)
  151. ENDIF
  152. ENDDO
  153. C
  154. 9999 CONTINUE
  155. C
  156. RETURN
  157. END
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  

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