Download todiff.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer