Download deto.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer