Download konf21.eso

Back to the list

   1 : C KONF21    SOURCE    PV        09/03/12    21:26:22     6325           
   2 :       SUBROUTINE KONF21(INDMET,
   3 :      &                  IALPF,IUVF,IULF,IPF,
   4 :      &                  ITVF,ITLF,IRVF,IRLF,
   5 :      &                  ICHPSU,ICHPDI,
   6 :      &                  MELEMC,MELEMF,MELEFE,
   7 :      &                  ICHFLU,DT,
   8 :      &                  LOGNC,LOGAN,MESERR)
   9 : C************************************************************************
  10 : C
  11 : C PROJET            :  CASTEM 2000
  12 : C
  13 : C NOM               :  KONFL8
  14 : C
  15 : C DESCRIPTION       :  Voir KONV2F
  16 : C
  17 : C                      2D two fluid flow
  18 : C     
  19 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  20 : C      
  21 : C AUTEUR            :  A. BECCANTINI, DRN/DMT/SEMT/TTMF
  22 : C                      Modified for two phase flow by
  23 : C                      José R.                                               
  24 : C
  25 : C************************************************************************
  26 : C
  27 : C
  28 : C APPELES (Outils
  29 : C          CASTEM)  :  KRIPAD, LICHT
  30 : C      
  31 : C APPELES (Calcul)  :  FLURIE, FLUXVL, FLUVLH, FLHUS1, FLHUS2
  32 : C
  33 : C
  34 : C************************************************************************
  35 : C
  36 : C ENTREES
  37 : C
  38 : C
  39 : C  1) PARAMETRES
  40 : C      
  41 : C     INDMET  :     6        AUSM+
  42 : C
  43 : C
  44 : C  2) Pointeurs des MCHAMLs
  45 : C
  46 : C     IALPF   : MCHAML sur "FACEL" containing void fraction
  47 : C
  48 : C     IUVF    : MCHAML sur "FACEL" containing vapour velocity
  49 : C
  50 : C     IULF    : MCHAML sur "FACEL" containing liquid velocity
  51 : C
  52 : C     IPF     : MCHAML sur "FACEL" containing pressure
  53 : C
  54 : C     ITVF    : MCHAML sur "FACEL" containing vapour temperature
  55 : C
  56 : C     ITLF    : MCHAML sur "FACEL" containing liquid temperature
  57 : C
  58 : C     IRVF    : MCHAML sur "FACEL" containing vapour density
  59 : C
  60 : C     IRLF    : MCHAML sur "FACEL" containing liquid density
  61 : C
  62 : C
  63 : C  3) Pointeurs de CHPOINTs de la table DOMAINE
  64 : C
  65 : C     ICHPSU  : CHPOINT "FACE" contenant la surface des faces
  66 : C
  67 : C     ICHPDI  : CHPOINT "CENTRE" contenant le diametre minimum
  68 : C               de chaque element
  69 : C
  70 : C     
  71 : C  4) Pointeurs de MELEME de la table DOMAINE
  72 : C
  73 : C     MELEMC  : MELEME 'CENTRE' du SPG des CENTRES
  74 : C
  75 : C     MELEMF  : MELEME 'FACE' du SPG des FACES
  76 : C
  77 : C     MELEFE  : MELEME 'FACEL' du connectivité FACES -> ELEM
  78 : C
  79 : C SORTIES 
  80 : C
  81 : C     ICHFLU     : pointeurs de CHPOINTs "FACE" des flux aux interfaces:
  82 : C
  83 : C     DT      : pas de temps pour le respect de la CFL-like condition
  84 : C               DT < DIAMMIN /2 /max(Lambda_i)
  85 : C               En maillage regulier cette condition garantie la
  86 : C               non-interaction des ondes
  87 : C
  88 : C
  89 : C     LOGNC   : (LOGICAL): si .TRUE. la methode de Newton-Rapson, utilisée
  90 : C               dans pour la solution du probleme Riemann exacte ou dans
  91 : C               l'algorithm HUS, n'a pas bien marchéee; MESERR = 'Goudunov'
  92 : C               ou 'HUS'.
  93 : C
  94 : C     LOGAN   : (LOGICAL): si .TRUE. une anomalie à été detectée
  95 : C
  96 : C     MESERR  : pour l'ecriture des messages d'erreurs
  97 : C
  98 : C************************************************************************
  99 : C
 100 : C HISTORIQUE (Anomalies et modifications éventuelles)
 101 : C
 102 : C HISTORIQUE :
 103 : C      
 104 : C************************************************************************
 105 : C
 106 : C
 107 : C N.B.: On suppose qu'on a déjà controllé RO, P > 0
 108 : C                                         GAMMA \in (1,3)
 109 : C                                         Y \in (0,1)      
 110 : C       Si non il faut le faire!!!
 111 : C
 112 : C************************************************************************
 113 : C               
 114 : C
 115 : C**** Variables de COOPTIO
 116 : C
 117 :       INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
 118 :      &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
 119 :      &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
 120 :      &        ,IECHO,   IIMPI,  IOSPI
 121 :      &        ,IDIM,    IFICLE, IPREFI 
 122 :      &        ,MCOORD      
 123 :      &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
 124 :      &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
 125 :      &        ,NORINC,NORVAL,NORIND,NORVAD
 126 :      &        ,NUCROU, IPSAUV
 127 : C
 128 :       INTEGER I1
 129 :      &       ,INDMET
 130 :      &       ,IALPF,IUVF,IULF,IPF,ITVF,ITLF,IRVF,IRLF
 131 :      &       ,ICHPSU,ICHPDI,MELEMC,MELEMF,MELEFE
 132 :      &       ,IGEOMC,IGEOMF
 133 :      &       ,ICHFLU
 134 :      &       ,NESP, NFAC
 135 :      &       ,NLCF, NGCEG,  NGCED, NLCEG, NLCED
 136 :      &       ,NGCF, NLCF1, SPG1, SPG2
 137 :       REAL*8 DT, UNSDT
 138 :      &     , ALPG,UVNG, UVTG, ULNG, ULTG, PG, TVG, TLG
 139 :      &     , RVG, RLG
 140 :      &     , ALPD, UVND, UVTD, ULND, ULTD, PD, TVD, TLD
 141 :      &     , RVD, RLD
 142 :      &     , SURF,CNX, CNY, CTX , CTY
 143 :      &     , CELL, DIAMG, DIAMD, DIAM
 144 :      &     , AVSON, LAMDAV, ALSON, LAMDAL
 145 :       LOGICAL LOGNC, LOGAN
 146 :       CHARACTER*(40) MESERR
 147 :       CHARACTER*(8) TYPE
 148 : C
 149 : C**** LES INCLUDES
 150 : C
 151 : -INC CCOPTIO
 152 : -INC SMCHAML
 153 :       POINTEUR MELALP.MELVAL, MELP.MELVAL, 
 154 :      &         MELTV.MELVAL, MELTL.MELVAL, 
 155 :      &         MELRV.MELVAL, MELRL.MELVAL
 156 :       POINTEUR MELUVN.MELVAL, MELUVT.MELVAL, 
 157 :      &         MELULN.MELVAL, MELULT.MELVAL,
 158 :      &         MELVNX.MELVAL, MELVNY.MELVAL, MELVTX.MELVAL, 
 159 :      &         MELVTY.MELVAL, MELLNX.MELVAL, MELLNY.MELVAL, 
 160 :      &         MELLTX.MELVAL, MELLTY.MELVAL
 161 : -INC SMCHPOI      
 162 :       POINTEUR MPOVSU.MPOVAL, MPOVDI.MPOVAL
 163 :      &        , MPOFLU.MPOVAL
 164 :       POINTEUR MCHAMY.MCHAML
 165 : -INC SMELEME
 166 : -INC SMLMOTS
 167 : -INC SMLENTI
 168 : C
 169 : C**** Flux at each interface and each reference framework
 170 : C
 171 :       SEGMENT IFLUX
 172 :          REAL*8 FLUX(8)
 173 :       ENDSEGMENT
 174 :       POINTEUR IFLU1.IFLUX
 175 : C
 176 : C**** Initialisation des MCHAMLs
 177 : C
 178 : C**** Void fraction
 179 : C
 180 :       MCHEL1 = IALPF
 181 :       SEGACT MCHEL1
 182 :       MCHAM1 = MCHEL1.ICHAML(1)
 183 :       SEGACT MCHAM1
 184 :       MELALP = MCHAM1.IELVAL(1) 
 185 :       SEGDES MCHEL1
 186 :       SEGDES MCHAM1
 187 : C
 188 : C**** Vapour velocity and director cosines (cosenos directores vamos??)
 189 : C
 190 :       MCHEL1 = IUVF
 191 :       SEGACT MCHEL1
 192 : C
 193 : C**** La vitesse a comme SPG MELEFE
 194 : C     Le cosinus directeurs ont comme SPG MELEMF
 195 : C
 196 : C     MCHAM1 -> Cosinus directeurs
 197 : C     MCHAM2 -> Vitesse
 198 : C      
 199 :       SPG1 = MCHEL1.IMACHE(1)
 200 :       SPG2 = MCHEL1.IMACHE(2)
 201 :       IF((SPG1 .EQ. MELEMF)  .AND. (SPG2 .EQ. MELEFE))THEN
 202 :          MCHAM1 = MCHEL1.ICHAML(1)
 203 :          MCHAM2 = MCHEL1.ICHAML(2)
 204 :       ELSEIF((SPG1 .EQ. MELEFE)  .AND. (SPG2 .EQ. MELEMF))THEN
 205 :          MCHAM1 = MCHEL1.ICHAML(2)
 206 :          MCHAM2 = MCHEL1.ICHAML(1)
 207 :       ELSE
 208 :          LOGAN = .TRUE.
 209 :          GOTO 9999
 210 :       ENDIF
 211 :       SEGACT MCHAM1
 212 :       MELVNX = MCHAM1.IELVAL(1)
 213 :       MELVNY = MCHAM1.IELVAL(2)
 214 :       MELVTX = MCHAM1.IELVAL(3)
 215 :       MELVTY = MCHAM1.IELVAL(4)
 216 :       SEGDES MCHAM1
 217 :       SEGACT MCHAM2
 218 :       MELUVN = MCHAM2.IELVAL(1)
 219 :       MELUVT = MCHAM2.IELVAL(2)
 220 :       SEGDES MCHAM2      
 221 :       SEGDES MCHEL1
 222 : C
 223 : C**** Liquid velocity and director cosines (cosenos directores vamos??)
 224 : C     Claramente tengo que eliminar los cosenos directores de la
 225 : C     velocidad del liquido!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 226 : C
 227 :       MCHEL1 = IULF
 228 :       SEGACT MCHEL1
 229 : C
 230 : C**** La vitesse a comme SPG MELEFE
 231 : C     Le cosinus directeurs ont comme SPG MELEMF
 232 : C
 233 : C     MCHAM1 -> Cosinus directeurs
 234 : C     MCHAM2 -> Vitesse
 235 : C      
 236 :       SPG1 = MCHEL1.IMACHE(1)
 237 :       SPG2 = MCHEL1.IMACHE(2)
 238 :       IF((SPG1 .EQ. MELEMF)  .AND. (SPG2 .EQ. MELEFE))THEN
 239 :          MCHAM1 = MCHEL1.ICHAML(1)
 240 :          MCHAM2 = MCHEL1.ICHAML(2)
 241 :       ELSEIF((SPG1 .EQ. MELEFE)  .AND. (SPG2 .EQ. MELEMF))THEN
 242 :          MCHAM1 = MCHEL1.ICHAML(2)
 243 :          MCHAM2 = MCHEL1.ICHAML(1)
 244 :       ELSE
 245 :          LOGAN = .TRUE.
 246 :          GOTO 9999
 247 :       ENDIF
 248 :       SEGACT MCHAM1
 249 :       MELLNX = MCHAM1.IELVAL(1)
 250 :       MELLNY = MCHAM1.IELVAL(2)
 251 :       MELLTX = MCHAM1.IELVAL(3)
 252 :       MELLTY = MCHAM1.IELVAL(4)
 253 :       SEGDES MCHAM1
 254 :       SEGACT MCHAM2
 255 :       MELULN = MCHAM2.IELVAL(1)
 256 :       MELULT = MCHAM2.IELVAL(2)
 257 :       SEGDES MCHAM2      
 258 :       SEGDES MCHEL1
 259 : C
 260 : C**** Pressure
 261 : C
 262 :       MCHEL1 = IPF
 263 :       SEGACT MCHEL1
 264 :       MCHAM1 = MCHEL1.ICHAML(1)
 265 :       SEGACT MCHAM1
 266 :       MELP = MCHAM1.IELVAL(1) 
 267 :       SEGDES MCHEL1
 268 :       SEGDES MCHAM1
 269 : C
 270 : C**** Vapour temperature
 271 : C
 272 :       MCHEL1 = ITVF
 273 :       SEGACT MCHEL1
 274 :       MCHAM1 = MCHEL1.ICHAML(1)
 275 :       SEGACT MCHAM1
 276 :       MELTV = MCHAM1.IELVAL(1) 
 277 :       SEGDES MCHEL1
 278 :       SEGDES MCHAM1
 279 : C
 280 : C**** Liquid temperature
 281 : C
 282 :       MCHEL1 = ITLF
 283 :       SEGACT MCHEL1
 284 :       MCHAM1 = MCHEL1.ICHAML(1)
 285 :       SEGACT MCHAM1
 286 :       MELTL = MCHAM1.IELVAL(1) 
 287 :       SEGDES MCHEL1
 288 :       SEGDES MCHAM1
 289 : C
 290 : C**** Vapour density
 291 : C
 292 :       MCHEL1 = IRVF
 293 :       SEGACT MCHEL1
 294 :       MCHAM1 = MCHEL1.ICHAML(1)
 295 :       SEGACT MCHAM1
 296 :       MELRV = MCHAM1.IELVAL(1) 
 297 :       SEGDES MCHEL1
 298 :       SEGDES MCHAM1
 299 : C
 300 : C**** Liquid density
 301 : C
 302 :       MCHEL1 = IRLF
 303 :       SEGACT MCHEL1
 304 :       MCHAM1 = MCHEL1.ICHAML(1)
 305 :       SEGACT MCHAM1
 306 :       MELRL = MCHAM1.IELVAL(1) 
 307 :       SEGDES MCHEL1
 308 :       SEGDES MCHAM1
 309 : C
 310 : C**** Initialisation des MELEMEs
 311 : C
 312 : C     'CENTRE', 'FACEL'
 313 : C
 314 :       IPT2 = MELEFE
 315 :       SEGACT IPT2
 316 :       NFAC = IPT2.NUM(/2)
 317 : C
 318 : C**** KRIPAD pour la correspondance global/local de centre
 319 : C
 319 :       CALL KRIPAD(MELEMC,MLENT1)
 320 : C
 321 : C**** MLENTI1 a MCORD.XCOORD(/1)/(IDIM+1) elements
 322 : C
 323 : C     Si i est le numero global d'un noeud de ICEN,
 324 : C     MLENT1.LECT(i) contient sa position, i.e.
 325 : C
 326 : C     I              = numero global du noeud centre      
 327 : C     MLENT1.LECT(i) = numero local du noeud centre
 328 : C
 329 : C     MLENT1 déjà activé, i.e.
 330 : C
 331 : C     SEGACT MLENT1
 332 : C      
 333 : C
 334 : C**** KRIPAD pour la correspondance global/local de 'FACE'
 335 : C
 335 :       CALL KRIPAD(MELEMF,MLENT2)
 336 : C     SEGACT MELNT2
 337 : C
 338 : C**** Initialisation de flux
 339 : C
 340 :       SEGINI IFLU1                 
 341 : C
 342 : C**** CHPOINTs de la table DOMAINE
 343 : C 
 343 :       CALL LICHT(ICHPSU,MPOVSU,TYPE,IGEOMF)
 343 :       CALL LICHT(ICHPDI,MPOVDI,TYPE,IGEOMC)
 344 : C
 345 : C**** LICHT active les MPOVALs en *MOD
 346 : C
 347 : C     i.e.
 348 : C
 349 : C     SEGACT MPOVSU*MOD
 350 : C     SEGACT MPOVDI*MOD
 351 : C
 352 :       IF(IGEOMF .NE. MELEMF)THEN
 353 :          MESERR = 'Il ne faut pas jouer avec la console.   '
 354 :          LOGAN = .TRUE.
 355 :          GOTO 9999
 356 :       ENDIF 
 357 :       IF(IGEOMC .NE. MELEMC)THEN
 358 :          MESERR = 'Il ne faut pas jouer avec la console.   '
 359 :          LOGAN = .TRUE.
 360 :          GOTO 9999
 361 :       ENDIF 
 362 : C
 363 : C**** Les FLUX aux face
 364 : C
 365 : C     La densité
 366 : C      
 366 :       CALL LICHT(ICHFLU,MPOFLU,TYPE,IGEOMF)
 367 : C
 368 : C     SEGACT MPOFLU*MOD
 369 : C
 370 :       IF(IGEOMC .NE. MELEMC)THEN
 371 :          MESERR = 'Il ne faut pas jouer avec la console.   '
 372 :          LOGAN = .TRUE.
 373 :          GOTO 9999
 374 :       ENDIF 
 375 : C
 376 : C**** Activation des MCHAMLs 
 377 : C
 378 :       SEGACT MELALP
 379 :       SEGACT MELP
 380 :       SEGACT MELTV
 381 :       SEGACT MELTL
 382 :       SEGACT MELRV
 383 :       SEGACT MELRL
 384 :       SEGACT MELUVN
 385 :       SEGACT MELUVT
 386 :       SEGACT MELULN
 387 :       SEGACT MELULT
 388 :       SEGACT MELVNX
 389 :       SEGACT MELVNY
 390 :       SEGACT MELVTX
 391 :       SEGACT MELVTY
 392 :       SEGACT MELLNX
 393 :       SEGACT MELLNY
 394 :       SEGACT MELLTX
 395 :       SEGACT MELLTY
 396 : C
 397 : C**** Initialisation de 1/DT
 398 : C
 399 :       UNSDT = 0.0D0
 400 : C
 401 : C**** BOUCLE SUR FACEL pour le calcul du FLUX
 402 : C
 403 :       DO NLCF = 1, NFAC
 404 : C
 405 : C******* NLCF  = numero local du centre de facel
 406 : C        NGCF  = numero global du centre de facel
 407 : C        NLCF1 = numero local du centre de face         
 408 : C        NGCEG = numero global du centre ELT "gauche"
 409 : C        NLCEG = numero local du centre ELT "gauche"
 410 : C        NGCED = numero global du centre ELT "droite"
 411 : C        NLCED = numero local du centre ELT "droite"
 412 : C
 413 :          NGCEG = IPT2.NUM(1,NLCF)
 414 :          NGCED = IPT2.NUM(3,NLCF)
 415 :          NGCF  = IPT2.NUM(2,NLCF)
 416 :          NLCF1 = MLENT2.LECT(NGCF)
 417 :          NLCEG = MLENT1.LECT(NGCEG)
 418 :          NLCED = MLENT1.LECT(NGCED)
 419 : C
 420 : C******* NLCF != NLCF1 -> l'auteur (MOI) n'a rien compris.
 421 : C
 422 :          IF(NLCF .NE. NLCF1)THEN
 423 :             MESERR = 'Il ne faut pas jouer avec la console.   '
 424 :             LOGAN = .TRUE.
 425 :             GOTO 9999
 426 :          ENDIF 
 427 : C
 428 : C******* Recuperation des Etats "gauche" et "droite"
 429 : C
 430 :          ALPG = MELALP.VELCHE(1,NLCF)
 431 :          UVNG = MELUVN.VELCHE(1,NLCF)
 432 :          UVTG = MELUVT.VELCHE(1,NLCF)
 433 :          ULNG = MELULN.VELCHE(1,NLCF)
 434 :          ULTG = MELULT.VELCHE(1,NLCF)
 435 :          PG   = MELP.VELCHE(1,NLCF)
 436 :          TVG  = MELTV.VELCHE(1,NLCF)
 437 :          TLG  = MELTL.VELCHE(1,NLCF)
 438 :          RVG  = MELRV.VELCHE(1,NLCF)
 439 :          RLG  = MELRL.VELCHE(1,NLCF)
 440 : C
 441 :          ALPD = MELALP.VELCHE(3,NLCF)
 442 :          UVND = MELUVN.VELCHE(3,NLCF)
 443 :          UVTD = MELUVT.VELCHE(3,NLCF)
 444 :          ULND = MELULN.VELCHE(3,NLCF)
 445 :          ULTD = MELULT.VELCHE(3,NLCF)
 446 :          PD   = MELP.VELCHE(3,NLCF)
 447 :          TVD  = MELTV.VELCHE(3,NLCF)
 448 :          TLD  = MELTL.VELCHE(3,NLCF)
 449 :          RVD  = MELRV.VELCHE(3,NLCF)
 450 :          RLD  = MELRL.VELCHE(3,NLCF)
 451 : C
 452 : 
 453 :          CNX = MELVNX.VELCHE(1,NLCF)
 454 :          CNY = MELVNY.VELCHE(1,NLCF)
 455 :          CTX = MELVTX.VELCHE(1,NLCF)
 456 :          CTY = MELVTY.VELCHE(1,NLCF)
 457 : C
 458 : C******* Calcul du flux aux interfaces
 459 : C
 460 : C AUSM+ (1) and "preconditioned" AUSM+ (2)
 461 :          IF((INDMET .EQ. 1) .OR. (INDMET .EQ. 2))THEN
 461 :             CALL fAP22F(INDMET,
 462 :      &                  ALPG, UVNG, UVTG, ULNG, ULTG, PG, TVG, TLG, 
 463 :      &                  RVG, RLG,
 464 :      &                  ALPD, UVND, UVTD, ULND, ULTD, PD, TVD, TLD, 
 465 :      &                  RVD, RLD,
 466 :      &                  IFLU1.FLUX)
 467 : C AUSMDV (3) and "preconditioned" AUSMDV (3)
 468 :          ELSE IF((INDMET .EQ. 3) .OR. (INDMET .EQ. 4))THEN
 468 :             CALL fDV22F(INDMET,
 469 :      &                  ALPG, UVNG, UVTG, ULNG, ULTG, PG, TVG, TLG, 
 470 :      &                  RVG, RLG,
 471 :      &                  ALPD, UVND, UVTD, ULND, ULTD, PD, TVD, TLD, 
 472 :      &                  RVD, RLD,
 473 :      &                  IFLU1.FLUX)
 474 :          ELSE
 475 : C
 476 : C******** Message d'erreur standard
 477 : C         251 2
 478 : C         Tentative d'utilisation d'une option non implémentée
 479 : C
 479 :             CALL ERREUR(251)
 480 :          ENDIF
 481 :          IF(LOGAN) GOTO 9999
 482 :          IF(LOGNC) GOTO 9999
 483 : C
 484 : C******* Ecriture des flux
 485 : C
 486 : C        FLUX(1) = alpha rv uvn
 487 : C        FLUX(2) = (1-alpha) rl uln
 488 : C        FLUX(3) = alpha rv uvx uvn + alpha p 
 489 : C        FLUX(4) = alpha rv uvy uvn + alpha p 
 490 : C        FLUX(5) = (1-alpha) rl ulx uln + (1-alpha) p
 491 : C        FLUX(6) = (1-alpha) rl uly uln + (1-alpha) p
 492 : C        FLUX(7) = alpha rv Hv uvn
 493 : C        FLUX(8) = (1-alpha) rl Hl uln
 494 : C
 495 :          SURF   = MPOVSU.VPOCHA(NLCF,1)
 496 : 
 497 :          MPOFLU.VPOCHA(NLCF,1) = (IFLU1.FLUX(1) * SURF)
 498 : 
 499 :          MPOFLU.VPOCHA(NLCF,2) = (IFLU1.FLUX(2) * SURF)
 500 : 
 501 :          MPOFLU.VPOCHA(NLCF,3) = ((IFLU1.FLUX(3)*CNX+IFLU1.FLUX(5)*CTX)
 502 :      &                             * SURF)
 503 : 
 504 :          MPOFLU.VPOCHA(NLCF,4) = ((IFLU1.FLUX(3)*CNY+IFLU1.FLUX(5)*CTY)
 505 :      &                             * SURF)
 506 : 
 507 :          MPOFLU.VPOCHA(NLCF,5) = ((IFLU1.FLUX(4)*CNX+IFLU1.FLUX(6)*CTX)
 508 :      &                             * SURF)
 509 : 
 510 :          MPOFLU.VPOCHA(NLCF,6) = ((IFLU1.FLUX(4)*CNY+IFLU1.FLUX(6)*CTY)
 511 :      &                             * SURF)
 512 : 
 513 :          MPOFLU.VPOCHA(NLCF,7) = (IFLU1.FLUX(7) * SURF)
 514 : 
 515 :          MPOFLU.VPOCHA(NLCF,8) = (IFLU1.FLUX(8) * SURF)
 516 : C     
 517 : C******* CALCUL DU PAS DU TEMPS (CFL)
 518 : C
 519 : C******  A) ETAT A L'ITNERFACE
 520 : C         
 521 :          DIAMG = MPOVDI.VPOCHA(NLCEG,1)
 522 :          DIAMD = MPOVDI.VPOCHA(NLCED,1)
 523 :          DIAM  = MIN(DIAMG,DIAMD)
 524 : C         CELL  = 1.0D0/DIAM/CELLT
 525 : C         IF(CELL .GT. UNSDT)THEN
 526 : C            UNSDT  =  CELL
 527 : C         ENDIF            
 528 : C
 529 : C******  B) ETAT GAUCHE
 530 : C       gammav = 1.4D0
 531 : C       Cpv    = 1008.D0   J/(kg·K)
 532 : C       gammal = 2.8D0
 533 : C       Cpl    = 4186.D0   J/(kg·K)
 534 : C       pil    = 8.5D8      Pa
 535 : 
 536 :          AVSON  = DSQRT(1008.d0*(1.4d0 - 1.d0)*TVG)
 537 :          LAMDAV = DABS(UVNG) + AVSON
 538 :          ALSON  = DSQRT(4186.D0*(2.8d0 - 1.d0)*TLG)
 539 :          LAMDAL = DABS(ULNG) + ALSON
 540 :          CELL   = 1.D0/(((1.d0 - ALPG)/LAMDAL + ALPG/LAMDAV)* DIAM)
 541 :          IF(CELL .GT. UNSDT)THEN
 542 :             UNSDT  =  CELL
 543 :          ENDIF            
 544 : C
 545 : C******  C) ETAT DROITE
 546 : C                  
 547 :          AVSON  = DSQRT(1008.d0*(1.4d0 - 1.d0)*TVD)
 548 :          LAMDAV = DABS(UVND) + AVSON
 549 :          ALSON  = DSQRT(4186.D0*(2.8d0 - 1.d0)*TLD)
 550 :          LAMDAL = DABS(ULND) + ALSON
 551 :          CELL   = 1.D0/(((1.d0 - ALPD)/LAMDAL + ALPD/LAMDAV)* DIAM)
 552 :          IF(CELL .GT. UNSDT)THEN
 553 :             UNSDT  =  CELL
 554 :          ENDIF             
 555 : C         
 556 : C
 557 : C**** FIN BOUCLE SUR FACEL
 558 : C         
 559 :       ENDDO
 560 : C
 561 : C**** PAS DU TEMPS (CONDITION DE NON INTERACTION EN 1D)
 562 : C      
 563 :       DT = 1.D0 / UNSDT
 564 : C
 565 : C**** DESACTIVATION DES SEGMENTS ET
 566 : C     ON DETRUIT LES MCHAMLS      
 567 : C
 568 : C
 569 : C**** SEGSUP FRAMAG
 570 : C     SEGSUP FRAMAD
 571 : C     
 572 : C     MEME SI LOGME = .FALSE. 
 573 : C
 574 : C      
 575 :       SEGSUP MLENT1
 576 :       SEGSUP MLENT2
 577 :       SEGDES IPT2
 578 : C
 579 :       SEGSUP IFLU1
 580 : C
 581 :       SEGDES MPOVSU
 582 :       SEGDES MPOVDI
 583 : C
 584 :       SEGDES MPOFLU
 585 : C
 586 : 
 587 :       SEGDES MELALP
 588 :       SEGDES MELP
 589 :       SEGDES MELTV
 590 :       SEGDES MELTL
 591 :       SEGDES MELRV
 592 :       SEGDES MELRL
 593 :       SEGDES MELUVN
 594 :       SEGDES MELUVT
 595 :       SEGDES MELULN
 596 :       SEGDES MELULT
 597 :       SEGDES MELVNX
 598 :       SEGDES MELVNY
 599 :       SEGDES MELVTX
 600 :       SEGDES MELVTY
 601 :       SEGDES MELLNX
 602 :       SEGDES MELLNY
 603 :       SEGDES MELLTX
 604 :       SEGDES MELLTY
 605 : CC
 606 :  9999 CONTINUE
 607 : C      
 608 :       RETURN
 609 :       END
 610 : C
 611 : 
 612 :          
 613 : 
 614 : 
 615 : 
 616 :  
 617 :  
 618 :  
 619 :  

© Cast3M 2003 - All rights reserved.
Disclaimer