Télécharger todiff.eso

Retour à la liste

Numérotation des lignes :

todiff
  1. C TODIFF SOURCE CB215821 20/11/25 13:41:08 10792
  2. SUBROUTINE TODIFF
  3. C
  4. C--------------------------------------------------------------------
  5. C Evaluation du coefficient de diffusion de la vapeur dans un mélange
  6. C de gaz pour une pression et une température donnée
  7. C--------------------------------------------------------------------
  8. C
  9. C---------------------------
  10. C Phrase d'appel (GIBIANE) :
  11. C---------------------------
  12. C
  13. C CHP1 = TODIFF TAB1 ;
  14. C
  15. C------------------------
  16. C Opérandes et résultat :
  17. C------------------------
  18. C
  19. C TAB1 : TABLE SET contenant l'ensemble des data 0D
  20. C CHP1 : CHPO de support CELL contenant le coefficient de diffusion
  21. C de la vapeur dans le mélange de gaz (en m2/s)
  22. C
  23. C--------------------------------------------------------------------
  24. C
  25. IMPLICIT INTEGER(I-N)
  26. IMPLICIT REAL*8 (A-H,O-Z)
  27. CHARACTER*4 NOMTOT(1)
  28. CHARACTER*8 TYPE,TYPS,MTYPI,MTYPR,MOT1,MOT2,BETA(7)
  29. CHARACTER*72 CHARR
  30. LOGICAL LOGI,LOGR
  31. C
  32.  
  33. -INC PPARAM
  34. -INC CCOPTIO
  35. -INC SMCHPOI
  36. -INC SMELEME
  37. -INC SMTABLE
  38. SEGMENT IWORK
  39. REAL*8 V(NBCONS,3),W(NBCELL,2)
  40. CHARACTER*8 BETA(NBCONS)
  41. ENDSEGMENT
  42. C
  43. C- Lecture et controles des données d'entrée,
  44. C
  45. C MTAB1 : Table SET
  46. C MTAB2 : Table INCO
  47. C MTAB3 : Table COMPONENT
  48. C MTAB4 : Table GEOINF
  49. C
  50. CALL LIRTAB('SET',MTAB1,1,IRETOU)
  51. IF (IERR.NE.0) RETURN
  52. MTYPI = 'MOT '
  53. MTYPR = 'TABLE '
  54. CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'INCO',LOGI,IRETI,
  55. & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB2)
  56. IF (IERR.NE.0) RETURN
  57. CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'COMPONENT',LOGI,IRETI,
  58. & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB3)
  59. IF (IERR.NE.0) RETURN
  60. CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'GEOINF',LOGI,IRETI,
  61. & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB4)
  62. IF (IERR.NE.0) RETURN
  63. C
  64. C IPT1 : Maillage POI1 des CELLs
  65. C
  66. TYPE = 'MAILLAGE'
  67. CALL ACMO(MTAB4,'CELL',TYPE,IPT1)
  68. IF (IERR.NE.0) RETURN
  69. C
  70. C MCHPO1 : Pression
  71. C MCHPO2 : Température
  72. C
  73. TYPE = 'CHPOINT '
  74. TYPS = ' '
  75. CALL ACMO(MTAB2,'PT',TYPE,MCHPO1)
  76. CALL LRCHT(MCHPO1,MPOVA1,TYPS,IGEO1)
  77. IF (IERR.NE.0) RETURN
  78. IF (IGEO1.NE.IPT1) THEN
  79. INDIC = 1
  80. NBCOMP = -1
  81. CALL QUEPOI(MCHPO1,IPT1,INDIC,NBCOMP,NOMTOT)
  82. IF (IERR.NE.0) RETURN
  83. CALL LRCHT(MCHPO1,MPOVA1,TYPS,IGEO1)
  84. ENDIF
  85. C
  86. TYPE = 'CHPOINT '
  87. CALL ACMO(MTAB2,'TGAS',TYPE,MCHPO2)
  88. IF (IERR.NE.0) RETURN
  89. CALL LRCHT(MCHPO2,MPOVA2,TYPS,IGEO1)
  90. IF (IGEO1.NE.IPT1) THEN
  91. INDIC = 1
  92. NBCOMP = -1
  93. CALL QUEPOI(MCHPO2,IPT1,INDIC,NBCOMP,NOMTOT)
  94. IF (IERR.NE.0) RETURN
  95. CALL LRCHT(MCHPO2,MPOVA2,TYPS,IGEO1)
  96. ENDIF
  97. C
  98. C Création du segment IWORK
  99. C Ordre des constituants : H2O, H2, He, N2, O2, CO2, CO
  100. C
  101. SEGACT IPT1
  102. NBCELL = IPT1.NUM(/2)
  103. SEGDES IPT1
  104. NBCONS = 7
  105. SEGINI IWORK
  106. C
  107. C- Liste des constituants autorisés
  108. BETA(1) = 'H2O '
  109. BETA(2) = 'H2 '
  110. BETA(3) = 'HE '
  111. BETA(4) = 'N2 '
  112. BETA(5) = 'O2 '
  113. BETA(6) = 'CO2 '
  114. BETA(7) = 'CO '
  115. C
  116. C- Masse molaire (en kg/mol)
  117. V(1,1) = 0.018D0
  118. V(2,1) = 0.002D0
  119. V(3,1) = 0.004D0
  120. V(4,1) = 0.028D0
  121. V(5,1) = 0.032D0
  122. V(6,1) = 0.044D0
  123. V(7,1) = 0.028D0
  124. C
  125. C- Coefficient intervenant dans l'expression de la loi de diffusion
  126. C- de la vapeur dans le constituant de rang i lorsqu'il est seul
  127. V(1,2) = 0.277D-4
  128. V(2,2) = 0.780D-4
  129. V(3,2) = 0.730D-4
  130. V(4,2) = 0.227D-4
  131. V(5,2) = 0.240D-4
  132. V(6,2) = 0.155D-4
  133. V(7,2) = 0.220D-4
  134. C
  135. C- Puissance intervenant dans l'expression de la loi de diffusion
  136. C- de la vapeur dans le constituant de rang i lorsqu'il est seul
  137. V(1,3) = 0.00D0
  138. V(2,3) = 1.75D0
  139. V(3,3) = 1.75D0
  140. V(4,3) = 1.75D0
  141. V(5,3) = 1.71D0
  142. V(6,3) = 1.75D0
  143. V(7,3) = 1.75D0
  144. C
  145. SEGACT MTAB3
  146. IDIM1 = MTAB3.MLOTAB
  147. DO 40 I=1,IDIM1
  148. CALL ACEM(MTAB3,I,MOT1)
  149. MOT2 = 'R' // MOT1(1:7)
  150. TYPE = 'CHPOINT '
  151. CALL ACMO(MTAB2,MOT2,TYPE,MCHPO3)
  152. IF (IERR.NE.0) RETURN
  153. II = 0
  154. DO 10 K=1,NBCONS
  155. IF (BETA(K).EQ.MOT1) THEN
  156. II = K
  157. GOTO 20
  158. ENDIF
  159. 10 CONTINUE
  160. C Le mot %m1:4 n'est pas un nom de composante reconnu
  161. MOTERR(1:4) = MOT1(1:4)
  162. CALL ERREUR(197)
  163. RETURN
  164. 20 CONTINUE
  165. CALL LRCHT(MCHPO3,MPOVA3,TYPS,IGEO1)
  166. IF (IGEO1.NE.IPT1) THEN
  167. INDIC = 1
  168. NBCOMP = -1
  169. CALL QUEPOI(MCHPO3,IPT1,INDIC,NBCOMP,NOMTOT)
  170. IF (IERR.NE.0) RETURN
  171. CALL LRCHT(MCHPO3,MPOVA3,TYPS,IGEO1)
  172. ENDIF
  173. A1 = V(II,1)
  174. A2 = V(II,2)
  175. A3 = V(II,3)
  176. DO 30 J=1,NBCELL
  177. DVIIJ = A2 / (MPOVA1.VPOCHA(J,1) * 1.D-5)
  178. & * ((MPOVA2.VPOCHA(J,1) / 273.15D0) ** A3)
  179. GIIJ = MPOVA3.VPOCHA(J,1) / A1
  180. W(J,1) = W(J,1) + GIIJ
  181. W(J,2) = W(J,2) + GIIJ/DVIIJ
  182. 30 CONTINUE
  183. SEGDES MPOVA3
  184. 40 CONTINUE
  185. SEGDES MTAB3,MPOVA1,MPOVA2
  186. C
  187. C- Création/remplissage du chpo contenant le coefficient de diffusion
  188. C- de la vapeur dans le mélange de gaz
  189. C
  190. SEGINI, MCHPOI=MCHPO1
  191. NC = 1
  192. SEGINI MSOUPO
  193. SEGINI, MPOVAL=MPOVA1
  194. IPCHP(1) = MSOUPO
  195. NOCOMP(1) = 'DVAP'
  196. IGEOC = IPT1
  197. IPOVAL = MPOVAL
  198. NOHARM(1) = NIFOUR
  199. DO 50 I=1,NBCELL
  200. VPOCHA(I,1) = W(I,1) / W(I,2)
  201. 50 CONTINUE
  202. SEGDES MCHPOI,MSOUPO,MPOVAL
  203. C
  204. SEGSUP IWORK
  205. CALL ECROBJ('CHPOINT ',MCHPOI)
  206. RETURN
  207. END
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  

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