Télécharger deto.eso

Retour à la liste

Numérotation des lignes :

deto
  1. C DETO SOURCE CB215821 20/11/25 13:24:54 10792
  2. SUBROUTINE DETO
  3. C-----------------------------------------------------------------------
  4. C Calcul les conditions Chapman-Jouguet (CJ), Adiabatic Isochore
  5. C Complete Combustion (AICC) et Zeldovitch-Neuman-Doringts (ZND)
  6. C d'un mélange O2/N2/H2/H2O.
  7. C-----------------------------------------------------------------------
  8. C
  9. C---------------------------
  10. C Phrase d'appel (GIBIANE) :
  11. C---------------------------
  12. C
  13. C CHP2 CHP3 CHP4 = DETO CHP1
  14. C
  15. C------------------------
  16. C Opérandes et résultat :
  17. C------------------------
  18. C
  19. C CHP1 : CHAMPOINT, composition du mélange, pression et température
  20. C composantes : 'O2 ', 'N2 ', 'H2 ', 'H2O ', 'P ', 'T '
  21. C CHP2 : CHAMPOINT, conditions Chapman-Jouguet (CJ)
  22. C composantes : 'RCJ ', 'TCJ ', 'PCJ ', 'TAUX', 'VCJ '
  23. C CHP3 : CHAMPOINT, idem Zeldovitch-Neuman-Doringts (ZND)
  24. C composantes : 'RZND', 'TZND', 'PZND'
  25. C CHP4 : CHAMPOINT, idem Adiabatic Isochore Complete Combustion (AICC)
  26. C composantes : 'RAIC', 'TAIC', 'PAIC'
  27. C
  28. C-----------------------------------------------------------------------
  29. C
  30. C Langage : ESOPE + FORTRAN77
  31. C
  32. C Auteurs : F.DABBENE et E.STUDER 02/99
  33. C
  34. C-----------------------------------------------------------------------
  35. IMPLICIT INTEGER(I-N)
  36. IMPLICIT REAL*8 (A-H,O-Z)
  37. CHARACTER*4 LCOMP(6)
  38. PARAMETER (NBC=4,NBT=14)
  39. DIMENSION AN(NBC),AH2(NBT),AH2O(NBT),AN2(NBT),AO2(NBT)
  40. C
  41.  
  42. -INC PPARAM
  43. -INC CCOPTIO
  44. -INC SMCHPOI
  45. -INC SMLMOTS
  46. C
  47. C- Création du LISTMOTS contenant le nom des composantes du CHAMPOINT :
  48. C- 'O2 ', 'N2 ', 'H2 ', 'H2O ', 'P ' et 'T ' décrivant
  49. C- respectivement le nombre de moles des différentes especes
  50. C- ainsi que la pression et la température du mélange.
  51. C
  52. IRET = 0
  53. JGN = LOCOMP
  54. JGM = 6
  55. SEGINI MLMOTS
  56. MOTS(1) = 'H2 '
  57. MOTS(2) = 'O2 '
  58. MOTS(3) = 'H2O '
  59. MOTS(4) = 'N2 '
  60. MOTS(5) = 'P '
  61. MOTS(6) = 'T '
  62. C
  63. C-----------------------------------------------------------------
  64. C- Evolution des propriétés thermodynamiques des constituants en
  65. C- fonction de la température. On retient les modèles de CHEMKIN :
  66. C-----------------------------------------------------------------
  67. C- cp/R = a1 + a2 T + a3 T**2 + a4 T**3 + a5 T**4
  68. C- H0/RT = a1 + a2 T/2 + a3 T**2 /3 + a4 T**3 /4 + a5 T**4 /5 + a6/T
  69. C- S0/R = a1 lnT + a2 T + a3 T**2 /2 + a4 T**3 /3 + a5 T**4 /4 + a7
  70. C
  71. C- On a donc besoin de 7 coefficients pour caractériser la dépendance
  72. C- à la température. De part et d'autre de la température seuil 1000K
  73. C- deux approximations différentes sont proposées -> 14 coefs/espece
  74. C
  75. C TINT --> Température seuil
  76. C IINT --> Nombre de coefficients nécessaire pour T donnée (7)
  77. C AH2 --> Coeffs a1 à a14 pour H2
  78. C AH2O --> Coeffs a1 à a14 pour H2O
  79. C AN2 --> Coeffs a1 à a14 pour N2
  80. C AO2 --> Coeffs a1 à a14 pour O2
  81. C
  82. C Référence : The CHEMKIN Thermodynamic Data Base, R.J.Kee, F.M.Rupley,
  83. C J.A.Miller, SANDIA Report, SAND87-8215B.
  84. C
  85. TINT = 1000.D0
  86. IINT = 7
  87. C
  88. AH2(1) = 0.02991423D+02
  89. AH2(2) = 0.07000644D-02
  90. AH2(3) = -0.05633829D-06
  91. AH2(4) = -0.09231578D-10
  92. AH2(5) = 0.01582752D-13
  93. AH2(6) = -0.08350340D+04
  94. AH2(7) = -0.01355110D+02
  95. AH2(8) = 0.03298124D+02
  96. AH2(9) = 0.08249442D-02
  97. AH2(10) = -0.08143015D-05
  98. AH2(11) = -0.09475434D-09
  99. AH2(12) = 0.04134872D-11
  100. AH2(13) = -0.01012521D+05
  101. AH2(14) = -0.03294094D+02
  102. C
  103. AH2O(1) = 0.02672146D+02
  104. AH2O(2) = 0.03056293D-01
  105. AH2O(3) = -0.08730260D-05
  106. AH2O(4) = 0.01200996D-08
  107. AH2O(5) = -0.06391618D-13
  108. AH2O(6) = -0.02989921D+06
  109. AH2O(7) = 0.06862817D+02
  110. AH2O(8) = 0.03386842D+02
  111. AH2O(9) = 0.03474982D-01
  112. AH2O(10) = -0.06354696D-04
  113. AH2O(11) = 0.06968581D-07
  114. AH2O(12) = -0.02506588D-10
  115. AH2O(13) = -0.03020811D+06
  116. AH2O(14) = 0.02590233D+02
  117. C
  118. AN2(1) = 0.02926640D+02
  119. AN2(2) = 0.01487977D-01
  120. AN2(3) = -0.05684761D-05
  121. AN2(4) = 0.01009704D-08
  122. AN2(5) = -0.06753351D-13
  123. AN2(6) = -0.09227977D+04
  124. AN2(7) = 0.05980528D+02
  125. AN2(8) = 0.03298677D+02
  126. AN2(9) = 0.01408240D-01
  127. AN2(10) = -0.03963222D-04
  128. AN2(11) = 0.05641515D-07
  129. AN2(12) = -0.02444855D-10
  130. AN2(13) = -0.01020900D+05
  131. AN2(14) = 0.03950372D+02
  132. C
  133. AO2(1) = 0.03697578D+02
  134. AO2(2) = 0.06135197D-02
  135. AO2(3) = -0.01258842D-05
  136. AO2(4) = 0.01775281D-09
  137. AO2(5) = -0.01136435D-13
  138. AO2(6) = -0.01233930D+05
  139. AO2(7) = 0.03189166D+02
  140. AO2(8) = 0.03212936D+02
  141. AO2(9) = 0.01127486D-01
  142. AO2(10) = -0.05756150D-05
  143. AO2(11) = 0.01313877D-07
  144. AO2(12) = -0.08768554D-11
  145. AO2(13) = -0.01005249D+05
  146. AO2(14) = 0.06034738D+02
  147. C
  148. C- Masse molaire en gramme des différents constituants
  149. C
  150. AN(1) = 2.01594D0
  151. AN(2) = 31.9988D0
  152. AN(3) = 18.01534D0
  153. AN(4) = 28.01340D0
  154. C
  155. C- Création du CHPOINT contenant l'ensemble des composantes cherchées,
  156. C- le CHAMPOINT étant laissé dans la pile afin que l'opérateur EXTR
  157. C- fasse son travail.
  158. C
  159. CALL ECROBJ('LISTMOTS',MLMOTS)
  160. CALL EXCOMP
  161. IF (IERR.NE.0) RETURN
  162. CALL LIROBJ('CHPOINT',ICHP1,1,IRETOU)
  163. IF (IERR.NE.0) RETURN
  164. C
  165. C- Test du CHAMPOIN :
  166. C- 1) le CHPO n'est pas partitionné (i.e. on a toutes les composantes
  167. C- en tous les points), sinon erreur
  168. C- 110 2 Le %m1:8 de pointeur %i1 n'est pas élémentaire (n<>1)
  169. C- 2) les composantes sont dans l'ordre du LISTMOTS, sinon erreur
  170. C- 735 2 La composante %m1:4 est inexistante ou mal positionnee
  171. C- dans une connectivite
  172. C
  173. MCHPOI = ICHP1
  174. SEGACT MCHPOI
  175. SEGACT MLMOTS
  176. N1 = IPCHP(/1)
  177. IF (N1.NE.1) THEN
  178. MOTERR(1:8) = 'CHAMPOIN'
  179. INTERR(1) = ICHP1
  180. CALL ERREUR(110)
  181. RETURN
  182. ENDIF
  183. MSOUPO = IPCHP(1)
  184. SEGACT MSOUPO
  185. DO 10 I=1,NOCOMP(/2)
  186. IF (MOTS(I).NE.NOCOMP(I)) THEN
  187. MOTERR= MOTS(I)
  188. CALL ERREUR(735)
  189. RETURN
  190. ENDIF
  191. 10 CONTINUE
  192. SEGSUP MCHPOI
  193. SEGSUP MLMOTS
  194. C
  195. C- Passage à la phase de calcul
  196. C
  197. CALL DETO1(MSOUPO,MCHPO1,MCHPO2,MCHPO3,
  198. 1 AN,AH2,AH2O,AN2,AO2,TINT,IINT,NBC,NBT)
  199. SEGSUP MSOUPO
  200. IF (IERR.NE.0) RETURN
  201. C
  202. C- Ecriture des résultats dans la pile
  203. C
  204. CALL ECROBJ('CHPOINT',MCHPO3)
  205. CALL ECROBJ('CHPOINT',MCHPO2)
  206. CALL ECROBJ('CHPOINT',MCHPO1)
  207. C
  208. RETURN
  209. END
  210.  
  211.  
  212.  
  213.  
  214.  

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