Download fimtr1.eso

Back to the list

   1 : C FIMTR1    SOURCE    CHAT      06/03/29    21:21:01     5360           
   2 :       SUBROUTINE FIMTR1
   3 : C************************************************************************
   4 : C
   5 : C PROJET            :  CASTEM 2000
   6 : C
   7 : C NOM               :  FIMTR1
   8 : C
   9 : C DESCRIPTION       :  Subroutine appellée par FIMPVF
  10 : C
  11 : C                      Modelisation 2D/3D de term source
  12 : C                      pour les equations multiespeces NS:
  13 : C                      Gravité + k-\eps turbulence model
  14 : C
  15 : C                      Calcul du flux/residu
  16 : C
  17 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  18 : C
  19 : C AUTEUR            :  S. Kudriakov, DEN/DM2S/SFME/LTMF
  20 : C
  21 : C************************************************************************
  22 : C
  23 : C*** SYNTAXE
  24 : C
  25 : C  Discrétisation en VF "cell-centered" des équations de NS pour
  26 : C  un gaz parfait polytropique (term source)
  27 : C  Inconnues: densités, quantité de mouvement, énergie totale par
  28 : C  unité de volumes, énergie cinetic turbulente (\rho k),
  29 : C  rate of dissipated turb. energy (\rho \eps) (var. conservatives)
  30 : C  Gravité
  31 : C
  32 : C  RESU = 'FIMP' 'VF' 'GRAVKEPS' MOT1 TABGAS
  33 : C          LMOTC CHPRN CHPGN CHGRA CHRKA CHREPS GRADR GRADV ;
  34 : C--------------------------------------------------------------------
  35 : C
  36 : C  MOT1    : MOT: 'RESI'
  37 : C
  38 : C  TABGAS  : table with the gas properties; 
  39 : C            here we need:
  40 : C                        a) turbulent constant \sigma_t (see gravity
  41 : C                           term in k-\eps equations) 
  42 : C                           name: TABGAS . 'SIGT' 
  43 : C                        b) turbulent constant C_{\eps 1} (see
  44 : C                                      \eps-equation)
  45 : C                           name: TABGAS . 'CEPS1'       
  46 : C                        c) turbulent constant C_{\eps 2} (see
  47 : C                                      \eps-equation)
  48 : C                           name: TABGAS . 'CEPS2'  
  49 : C                        d) rate of productions for the species
  50 : C                           (source term); type 'CHPOINT' 
  51 : C                           (SPG = 'CENTRE', the number of components
  52 : C                            is equal to the number of species in
  53 : C                            TABGAS . 'ESPEULE')
  54 : C                        e) TABGAS . 'ESPEULE' - the names of the
  55 : C                           species which are explicitely in the equations
  56 : C                        f) TABGAS . 'MUTURB' - turbulent viscosity
  57 : C                           (SPG = 'CENTRE'; number of compon. = 1)       
  58 : C                        g) the formation enthalpies of the species
  59 : C                             at T_0 = 0 K
  60 : C
  61 : C  LMOTC   : LISTMOTS, noms des variables conservatives
  62 : C
  63 : C  CHPRN   : densité  (SPG = 'CENTRE', une seule
  64 : C           composante, 'SCAL')
  65 : C
  66 : C  CHPGN   : qdm (SPG = meme que CHPRN,
  67 : C           composantes: 'UX', 'UY', ('UZ'))
  68 : C
  69 : C  CHPGRA  : gravité (SPG = meme que CHPRN, 
  70 : C           composantes: 'UX', 'UY', ('UZ'))
  71 : C
  72 : C  CHRKA   : turbulent kinetic energy per unit volume
  73 : C            (SPG = 'CENTRE', une seule composante, name is the
  74 : C             name of the corresponding conservative variable)
  75 : C
  76 : C  CHREPS  : rate of dissipated turb. energy per unit volume
  77 : C            (SPG = 'CENTRE', une seule composante, name is the
  78 : C             name of the corresponding conservative variable)
  79 : C
  80 : C  GRADR   : gradient of the density
  81 : C            (SPG = 'CENTRE', composantes: 'P1DX','P1DY', ('P1DZ'))
  82 : C
  83 : C  GRADV   : gradient of the velocity vector
  84 : C            (SPG = 'CENTRE', composantes: 'P1DX','P1DY', ('P1DZ')
  85 : C                                          'P2DX','P2DY', ('P2DZ') 
  86 : C                                         ('P3DX','P3DY', ('P3DZ')))
  87 : C
  88 : C SORTIES
  89 : C
  90 : C  RESU  : residu 
  91 : C 
  92 : C
  93 : C************************************************************************
  94 : C
  95 : C HISTORIQUE (Anomalies et modifications éventuelles)
  96 : C
  97 : C HISTORIQUE :
  98 : C
  99 : C************************************************************************
 100 :       IMPLICIT INTEGER(I-N)
 101 : -INC CCOPTIO
 102 : -INC SMLMOTS
 103 : -INC SMCHPOI
 104 : -INC SMTABLE
 105 : C
 106 : C**** Variables pour ACCTAB
 107 : C
 108 :       INTEGER IVALI, IRETI,IVALR, IRETR, IESP
 109 :       REAL*8 XVALI, XVALR
 110 :       LOGICAL LOGII, LOGIR
 111 :       CHARACTER*(8) MTYPI, MTYPR, CHARR, MOTNEU
 112 : C
 113 : C**** Segment des caractéristiques du gaz
 114 : C
 115 :       SEGMENT SORGAS
 116 :          REAL*8 H0K(NESP+1)
 117 :          POINTEUR SOUR(NESP+1).MCHPOI
 118 :       ENDSEGMENT
 119 : C-----------------------------------------------------
 120 :       INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
 121 :      &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
 122 :      &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
 123 :      &        ,IECHO,   IIMPI,  IOSPI
 124 :      &        ,IDIM,    IFICLE, IPREFI     
 125 :      &        ,MCOORD
 126 :      &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
 127 :      &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
 128 :      &        ,NORINC,NORVAL,NORIND,NORVAD
 129 :      &        ,NUCROU, IPSAUV
 130 : C
 131 :       INTEGER NBOPT, IMET, IRET, IRKA, ICEN, INDIC, NBCOMP
 132 :      &   , IRO,IROVIT,JGN, JGM, IGRAV, ILIINC, IRES
 133 :      &     ,NESP,IPGAS, IRETOU, ICOND, IREPS, IGRADR, IGRADV
 134 :      &    , IMUT, ISOUR, I1
 135 : C------Constants of the k-eps model
 136 :       REAL*8 TSIGT, TCEPS1, TCEPS2
 137 : C
 138 :       PARAMETER (NBOPT=1)
 139 :       CHARACTER*8 LOPT(NBOPT)
 140 :       CHARACTER*4 MOT(1), MOTKA, MOTEPS, MOT1(10)
 141 : C      
 142 :       DATA LOPT/'RESI    '/
 143 : C
 144 : C**** IMET = 1 -> residuu
 145 : C
 145 :       CALL LIRMOT(LOPT,NBOPT,IMET,1)
 146 :       IF(IERR.NE.0)GOTO 9999
 147 : C-------------------------------------------------
 148 : C*** Reading the table PGAS  *********************
 149 : C-------------------------------------------------
 150 :       ICOND = 1
 150 :       CALL QUETYP(MTYPR,ICOND,IRETOU)
 151 :       IF(IERR .NE. 0)GOTO 9999
 152 :       IF(MTYPR .NE. 'TABLE   ')THEN
 153 : C---------------------------------------
 154 : C Message d'erreur standard
 155 : C 37 2
 156 : C On ne trouve pas d'objet de type %m1:8
 157 : C---------------------------------------     
 158 :          MOTERR(1:8) = 'TABLE   ' 
 158 :          CALL ERREUR(37)
 159 :          GOTO 9999
 160 :       ELSE
 161 :          ICOND = 1
 161 :          CALL LIROBJ(MTYPR,IPGAS,ICOND,IRETOU)
 162 :          IF(IERR .NE. 0)GOTO 9999
 163 :       ENDIF
 164 : C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 165 : C-------------------------------------------
 166 : C  Reading the constants of the Source term
 167 : C-------------------------------------------
 168 : C--------- \sigma_t
 168 :       CALL ACMF(IPGAS,'SIGT',XVALR) 
 169 :       TSIGT = XVALR
 170 : C-------- C_\eps 1
 170 :       CALL ACMF(IPGAS,'CEPS1',XVALR)
 171 :       TCEPS1 = XVALR
 172 : C-------- C_\eps 2
 172 :       CALL ACMF(IPGAS,'CEPS2',XVALR)
 173 :       TCEPS2 = XVALR
 174 : C-------------------------------------------
 175 : C********  Reading the Source Terms ********
 176 : C-------------------------------------------
 177 :       MTYPR = '        '
 177 :       CALL ACMO(IPGAS,'SOUR',MTYPR,ISOUR)
 178 :       IF(MTYPR .NE. 'TABLE   ')THEN
 179 : C--------------------------------
 180 : C Message d'erreur standard
 181 : C -301 0 %m1:40
 182 : C--------------------------------
 183 :          MOTERR(1:40) = 'TAB1 . SOUR = ???                     '
 184 :          WRITE(IOIMP,*) MOTERR(1:40)
 185 : C---------------------------------
 186 : C Message d'erreur standard
 187 : C 21 2
 188 : C Données incompatibles
 189 : C--------------------------------
 189 :          CALL ERREUR(21)
 190 :          GOTO 9999
 191 :       ENDIF
 192 : C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 193 : C---------------------------------------------------------
 194 : C Reading Les especes qui sont dans les Equations d'Euler
 195 : C---------------------------------------------------------
 196 :       MTYPR = '        ' 
 196 :       CALL ACMO(IPGAS,'ESPEULE',MTYPR,MLMOT1)
 197 :       IF(MTYPR .NE. 'LISTMOTS')THEN
 198 : C---------------------------
 199 : C Message d'erreur standard
 200 : C -301 0 %m1:40
 201 : C---------------------------
 202 :          MOTERR(1:40) = 'TAB1 . ESPEULE = ???                '
 203 :          WRITE(IOIMP,*) MOTERR(1:40)
 204 : C---------------------------
 205 : C Message d'erreur standard
 206 : C 21 2
 207 : C Données incompatibles
 208 : C--------------------------
 208 :          CALL ERREUR(21)
 209 :          GOTO 9999
 210 :       ENDIF
 211 : C---------------------------------------------------------
 212 : C Reading L'espece qui n'est pas dans les Equations d'Euler
 213 : C---------------------------------------------------------
 214 :       MTYPR = '        ' 
 214 :       CALL ACMM(IPGAS,'ESPNEULE',MOTNEU)
 215 : c*c*c*c*c*c***********************************
 216 :       SEGACT MLMOT1
 217 :       NESP = MLMOT1.MOTS(/2)
 218 : C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 219 :       SEGINI SORGAS
 220 :       DO I1 = 1, NESP
 221 : C-------------------------------
 222 : C N.B. MOT1 est un CHARACTER*(4)
 223 : C-------------------------------     
 224 :          MOT1(1) = MLMOT1.MOTS(I1)
 225 :          MTYPI = 'MOT     '
 226 :          MTYPR = '        '
 226 :          CALL ACCTAB(ISOUR,MTYPI,IVALI,XVALI,MOT1(1), LOGII,IRETI,
 227 :      &               MTYPR,IVALR,XVALR,CHARR,LOGIR,IRETR)
 228 :          IF((IERR .NE. 0) .OR. (MTYPR .NE. 'CHPOINT ')) THEN
 229 : C------------------------------
 230 : C Message d'erreur standard
 231 : C -301 0 %m1:40
 232 : C------------------------------
 233 :             MOTERR = 'TAB1 . SOUR, TAB1 . ESPEULE = ???      '
 234 :             WRITE(IOIMP,*) MOTERR(1:40)
 235 : C------------------------------
 236 : C Message d'erreur standard
 237 : C 21 2
 238 : C Données incompatibles
 239 : C------------------------------
 239 :             CALL ERREUR(21)
 240 :             GOTO 9999
 241 :          ENDIF  
 242 :          SORGAS.SOUR(I1) = IRETR
 243 :       ENDDO 
 244 : C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
 245 : C-------------------------------------------------
 246 : c  Reading the enthalpies of formation at 0 K
 247 : c-------------------------------------------------
 248 :       DO I1 = 1, NESP
 249 :          MOT1(1) = MLMOT1.MOTS(I1)
 250 : C
 250 : C******* CALL ACMF(...)  ne marche pas parce que on a
 251 : C        des espaces dans nos noms de composantes
 252 : C
 253 :          MTYPI = 'MOT     '
 254 :          MTYPR = '        '
 254 :          CALL ACCTAB(IPGAS,MTYPI,IVALI,XVALI,MOT1(1), LOGII,IRETI,
 255 :      &        MTYPR,IVALR,XVALR,CHARR,LOGIR,IESP)
 256 : C
 257 : C******* En IESP il y a la table IPGAZ.MOT1
 258 : C
 259 :          IF((IERR .NE. 0) .OR. (MTYPR .NE. 'TABLE   ')) THEN
 260 : 
 261 : C
 262 : C********** Message d'erreur standard
 263 : C           -301 0 %m1:40
 264 : C
 265 :             MOTERR = '                                        '
 266 :             MOTERR(1:7) = 'ARG1 . '
 267 :             MOTERR(8:11) = MOT1(1)
 268 :             MOTERR(13:17) = '= ???'
 269 :             WRITE(IOIMP,*) MOTERR
 270 : C
 271 : C********** Message d'erreur standard
 272 : C           21 2
 273 : C           Données incompatibles
 274 : C
 274 :             CALL ERREUR(21)
 275 :             GOTO 9999
 276 :          ENDIF
 277 : C
 278 : C******* H0K
 279 : C
 280 :          MTYPI = 'MOT     '
 281 :          MTYPR = '        '
 281 :          CALL ACCTAB(IESP,MTYPI,IVALI,XVALI, 'H0K' , LOGII,IRETI,
 282 :      &        MTYPR,IVALR, XVALR ,CHARR,LOGIR,IRETR)
 283 :          IF((IERR .NE. 0) .OR. (MTYPR .NE. 'FLOTTANT')) THEN
 284 :           
 285 : C     
 286 : C********** Message d'erreur standard
 287 : C           -301 0 %m1:40
 288 : C     
 289 :             MOTERR = '                                        '
 290 :             MOTERR(1:7) = 'ARG1 . '
 291 :             MOTERR(8:11) = MOT1(1)
 292 :             MOTERR(13:25) = ' . H0K = ??? '
 293 :             WRITE(IOIMP,*) MOTERR
 294 : C     
 295 : C********** Message d'erreur standard
 296 : C           21 2
 297 : C           Données incompatibles
 298 : C     
 298 :             CALL ERREUR(21)
 299 :             GOTO 9999
 300 :          ENDIF  
 301 :          SORGAS.H0K(I1)=XVALR
 302 :       ENDDO 
 303 : CCCCC--------------------------------------------------------
 304 : C
 304 : C******* CALL ACMF(...)  ne marche pas parce que on a
 305 : C        des espaces dans nos noms de composantes
 306 : C
 307 :          MTYPI = 'MOT     '
 308 :          MTYPR = '        '
 308 :          CALL ACCTAB(IPGAS,MTYPI,IVALI,XVALI,MOTNEU, LOGII,IRETI,
 309 :      &        MTYPR,IVALR,XVALR,CHARR,LOGIR,IESP)
 310 : C
 311 : C******* En IESP il y a la table IPGAZ.MOT1
 312 : C
 313 :          IF((IERR .NE. 0) .OR. (MTYPR .NE. 'TABLE   ')) THEN
 314 :   
 315 : C
 316 : C********** Message d'erreur standard
 317 : C           -301 0 %m1:40
 318 : C
 319 :             MOTERR = '                                        '
 320 :             MOTERR(1:7) = 'ARG1 . '
 321 :             MOTERR(8:11) = MOT1(1)
 322 :             MOTERR(13:17) = '= ???'
 323 :             WRITE(IOIMP,*) MOTERR
 324 : C
 325 : C********** Message d'erreur standard
 326 : C           21 2
 327 : C           Données incompatibles
 328 : C
 328 :             CALL ERREUR(21)
 329 :             GOTO 9999
 330 :          ENDIF
 331 : C
 332 : C******* H0K of the species which are not in the N-S equations
 333 : C
 334 :          MTYPI = 'MOT     '
 335 :          MTYPR = '        '
 335 :          CALL ACCTAB(IESP,MTYPI,IVALI,XVALI, 'H0K' , LOGII,IRETI,
 336 :      &        MTYPR,IVALR, XVALR ,CHARR,LOGIR,IRETR)
 337 :          IF((IERR .NE. 0) .OR. (MTYPR .NE. 'FLOTTANT')) THEN
 338 :       
 339 : C     
 340 : C********** Message d'erreur standard
 341 : C           -301 0 %m1:40
 342 : C     
 343 :             MOTERR = '                                        '
 344 :             MOTERR(1:7) = 'ARG1 . '
 345 :             MOTERR(8:11) = MOT1(1)
 346 :             MOTERR(13:25) = ' . H0K = ??? '
 347 :             WRITE(IOIMP,*) MOTERR
 348 : C     
 349 : C********** Message d'erreur standard
 350 : C           21 2
 351 : C           Données incompatibles
 352 : C     
 352 :             CALL ERREUR(21)
 353 :             GOTO 9999
 354 :           ENDIF
 355 :           SORGAS.H0K(NESP+1)=XVALR
 356 : CC------------------------------------------------
 357 :       SEGDES SORGAS     
 358 :       SEGDES MLMOT1
 359 : C-------------------------------------------------
 360 : C     Reading the turbulent viscosity
 361 : C-------------------------------------------------
 362 :       MTYPI = 'MOT     '
 363 :       MTYPR = '        '
 363 :       CALL ACCTAB(IPGAS,MTYPI,IVALI,XVALI,'MUTURB',LOGII,IRETI,
 364 :      &               MTYPR,IVALR,XVALR,CHARR,LOGIR,IRETR)
 365 :          IF((IERR .NE. 0) .OR. (MTYPR .NE. 'CHPOINT ')) THEN
 366 : C------------------------------
 367 : C Message d'erreur standard
 368 : C -301 0 %m1:40
 369 : C------------------------------
 370 :             MOTERR = 'TAB1 . MUTURB = ???      '
 371 :             WRITE(IOIMP,*) MOTERR(1:40)
 372 : C------------------------------
 373 : C Message d'erreur standard
 374 : C 21 2
 375 : C Données incompatibles
 376 : C------------------------------
 376 :             CALL ERREUR(21)
 377 :             GOTO 9999
 378 :          ENDIF  
 379 :       IMUT = IRETR
 380 : C-------------------------------------------------
 381 : C**** Noms de variables conservatives
 382 : C-------------------------------------------------
 382 :       CALL LIROBJ('LISTMOTS',ILIINC,1,IRET)
 383 :       IF(IERR .NE. 0) GOTO 9999
 384 :       MLMOTS = ILIINC
 385 :       SEGACT MLMOTS
 386 :       NBCOMP = MLMOTS.MOTS(/2)
 387 :       MOTKA = MLMOTS.MOTS(IDIM+NESP+3)
 388 :       MOTEPS = MLMOTS.MOTS(IDIM+NESP+4)
 389 :       SEGDES MLMOTS
 390 :       IF(NBCOMP .NE. (IDIM+NESP+4))THEN
 391 :          MOTERR(1:40) = 'LISTINCO = ???'
 392 :          WRITE(IOIMP,*) MOTERR
 393 : C
 394 : C******* Message d'erreur standard
 395 : C        21 2
 396 : C        Données incompatibles
 397 : C
 397 :          CALL ERREUR(21)
 398 :          GOTO 9999
 399 :       ENDIF
 400 : C---------------------------------------------------
 401 : C**** Densité
 402 : C---------------------------------------------------
 402 :       CALL LIROBJ('CHPOINT',IRO,1,IRET)
 403 :       IF (IERR.NE.0) GOTO 9999
 404 : C
 405 : C**** On cherche le pointeur de son maillage et on l'impose sur les
 406 : C     autres CHPOINT
 407 : C
 408 :       MCHPOI = IRO
 409 :       SEGACT MCHPOI
 410 :       MSOUPO = MCHPOI.IPCHP(1)
 411 :       SEGACT MSOUPO
 412 :       ICEN = MSOUPO.IGEOC
 413 :       SEGDES MSOUPO
 414 :       SEGDES MCHPOI
 415 : C
 416 : C**** Control du CHPOINT: QUEPOI
 417 : C
 418 :       INDIC = 1
 419 :       NBCOMP = 1
 420 :       MOT(1) = 'SCAL'
 420 :       CALL QUEPOI(IRO, ICEN, INDIC, NBCOMP, MOT)
 421 :       IF(IERR .NE. 0) GOTO 9999
 422 : C-------------------------------------------------
 423 : C**** Lecture du CHPOINT DEBIT.
 424 : C-------------------------------------------------
 424 :       CALL LIROBJ('CHPOINT',IROVIT,1,IRET)
 425 :       IF (IERR.NE.0) GOTO 9999
 426 : C
 427 : C**** Control du CHPOINT
 428 : C
 429 :       JGN = 4
 430 :       JGM = IDIM
 431 :       SEGINI MLMOTS
 432 :       MLMOTS.MOTS(1) = 'UX  '
 433 :       MLMOTS.MOTS(2) = 'UY  '
 434 :       IF(IDIM .EQ. 3) MLMOTS.MOTS(3) = 'UZ  '
 434 :       CALL QUEPO1(IROVIT, ICEN, MLMOTS)
 435 :       IF(IERR .NE. 0) GOTO 9999
 436 : C
 437 : C-------------------------------------------------
 438 : C**** Lecture du CHPOINT GRAVITE.
 439 : C-------------------------------------------------
 439 :       CALL LIROBJ('CHPOINT',IGRAV,1,IRET)
 440 :       IF (IERR.NE.0) GOTO 9999
 441 : C
 442 : C**** Control du CHPOINT
 443 : C
 443 :       CALL QUEPO1(IGRAV, ICEN, MLMOTS)
 444 :       IF(IERR .NE. 0) GOTO 9999
 445 :       SEGSUP MLMOTS
 446 : C---------------------------------------------------------
 447 : C**** Turbulent kinetic energy
 448 : C---------------------------------------------------------
 448 :       CALL LIROBJ('CHPOINT',IRKA,1,IRET)
 449 :       IF (IERR.NE.0) GOTO 9999
 450 : C
 451 : C**** Control du CHPOINT: QUEPOI
 452 : C
 453 :       INDIC = 1
 454 :       NBCOMP = 1
 455 :       MOT(1) = MOTKA
 455 :       CALL QUEPOI(IRKA, ICEN, INDIC, NBCOMP, MOT)
 456 :       IF(IERR .NE. 0) GOTO 9999
 457 : C      
 458 : C**** Turbulent energy dissipation
 459 : C
 459 :       CALL LIROBJ('CHPOINT',IREPS,1,IRET)
 460 :       IF (IERR.NE.0) GOTO 9999
 461 : C
 462 : C**** Control du CHPOINT
 463 : C     
 464 :       INDIC = 1
 465 :       NBCOMP = 1
 466 :       MOT(1) = MOTEPS
 466 :       CALL QUEPOI(IREPS, ICEN, INDIC, NBCOMP, MOT)
 467 :       IF(IERR .NE. 0) GOTO 9999
 468 : *------------------------------------------------------
 469 : * Gradient of density given at the centre
 470 : *------------------------------------------------------
 470 :       CALL LIROBJ('CHPOINT',IGRADR,1,IRET)
 471 :       IF(IERR .NE. 0) GOTO 9999
 472 : *------------------------------
 473 :       JGN = 4
 474 :       JGM = IDIM
 475 :       SEGINI MLMOTS
 476 :       IF(IDIM .EQ. 2) THEN
 477 :         MLMOTS.MOTS(1) = 'P1DX'
 478 :         MLMOTS.MOTS(2) = 'P1DY'
 479 :       ELSE
 480 :         MLMOTS.MOTS(1) = 'P1DX'
 481 :         MLMOTS.MOTS(2) = 'P1DY'
 482 :         MLMOTS.MOTS(3) = 'P1DZ'
 483 :       ENDIF
 483 :       CALL QUEPO1(IGRADR, ICEN, MLMOTS)
 484 :       IF(IERR .NE. 0) GOTO 9999
 485 :       SEGDES MLMOTS
 486 : *------------------------------------------------------
 487 : *  Gradient of velocity given at the centre 
 488 : *------------------------------------------------------
 488 :       CALL LIROBJ('CHPOINT',IGRADV,1,IRET)
 489 :       IF(IERR .NE. 0) GOTO 9999
 490 : *------------------------------
 491 :       JGN = 4
 492 :       JGM = IDIM*IDIM
 493 :       SEGINI MLMOTS
 494 :       IF(IDIM .EQ. 2) THEN
 495 :         MLMOTS.MOTS(1) = 'P1DX'
 496 :         MLMOTS.MOTS(2) = 'P1DY'
 497 :         MLMOTS.MOTS(3) = 'P2DX'
 498 :         MLMOTS.MOTS(4) = 'P2DY'
 499 :       ELSE
 500 :         MLMOTS.MOTS(1) = 'P1DX'
 501 :         MLMOTS.MOTS(2) = 'P1DY'
 502 :         MLMOTS.MOTS(3) = 'P1DZ'
 503 :         MLMOTS.MOTS(4) = 'P2DX'
 504 :         MLMOTS.MOTS(5) = 'P2DY'
 505 :         MLMOTS.MOTS(6) = 'P2DZ'
 506 :         MLMOTS.MOTS(7) = 'P3DX'
 507 :         MLMOTS.MOTS(8) = 'P3DY'
 508 :         MLMOTS.MOTS(9) = 'P3DZ'
 509 :       ENDIF
 509 :       CALL QUEPO1(IGRADV, ICEN, MLMOTS)
 510 :       IF(IERR .NE. 0) GOTO 9999
 511 :       SEGDES MLMOTS
 512 : C------------------------------------------------------
 513 : C**** Results
 514 : C------------------------------------------------------
 515 :       IF(IMET.EQ.1)THEN
 516 : C
 517 : C******* On calcule le residu
 518 : C
 518 :          CALL FIMTR2(SORGAS,ILIINC,ICEN,IRO,IROVIT,IGRAV,IRKA,IREPS
 519 :      &              ,IGRADR,IGRADV,IMUT,TSIGT,TCEPS1,TCEPS2,IRES)
 520 :       ENDIF
 521 : C
 521 :       IF(IRES .NE. 0) CALL ECROBJ('CHPOINT ',IRES)
 522 : C      
 523 :  9999 CONTINUE
 524 :       RETURN
 525 :       END
 526 : 
 527 :  
 528 :  
 529 :  
 530 :  
 531 :  
 532 :  

© Cast3M 2003 - All rights reserved.
Disclaimer