Download pre3.eso

Back to the list

   1 : C PRE3      SOURCE    CHAT      05/01/13    02:25:02     5004           
   2 :       SUBROUTINE PRE3()
   3 : C************************************************************************
   4 : C
   5 : C PROJET            :  CASTEM 2000
   6 : C
   7 : C NOM               :  PRE3
   8 : C
   9 : C DESCRIPTION       :  Voir PRET 
  10 : C
  11 : C                      Resolution des Equations d'Euler, VF,
  12 : C                     "cell-centred approach"
  13 : C      
  14 : C                      Calcul des etats "gauche et droit" aux
  15 : C                      interfaces pour le modele de gaz
  16 : C                      mono/multiespeces "thermally perfect".
  17 : C     
  18 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
  19 : C      
  20 : C AUTEUR            :  A. BECCANTINI, DRN/DMT/SEMT/TTMF
  21 : C     
  22 : C************************************************************************
  23 : C
  24 : C
  25 : C APPELES (Outils)  : LIRENT, ERREUR 
  26 : C
  27 : C APPELES (Calcul)  :
  28 : C
  29 : C PRE3-------------- PRE31 (1er ordre en espace)
  30 : C   |
  31 : C   |
  32 : C    --------------- PRE32 (2eme ordre en espace)
  33 : C
  34 : C************************************************************************
  35 : C
  36 : C PHRASE D'APPEL (GIBIANE) :
  37 : C
  38 : C 1) gaz "thermally perfect"
  39 : C
  40 : C    a)  1er ordre en espace (1er ordre en temps)
  41 : C
  42 : C       CHAM1S CHAM2S CHAM3S (CHAM4S) = 'PRET' 'PERFTEMP' 
  43 : C                     ENTI1  ENTI2 MOD1 TAB2
  44 : C                     CHPO1 CHPO2 CHPO3 (CHPO4);
  45 : C
  46 : C
  47 : C ENTREES  : 
  48 : C
  49 : C           'PERFTEMP'   : mot clé (gaz "thermally perfect")
  50 : C                    
  51 : C            ENTI1       : ordre en espace (=1)
  52 : C
  53 : C            ENTI2       : ordre en temps (=1 si ENTI1 = 1)
  54 : C
  55 : C            MOD1        : OBJET MODELE de TYPE NAVIER_STOKES
  56 : C
  57 : C            TAB2        : TABLE des proprietes du gaz
  58 : C
  59 : C            CHPO1       : CHPOINT "CENTRE" contenant la masse volumique;
  60 : C
  61 : C            CHPO2       : CHPOINT "CENTRE" contenant la vitesse
  62 : C                         ( NDIM  composantes);
  63 : C     
  64 : C            CHPO3       : CHPOINT "CENTRE" contenant la pression 
  65 : C
  66 : C           (CHPO4)      : CHPOINT "CENTRE" contenant les fractiones
  67 : C                          massiques du gaz (dans le cas multi-especes,
  68 : C                          compatible avec TAB2)
  69 : C      
  70 : C SORTIES  : 
  71 : C
  72 : C            CHAM1S      : MCHAML "FACEL" contenant la masse
  73 : C                          volumique
  74 : C                          (a gauche et a droite de chaque face).
  75 : C                          Une seule composante ('SCAL')
  76 : C
  77 : C            CHAM2S      : MCHAML  "FACEL"  contenant la vitesse et
  78 : C                          les cosinus directeurs de (n,t) dans le
  79 : C                          repere (x,y); 
  80 : C                          dans le cas 2D 6 composantes:
  81 : C                          'UN' = vitesse normale
  82 : C                          'UT' = vitesse tangentiel
  83 : C                          'NX' = n.x
  84 : C                          'NY' = n.y
  85 : C                          'TX' = t.x
  86 : C                          'TY' = t.y
  87 : C     
  88 : C            CHAM3S      : MCHAML "FACEL" contenant la pression;
  89 : C                          Une seule composante ('SCAL')
  90 : C
  91 : C           (CHAM4S)     : MCHAML "FACEL" contenant les fractiones massiques
  92 : C                          du gaz (si existe CHPO4)
  93 : C
  94 : C
  95 : C    b) 2eme ordre en espace
  96 : C       1er  ordre  en temps 
  97 : C
  98 : C       CHAM1S CHAM2S CHAM3S (CHAM4S) = 'PRET' 'PERFMULT' ENTI1 ENTI2
  99 : C                                        TAB1 TAB2
 100 : C                                        CHPO1  CHPO2  CHPO3
 101 : C                                        CHPO4  CHPO5  CHPO6
 102 : C                                        CHPO7  CHPO8  CHPO9
 103 : C                                        (CHPO10 CHPO11 CHPO12) ;
 104 : C
 105 : C
 106 : C ENTREES  : 
 107 : C
 108 : C           'PERFTEMP'   : mot clé (gaz "thermally prefect")
 109 : C                    
 110 : C            ENTI1       : ordre en espace (=2)
 111 : C
 112 : C            ENTI2       : ordre en temps  (=1 ou 2) 
 113 : C
 114 : C            TAB1        : TABLE de sous type "DOMAINE"
 115 : C
 116 : C            TAB2        : TABLE des proprietes du gaz
 117 : C
 118 : C            CHPO1       : CHPOINT "CENTRE" contenant la masse
 119 : C                          volumique;  une seule composante ('SCAL')
 120 : C
 121 : C            CHPO2       : CHPOINT "CENTRE" contenant le gradient de
 122 : C                          la  masse volumique (2 composantes en 2D,
 123 : C                          'P1DX', 'P1DY').
 124 : C
 125 : C            CHPO3       : CHPOINT "CENTRE"  contenant le limiteur du
 126 : C                          gradient de la masse volumique 
 127 : C                          (une seule composante 'P1  ')
 128 : C
 129 : C            CHPO4       : CHPOINT "CENTRE" contenant la vitesse
 130 : C                          (2 composantes en 2D, 'UX' ey 'UY' );
 131 : C     
 132 : C            CHPO5       : CHPOINT "CENTRE" contenant le gradient de la
 133 : C                          vitesse (4 composantes en 2D, 'P1DX','P1DY'
 134 : C                          'P2DX','P2DY').
 135 : C
 136 : C            CHPO6       : CHPOINT "CENTRE"  contenant le limiteur du
 137 : C                          gradient de la vitesse (2 composantes en 2D
 138 : C                          'P1', 'P2').
 139 : C
 140 : C            CHPO7       : CHPOINT "CENTRE" contenant la pression;
 141 : C                           une seule composante ('SCAL')
 142 : C
 143 : C            CHPO8       : CHPOINT "CENTRE" contenant le gradient de
 144 : C                          la  pression (2 composantes en 2D,
 145 : C                          'P1DX', 'P1DY').
 146 : C
 147 : C            CHPO9       : CHPOINT "CENTRE" contenant le limiteur du
 148 : C                          gradient de la pression
 149 : C                          (1 composantes, 'P1' ).
 150 : C
 151 : C           (CHPO10)     : CHPOINT "CENTRE" contenant les fractiones massiques;
 152 : C                          n composantes (n >= 1), compatibles avec 
 153 : C                          TAB2 . 'ESPEULE'
 154 : C
 155 : C           (CHPO11)      : CHPOINT "CENTRE" contenant le gradient des fractiones
 156 : C                          massique (2n composantes en 2D)
 157 : C
 158 : C           (CHPO12)      : CHPOINT "CENTRE" contenant le limiteur du
 159 : C                          gradient des fractiones massiques
 160 : C                          (n composantes ).
 161 : C            
 162 : C            FLOT1       : FLOTTANT qui contient l'increment du temps
 163 : C                          pour la prediction, pour avoir le deuxieme
 164 : C                          ordre en temps (ENTI2 = 2)
 165 : C                          FLOT1 = (increment du temps  / 2)
 166 : C      
 167 : C SORTIES  : voir le cas a)
 168 : C
 169 : C
 170 : C
 171 : C    c) 2eme ordre en espace
 172 : C       2er  ordre  en temps 
 173 : C
 174 : C       CHAM1S CHAM2S CHAM3S (CHAM4S) = 'PRET' 'PERFMULT' ENTI1 ENTI2
 175 : C                                        TAB1 TAB2
 176 : C                                        CHPO1  CHPO2  CHPO3
 177 : C                                        CHPO4  CHPO5  CHPO6
 178 : C                                        CHPO7  CHPO8  CHPO9
 179 : C                                        (CHPO10 CHPO11 CHPO12) 
 180 : C                                        CHPO13 DT ;
 181 : C
 182 : C
 183 : C ENTREES  : 
 184 : C
 185 : C           'PERFTEMP'   : mot clé (gaz "thermally prefect")
 186 : C                    
 187 : C            ENTI1       : ordre en espace (=2)
 188 : C
 189 : C            ENTI2       : ordre en temps  (=1 ou 2) 
 190 : C
 191 : C            TAB1        : TABLE de sous type "DOMAINE"
 192 : C
 193 : C            TAB2        : TABLE des proprietes du gaz
 194 : C
 195 : C            CHPO1       : CHPOINT "CENTRE" contenant la masse
 196 : C                          volumique;  une seule composante ('SCAL')
 197 : C
 198 : C            CHPO2       : CHPOINT "CENTRE" contenant le gradient de
 199 : C                          la  masse volumique (2 composantes en 2D,
 200 : C                          'P1DX', 'P1DY').
 201 : C
 202 : C            CHPO3       : CHPOINT "CENTRE"  contenant le limiteur du
 203 : C                          gradient de la masse volumique 
 204 : C                          (une seule composante 'P1  ')
 205 : C
 206 : C            CHPO4       : CHPOINT "CENTRE" contenant la vitesse
 207 : C                          (2 composantes en 2D, 'UX' ey 'UY' );
 208 : C     
 209 : C            CHPO5       : CHPOINT "CENTRE" contenant le gradient de la
 210 : C                          vitesse (4 composantes en 2D, 'P1DX','P1DY'
 211 : C                          'P2DX','P2DY').
 212 : C
 213 : C            CHPO6       : CHPOINT "CENTRE"  contenant le limiteur du
 214 : C                          gradient de la vitesse (2 composantes en 2D
 215 : C                          'P1', 'P2').
 216 : C
 217 : C            CHPO7       : CHPOINT "CENTRE" contenant la pression;
 218 : C                           une seule composante ('SCAL')
 219 : C
 220 : C            CHPO8       : CHPOINT "CENTRE" contenant le gradient de
 221 : C                          la  pression (2 composantes en 2D,
 222 : C                          'P1DX', 'P1DY').
 223 : C
 224 : C            CHPO9       : CHPOINT "CENTRE" contenant le limiteur du
 225 : C                          gradient de la pression
 226 : C                          (1 composantes, 'P1' ).
 227 : C
 228 : C           (CHPO10)     : CHPOINT "CENTRE" contenant les fractiones massiques;
 229 : C                          n composantes (n >= 1), compatibles avec 
 230 : C                          TAB2 . 'ESPEULE'
 231 : C
 232 : C           (CHPO11)      : CHPOINT "CENTRE" contenant le gradient des fractiones
 233 : C                          massique (2n composantes en 2D)
 234 : C
 235 : C           (CHPO12)      : CHPOINT "CENTRE" contenant le limiteur du
 236 : C                          gradient des fractiones massiques
 237 : C                          (n composantes ).
 238 : C            
 239 : C           CHPO13        : CHPOINT "CENTRE" contenant le "gamma" du gaz 
 240 : C                          une seule composante ('SCAL')
 241 : C
 242 : C            FLOT1       : FLOTTANT qui contient l'increment du temps
 243 : C                          pour la prediction, pour avoir le deuxieme
 244 : C                          ordre en temps (ENTI2 = 2)
 245 : C                          FLOT1 = (increment du temps  / 2)
 246 : C      
 247 : C SORTIES  : voir le cas a)
 248 : C
 249 : C************************************************************************
 250 : C
 251 : C HISTORIQUE (Anomalies et modifications éventuelles)
 252 : C
 253 : C HISTORIQUE :  Créée le 18.12.98.
 254 : C 
 255 : C************************************************************************
 256 : C
 257 : C
 258 : C**** Variables de COOPTIO
 259 : C
 260 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
 261 : C     &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
 262 : C     &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
 263 : C     &        ,IECHO,   IIMPI,  IOSPI
 264 : C     &        ,IDIM
 265 : C     &        ,MCOORD      
 266 : C     &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
 267 : C     &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
 268 : C     &        ,NORINC,NORVAL,NORIND,NORVAD
 269 : C     &        ,NUCROU, IPSAUV
 270 : C
 271 : C**** Les variables
 272 : C
 273 :       IMPLICIT INTEGER(I-N)
 274 :       INTEGER   ICOND,  IRETOU
 275 :      &         ,ORDESP, ORDTEM
 276 : C
 277 : C**** Les Includes
 278 : C
 279 : -INC CCOPTIO
 280 : C
 281 : C**** Initialisation des parametres d'erreur
 282 : C
 283 :       MOTERR(1:40) = '                                        '
 284 : C
 285 : C**** Lecture ORDESP
 286 : C
 287 :       ICOND = 1
 287 :       CALL LIRENT(ORDESP,ICOND,IRETOU)
 288 :       IF(IERR .NE. 0) GOTO 9999
 289 :       IF((ORDESP .LT. 1) .OR. (ORDESP .GT. 2))THEN
 290 : C
 291 : C******* Message d'erreur standard
 292 : C        -301 0 %m1:40
 293 : C
 294 :          MOTERR(1:40) = 'ENTI1 = ???                             '
 294 :          CALL ERREUR(-301)
 295 : C
 296 : C******* Message d'erreur standard
 297 : C        Entier valant: %i1
 298 : C        -2 0
 299 : C
 300 :          INTERR(1) = ORDESP
 300 :          CALL ERREUR(-2)        
 301 : C
 302 : C******* Message d'erreur standard
 303 : C        21 2
 304 : C        Données incompatibles
 305 : C
 305 :          CALL ERREUR(21)
 306 :          GOTO 9999
 307 :       ENDIF
 308 : C
 309 : C**** Lecture ORDTEM
 310 : C
 311 :       ICOND = 1
 311 :       CALL LIRENT(ORDTEM,ICOND,IRETOU)
 312 :       IF(IERR .NE. 0) GOTO 9999
 313 :       IF((ORDTEM .LT. 1) .OR. (ORDTEM .GT. ORDESP))THEN
 314 : C
 315 : C******* Message d'erreur standard
 316 : C        -301 0 %m1:40
 317 : C
 318 :          MOTERR(1:40) = 'ENTI2 = ???                             '
 318 :          CALL ERREUR(-301)
 319 : C
 320 : C******* Message d'erreur standard
 321 : C        Entier valant: %i1
 322 : C        -2 0
 323 : C
 324 :          INTERR(1) = ORDTEM
 324 :          CALL ERREUR(-2)        
 325 : C
 326 : C******* Message d'erreur standard
 327 : C        21 2
 328 : C        Données incompatibles
 329 : C
 329 :          CALL ERREUR(21)
 330 :          GOTO 9999
 331 :       ENDIF
 332 : C
 333 :       IF((ORDESP .EQ. 1) .AND. (ORDTEM .EQ. 1))THEN
 334 : C
 335 : C******* ORDESP = 1, ORDTEM = 1
 336 : C
 336 :          CALL PRE31()
 337 :       ELSEIF((ORDESP .EQ. 2))THEN
 338 : C
 339 : C******* ORDESP = 2, ORDTEM = 1 ou 2
 340 : C
 340 :          CALL PRE32(ORDTEM)
 341 :       ELSE
 342 : C
 343 : C******* Message d'erreur standard
 344 : C        251 2
 345 : C        Tentative d'utilisation d'une option non implémentée
 346 : C
 346 :          CALL ERREUR(251)
 347 :       ENDIF
 348 : C
 349 :  9999 CONTINUE
 350 : C      
 351 :       RETURN                                                                    
 352 :       END
 353 : 
 354 : 
 355 : 
 356 : 
 357 : 
 358 : 
 359 : 
 360 :  
 361 :  
 362 :  
 363 :  
 364 :  
 365 :  
 366 :  

© Cast3M 2003 - All rights reserved.
Disclaimer