1 : C PRE12 SOURCE CHAT 06/08/24 21:58:46 5529 2 : SUBROUTINE PRE12(ORDTEM) 3 : C************************************************************************ 4 : C 5 : C PROJET : CASTEM 2000 6 : C 7 : C NOM : PRE12 8 : C 9 : C DESCRIPTION : Voir PRE1 10 : C 11 : C Gas gaz ideal, mono espece. 12 : C 13 : C 2me ordre en espace (1er ou 2me ordre en temps) 14 : C 15 : C Creations des object MCHAML IROF, IVITF, IPF, 16 : C IGAMF 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) : LIRTAB, ACMO, LEKTAB, QUETYP, ERREUR, LIROBJ, 26 : C QUEPOI, ECROBJ 27 : C 28 : C 29 : C APPELES (Calcul) : PRE121 (2D) 30 : C 31 : C 32 : C************************************************************************ 33 : C 34 : C HISTORIQUE (Anomalies et modifications éventuelles) 35 : C 36 : C HISTORIQUE : Créée le 11.6.98. 37 : C 38 : C************************************************************************ 39 : C 40 : C 41 : C**** Variables de COOPTIO 42 : C 43 : C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR 44 : C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ 45 : C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES 46 : C & ,IECHO, IIMPI, IOSPI 47 : C & ,IDIM 48 : C & ,MCOORD 49 : C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE 50 : C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU 51 : C & ,NORINC,NORVAL,NORIND,NORVAD 52 : C & ,NUCROU, IPSAUV, IFICLE, IPREFI 53 : C 54 : C**** Les variables 55 : C 56 : IMPLICIT INTEGER(I-N) 57 : INTEGER ORDTEM, ICOND, IRETOU, IERR0, INDIC, NBCOMP 58 : & ,IDOMA, ICEN, IFACE, IFACEL, INORM 59 : & ,IROC, IGRROC, IALROC 60 : & ,IVITC, IGRVC, IALVC 61 : & ,IPC ,IGRPC, IALPC 62 : & ,IGAMC, IROF, IVITF, IPF, IGAMF, INEFMD, JGN, JGM 63 : & ,MMODEL 64 : REAL*8 VALER, VAL1, VAL2, DELTAT 65 : CHARACTER*(4) NOMTOT(9) 66 : CHARACTER*(8) MTYPR, TYPE 67 : CHARACTER*(40) MESERR 68 : LOGICAL LOGAN,LOGNEG, LOGBOR,LOGTEM 69 : C 70 : C**** Les Includes 71 : C 72 : -INC CCOPTIO 73 : -INC SMLMOTS 74 : POINTEUR MLMVIT.MLMOTS 75 : C 76 : C 77 : C**** Initialisation des parametres d'erreur 78 : C 79 : LOGAN = .FALSE. 80 : LOGNEG = .FALSE. 81 : LOGBOR = .FALSE. 82 : MESERR = ' ' 83 : MOTERR(1:40) = MESERR(1:40) 84 : VALER = 0.0D0 85 : VAL1 = 0.0D0 86 : VAL2 = 0.0D0 87 : C 88 : C**** Initialisation des NOMTOT 89 : C 90 : NOMTOT(1) = ' ' 91 : NOMTOT(2) = ' ' 92 : NOMTOT(3) = ' ' 93 : NOMTOT(4) = ' ' 94 : NOMTOT(5) = ' ' 95 : NOMTOT(6) = ' ' 96 : NOMTOT(7) = ' ' 97 : NOMTOT(8) = ' ' 98 : NOMTOT(9) = ' ' 99 : C 100 : C**** Lecture de l'objet MODELE 101 : C 102 : ICOND = 1 102 : CALL QUETYP(TYPE,ICOND,IRETOU) 103 : 104 : IF(IRETOU.EQ.0.AND.TYPE.NE.'MMODEL')THEN 105 : WRITE(6,*)' On attend un objet MMODEL' 106 : RETURN 107 : ENDIF 107 : CALL LIROBJ('MMODEL',MMODEL,ICOND,IRETOU) 108 : IF(IERR.NE.0)GOTO 9999 108 : CALL LEKMOD(MMODEL,IDOMA,INEFMD) 109 : IF(IERR.NE.0)GOTO 9999 110 : C 111 : C**** Lecture du MELEME SPG des points CENTRE. 112 : C 113 : C 113 : C CALL LEKTAB(IDOMA,'CENTRE',IP) 114 : C 115 : C**** Probleme du LEKTAB: si IDOMA.'CENTRE' n'existe pas, 116 : C il crèe IDOMA.'CENTRE' sans recrèer 'FACEL' 117 : C -> la correspondance global des noeuds saut! 118 : C 119 : C On peut utilizer ACCTAB ou ACMO 120 : C 121 : MTYPR = 'MAILLAGE' 121 : CALL ACMO(IDOMA,'CENTRE',MTYPR,ICEN) 122 : IF(IERR.NE.0)GOTO 9999 123 : C 124 : C**** Lecture du MELEME 'FACE' 125 : C 126 : MTYPR = 'MAILLAGE' 126 : CALL ACMO(IDOMA,'FACE',MTYPR,IFACE) 127 : IF(IERR.NE.0)GOTO 9999 128 : C 129 : C**** Lecture du MELEME 'FACEL' 130 : C 131 : MTYPR = 'MAILLAGE' 131 : CALL ACMO(IDOMA,'FACEL',MTYPR,IFACEL) 132 : IF(IERR.NE.0)GOTO 9999 133 : C 134 : C**** Lecture du CHPOINT contenant les normales aux faces 135 : C 136 : IF(IDIM .EQ. 2)THEN 137 : C Que les normales 137 : CALL LEKTAB(IDOMA,'XXNORMAF',INORM) 138 : IF(IERR .NE. 0) GOTO 9999 139 : JGN = 4 140 : JGM = 2 141 : SEGINI MLMVIT 142 : MLMVIT.MOTS(1) = 'UX ' 143 : MLMVIT.MOTS(2) = 'UY ' 143 : CALL QUEPO1(INORM, IFACE, MLMVIT) 144 : SEGSUP MLMVIT 145 : ELSE 146 : C Les normales et les tangentes 147 : MTYPR = ' ' 147 : CALL ACMO(IDOMA,'MATROT',MTYPR,INORM) 148 : IF (MTYPR .NE. 'CHPOINT ') THEN 148 : CALL MATRAN(IDOMA,INORM) 149 : IF(IERR .NE. 0) GOTO 9999 150 : ENDIF 151 : JGN = 4 152 : JGM = 9 153 : SEGINI MLMVIT 154 : MLMVIT.MOTS(1) = 'UX ' 155 : MLMVIT.MOTS(2) = 'UY ' 156 : MLMVIT.MOTS(3) = 'UZ ' 157 : MLMVIT.MOTS(4) = 'RX ' 158 : MLMVIT.MOTS(5) = 'RY ' 159 : MLMVIT.MOTS(6) = 'RZ ' 160 : MLMVIT.MOTS(7) = 'MX ' 161 : MLMVIT.MOTS(8) = 'MY ' 162 : MLMVIT.MOTS(9) = 'MZ ' 162 : CALL QUEPO1(INORM, IFACE, MLMVIT) 163 : SEGSUP MLMVIT 164 : IF(IERR .NE. 0) GOTO 9999 165 : ENDIF 166 : C 167 : C**** N.B. On veut lire les objets sequentiellement. 168 : C Donc on utilise QUETYP pour controler que 169 : C le type de l'objet soit le bon. 170 : C 171 : C**** Lecture du CHPOINT ROC 172 : C 173 : ICOND = 1 173 : CALL QUETYP(MTYPR,ICOND,IRETOU) 174 : IF(IERR .NE. 0)GOTO 9999 175 : IF(MTYPR .NE. 'CHPOINT ')THEN 176 : C 177 : C******* Message d'erreur standard 178 : C 37 2 179 : C On ne trouve pas d'objet de type %m1:8 180 : C 181 : MOTERR(1:8) = 'CHPOINT ' 181 : CALL ERREUR(37) 182 : GOTO 9999 183 : ELSE 184 : ICOND = 1 184 : CALL LIROBJ(MTYPR,IROC,ICOND,IRETOU) 185 : IF(IERR .NE. 0)GOTO 9999 186 : ENDIF 187 : C 188 : C**** Control du CHPOINT: QUEPOI 189 : C 190 : C INDIC = 1 -> on impose le pointeur du support geometrique (IM1) 191 : C INDIC = 0 -> on ne fait que verifier le support geometrique (IM1) 192 : C 193 : C NBCOMP > 0 -> numero des composantes 194 : C 195 : C NOMTOT(1) = ' ' obligatoire s'on connais pas les noms des composantes 196 : C 197 : INDIC = 1 198 : NBCOMP = 1 199 : NOMTOT(1) = 'SCAL' 199 : CALL QUEPOI(IROC, ICEN, INDIC, NBCOMP, NOMTOT) 200 : IF(IERR .NE. 0)THEN 201 : IERR0 = IERR 202 : 203 : C 204 : C******* Message d'erreur standard 205 : C -301 0 %m1:40 206 : C 207 : MOTERR(1:40) = 'CHPO1 = ??? ' 207 : CALL ERREUR(-301) 208 : 209 : GOTO 9999 210 : ENDIF 211 : C 212 : C**** Lecture du CHPOINT GRADROC 213 : C 214 : ICOND = 1 214 : CALL QUETYP(MTYPR,ICOND,IRETOU) 215 : IF(IERR .NE. 0)GOTO 9999 216 : IF(MTYPR .NE. 'CHPOINT ')THEN 217 : C 218 : C******* Message d'erreur standard 219 : C 37 2 220 : C On ne trouve pas d'objet de type %m1:8 221 : C 222 : MOTERR(1:8) = 'CHPOINT ' 222 : CALL ERREUR(37) 223 : GOTO 9999 224 : ELSE 225 : ICOND = 1 225 : CALL LIROBJ(MTYPR,IGRROC,ICOND,IRETOU) 226 : IF (IERR.NE.0) GOTO 9999 227 : ENDIF 228 : C 229 : C**** Control du CHPOINT: QUEPOI 230 : C 231 : C INDIC = 1 -> on impose le pointeur du support geometrique (IM1) 232 : C INDIC = 0 -> on ne fait que verifier le support geometrique (IM1) 233 : C 234 : C NBCOMP = 2 -> on teste le noms des composantes 235 : C 236 : C NOMTOT(1) = ' ' obligatoire s'on connais pas les noms des composantes 237 : C 238 : INDIC = 1 239 : NBCOMP = IDIM 240 : NOMTOT(1) = 'P1DX' 241 : NOMTOT(2) = 'P1DY' 242 : IF(IDIM .EQ. 3) NOMTOT(3) = 'P1DZ' 242 : CALL QUEPOI(IGRROC, ICEN, INDIC, NBCOMP, NOMTOT) 243 : IF(IERR .NE. 0)THEN 244 : IERR0 = IERR 245 : 246 : C 247 : C******* Message d'erreur standard 248 : C -301 0 %m1:40 249 : C 250 : MOTERR(1:40) = 'CHPO2 = ??? ' 250 : CALL ERREUR(-301) 251 : 252 : GOTO 9999 253 : ENDIF 254 : C 255 : C**** Lecture du CHPOINT IALROC 256 : C 257 : ICOND = 1 257 : CALL QUETYP(MTYPR,ICOND,IRETOU) 258 : IF(IERR .NE. 0)GOTO 9999 259 : IF(MTYPR .NE. 'CHPOINT ')THEN 260 : C 261 : C******* Message d'erreur standard 262 : C 37 2 263 : C On ne trouve pas d'objet de type %m1:8 264 : C 265 : MOTERR(1:8) = 'CHPOINT ' 265 : CALL ERREUR(37) 266 : GOTO 9999 267 : ELSE 268 : ICOND = 1 268 : CALL LIROBJ(MTYPR,IALROC,ICOND,IRETOU) 269 : IF (IERR.NE.0) GOTO 9999 270 : ENDIF 271 : C 272 : C**** Control du CHPOINT: QUEPOI 273 : C 274 : INDIC = 1 275 : NBCOMP = 1 276 : NOMTOT(1) = 'P1' 276 : CALL QUEPOI(IALROC, ICEN, INDIC, NBCOMP, NOMTOT) 277 : IF(IERR .NE. 0)THEN 278 : IERR0 = IERR 279 : 280 : C 281 : C******* Message d'erreur standard 282 : C -301 0 %m1:40 283 : C 284 : MOTERR(1:40) = 'CHPO3 = ??? ' 284 : CALL ERREUR(-301) 285 : 286 : GOTO 9999 287 : ENDIF 288 : C 289 : C 290 : C**** Lecture du CHPOINT VITC 291 : C 292 : ICOND = 1 292 : CALL QUETYP(MTYPR,ICOND,IRETOU) 293 : IF(IERR .NE. 0)GOTO 9999 294 : IF(MTYPR .NE. 'CHPOINT ')THEN 295 : C 296 : C******* Message d'erreur standard 297 : C 37 2 298 : C On ne trouve pas d'objet de type %m1:8 299 : C 300 : MOTERR(1:8) = 'CHPOINT ' 300 : CALL ERREUR(37) 301 : GOTO 9999 302 : ELSE 303 : ICOND = 1 303 : CALL LIROBJ(MTYPR,IVITC,ICOND,IRETOU) 304 : IF (IERR.NE.0) GOTO 9999 305 : ENDIF 306 : C 307 : C**** Control du CHPOINT 308 : C 309 : INDIC = 1 310 : NBCOMP = IDIM 311 : NOMTOT(1) = 'UX ' 312 : NOMTOT(2) = 'UY ' 313 : IF(IDIM .EQ. 3) NOMTOT(3) = 'UZ ' 313 : CALL QUEPOI(IVITC, ICEN, INDIC, NBCOMP, NOMTOT) 314 : IF(IERR .NE. 0)THEN 315 : IERR0 = IERR 316 : 317 : C 318 : C******* Message d'erreur standard 319 : C -301 0 %m1:40 320 : C 321 : MOTERR(1:40) = 'CHPO4 = ??? ' 321 : CALL ERREUR(-301) 322 : 323 : GOTO 9999 324 : ENDIF 325 : C 326 : C**** Lecture du CHPOINT GRADVITC 327 : C 328 : ICOND = 1 328 : CALL QUETYP(MTYPR,ICOND,IRETOU) 329 : IF(IERR .NE. 0)GOTO 9999 330 : IF(MTYPR .NE. 'CHPOINT ')THEN 331 : C 332 : C******* Message d'erreur standard 333 : C 37 2 334 : C On ne trouve pas d'objet de type %m1:8 335 : C 336 : MOTERR(1:8) = 'CHPOINT ' 336 : CALL ERREUR(37) 337 : GOTO 9999 338 : ELSE 339 : ICOND = 1 339 : CALL LIROBJ(MTYPR,IGRVC,ICOND,IRETOU) 340 : IF (IERR.NE.0) GOTO 9999 341 : ENDIF 342 : C 343 : C**** Control du CHPOINT: QUEPOI 344 : C 345 : INDIC = 1 346 : IF(IDIM .EQ.2)THEN 347 : NBCOMP = 4 348 : NOMTOT(1) = 'P1DX' 349 : NOMTOT(2) = 'P1DY' 350 : NOMTOT(3) = 'P2DX' 351 : NOMTOT(4) = 'P2DY' 352 : ELSE 353 : NBCOMP = 9 354 : NOMTOT(1) = 'P1DX' 355 : NOMTOT(2) = 'P1DY' 356 : NOMTOT(3) = 'P1DZ' 357 : NOMTOT(4) = 'P2DX' 358 : NOMTOT(5) = 'P2DY' 359 : NOMTOT(6) = 'P2DZ' 360 : NOMTOT(7) = 'P3DX' 361 : NOMTOT(8) = 'P3DY' 362 : NOMTOT(9) = 'P3DZ' 363 : ENDIF 363 : CALL QUEPOI(IGRVC, ICEN, INDIC, NBCOMP, NOMTOT) 364 : IF(IERR .NE. 0)THEN 365 : IERR0 = IERR 366 : 367 : C 368 : C******* Message d'erreur standard 369 : C -301 0 %m1:40 370 : C 371 : MOTERR(1:40) = 'CHPO5 = ??? ' 371 : CALL ERREUR(-301) 372 : 373 : GOTO 9999 374 : ENDIF 375 : C 376 : C**** Lecture du CHPOINT IALVC 377 : C 378 : ICOND = 1 378 : CALL QUETYP(MTYPR,ICOND,IRETOU) 379 : IF(IERR .NE. 0)GOTO 9999 380 : IF(MTYPR .NE. 'CHPOINT ')THEN 381 : C 382 : C******* Message d'erreur standard 383 : C 37 2 384 : C On ne trouve pas d'objet de type %m1:8 385 : C 386 : MOTERR(1:8) = 'CHPOINT ' 386 : CALL ERREUR(37) 387 : GOTO 9999 388 : ELSE 389 : ICOND = 1 389 : CALL LIROBJ(MTYPR,IALVC,ICOND,IRETOU) 390 : IF (IERR.NE.0) GOTO 9999 391 : ENDIF 392 : C 393 : C**** Control du CHPOINT: QUEPOI 394 : C 395 : INDIC = 1 396 : NBCOMP = IDIM 397 : NOMTOT(1) = 'P1' 398 : NOMTOT(2) = 'P2' 399 : IF(IDIM .EQ. 3) NOMTOT(3) = 'P3 ' 399 : CALL QUEPOI(IALVC, ICEN, INDIC, NBCOMP, NOMTOT) 400 : IF(IERR .NE. 0)THEN 401 : IERR0 = IERR 402 : 403 : C 404 : C******* Message d'erreur standard 405 : C -301 0 %m1:40 406 : C 407 : MOTERR(1:40) = 'CHPO6 = ??? ' 407 : CALL ERREUR(-301) 408 : 409 : GOTO 9999 410 : ENDIF 411 : C 412 : C**** Lecture du CHPOINT PC 413 : C 414 : ICOND = 1 414 : CALL QUETYP(MTYPR,ICOND,IRETOU) 415 : IF(IERR .NE. 0)GOTO 9999 416 : IF(MTYPR .NE. 'CHPOINT ')THEN 417 : C 418 : C******* Message d'erreur standard 419 : C 37 2 420 : C On ne trouve pas d'objet de type %m1:8 421 : C 422 : MOTERR(1:8) = 'CHPOINT ' 422 : CALL ERREUR(37) 423 : GOTO 9999 424 : ELSE 425 : ICOND = 1 425 : CALL LIROBJ(MTYPR,IPC,ICOND,IRETOU) 426 : IF (IERR.NE.0) GOTO 9999 427 : ENDIF 428 : C 429 : C**** Control du CHPOINT 430 : C 431 : INDIC = 1 432 : NBCOMP = 1 433 : NOMTOT(1) = 'SCAL' 433 : CALL QUEPOI(IPC, ICEN, INDIC, NBCOMP, NOMTOT) 434 : IF(IERR .NE. 0)THEN 435 : IERR0 = IERR 436 : 437 : C 438 : C******* Message d'erreur standard 439 : C -301 0 %m1:40 440 : C 441 : MOTERR(1:40) = 'CHPO7 = ??? ' 441 : CALL ERREUR(-301) 442 : 443 : GOTO 9999 444 : ENDIF 445 : C 446 : C**** Lecture du CHPOINT GRADPC 447 : C 448 : ICOND = 1 448 : CALL QUETYP(MTYPR,ICOND,IRETOU) 449 : IF(IERR .NE. 0)GOTO 9999 450 : IF(MTYPR .NE. 'CHPOINT ')THEN 451 : C 452 : C******* Message d'erreur standard 453 : C 37 2 454 : C On ne trouve pas d'objet de type %m1:8 455 : C 456 : MOTERR(1:8) = 'CHPOINT ' 456 : CALL ERREUR(37) 457 : GOTO 9999 458 : ELSE 459 : ICOND = 1 459 : CALL LIROBJ(MTYPR,IGRPC,ICOND,IRETOU) 460 : IF (IERR.NE.0) GOTO 9999 461 : ENDIF 462 : C 463 : C**** Control du CHPOINT: QUEPOI 464 : C 465 : C 466 : INDIC = 1 467 : NBCOMP = IDIM 468 : NOMTOT(1) = 'P1DX' 469 : NOMTOT(2) = 'P1DY' 470 : IF( IDIM .EQ. 3) NOMTOT(3) = 'P1DZ' 470 : CALL QUEPOI(IGRPC, ICEN, INDIC, NBCOMP, NOMTOT) 471 : IF(IERR .NE. 0)THEN 472 : IERR0 = IERR 473 : 474 : C 475 : C******* Message d'erreur standard 476 : C -301 0 %m1:40 477 : C 478 : MOTERR(1:40) = 'CHPO8 = ??? ' 478 : CALL ERREUR(-301) 479 : 480 : GOTO 9999 481 : ENDIF 482 : C 483 : C**** Lecture du CHPOINT IALPC 484 : C 485 : ICOND = 1 485 : CALL QUETYP(MTYPR,ICOND,IRETOU) 486 : IF(IERR .NE. 0)GOTO 9999 487 : IF(MTYPR .NE. 'CHPOINT ')THEN 488 : C 489 : C******* Message d'erreur standard 490 : C 37 2 491 : C On ne trouve pas d'objet de type %m1:8 492 : C 493 : MOTERR(1:8) = 'CHPOINT ' 493 : CALL ERREUR(37) 494 : GOTO 9999 495 : ELSE 496 : ICOND = 1 496 : CALL LIROBJ(MTYPR,IALPC,ICOND,IRETOU) 497 : IF (IERR.NE.0) GOTO 9999 498 : ENDIF 499 : C 500 : C**** Control du CHPOINT: QUEPOI 501 : C 502 : INDIC = 1 503 : NBCOMP = 1 504 : NOMTOT(1) = 'P1' 504 : CALL QUEPOI(IALPC, ICEN, INDIC, NBCOMP, NOMTOT) 505 : IF(IERR .NE. 0)THEN 506 : IERR0 = IERR 507 : 508 : C 509 : C******* Message d'erreur standard 510 : C -301 0 %m1:40 511 : C 512 : MOTERR(1:40) = 'CHPO9 = ??? ' 512 : CALL ERREUR(-301) 513 : 514 : GOTO 9999 515 : ENDIF 516 : C 517 : C**** Lecture du CHPOINT GAMC 518 : C 519 : ICOND = 1 519 : CALL QUETYP(MTYPR,ICOND,IRETOU) 520 : IF(IERR .NE. 0)GOTO 9999 521 : IF(MTYPR .NE. 'CHPOINT ')THEN 522 : C 523 : C******* Message d'erreur standard 524 : C 37 2 525 : C On ne trouve pas d'objet de type %m1:8 526 : C 527 : MOTERR(1:8) = 'CHPOINT ' 527 : CALL ERREUR(37) 528 : GOTO 9999 529 : ELSE 530 : ICOND = 1 530 : CALL LIROBJ(MTYPR,IGAMC,ICOND,IRETOU) 531 : IF (IERR.NE.0) GOTO 9999 532 : ENDIF 533 : C 534 : C**** Control du CHPOINT 535 : C 536 : INDIC = 1 537 : NBCOMP = 1 538 : NOMTOT(1) = 'SCAL' 538 : CALL QUEPOI(IGAMC, ICEN, INDIC, NBCOMP, NOMTOT) 539 : IF(IERR .NE. 0)THEN 540 : IERR0 = IERR 541 : 542 : C 543 : C******* Message d'erreur standard 544 : C -301 0 %m1:40 545 : C 546 : MOTERR(1:40) = 'CHPO10 = ??? ' 546 : CALL ERREUR(-301) 547 : 548 : GOTO 9999 549 : ENDIF 550 : IF(ORDTEM .EQ. 1)THEN 551 : C 552 : C******* Deux Dimensions, Une Espece, 2er ordre en espace, 1er ordre en 553 : C temps 554 : C 555 : LOGTEM = .FALSE. 556 : DELTAT = 0.0D0 557 : ELSE 558 : LOGTEM = .TRUE. 559 : ICOND = 1 559 : CALL LIRREE(DELTAT,ICOND,IRETOU) 560 : IF(IERR .NE. 0)GOTO 9999 561 : ENDIF 562 : IF(IDIM .EQ. 2)THEN 563 : C 564 : C******* Deux Dimensions, Une Espece, 1er ordre en espace, 1er ordre en 565 : C temps 566 : C 566 : CALL PRE121(LOGTEM, 567 : & ICEN,IFACE,IFACEL,INORM, 568 : & IROC, IGRROC, IALROC, 569 : & IVITC, IGRVC, IALVC, 570 : & IPC ,IGRPC, IALPC, 571 : & IGAMC, 572 : & DELTAT, 573 : & IROF,IVITF,IPF,IGAMF, 574 : & LOGAN,LOGNEG,LOGBOR,MESERR,VALER,VAL1,VAL2) 575 : ELSE 576 : C 577 : C******* Trois Dimensions, Une Espece, 1er ordre en espace, 1er ordre en 578 : C temps 579 : C 579 : CALL PRE122(LOGTEM, 580 : & ICEN,IFACE,IFACEL,INORM, 581 : & IROC, IGRROC, IALROC, 582 : & IVITC, IGRVC, IALVC, 583 : & IPC ,IGRPC, IALPC, 584 : & IGAMC, 585 : & DELTAT, 586 : & IROF,IVITF,IPF,IGAMF, 587 : & LOGAN,LOGNEG,LOGBOR,MESERR,VALER,VAL1,VAL2) 588 : ENDIF 589 : C 590 : C 591 : C**** Messages d'erreur 592 : C 593 : IF(LOGAN)THEN 594 : C 595 : C******* Anomalie detectée 596 : C 597 : C 598 : C******* Message d'erreur standard 599 : C -301 0 600 : C %m1:40 601 : C 602 : MOTERR(1:40) = MESERR(1:40) 602 : CALL ERREUR(-301) 603 : C 604 : C******* Message d'erreur standard 605 : C 5 3 606 : C Erreur anormale.contactez votre support 607 : C 607 : CALL ERREUR(5) 608 : GOTO 9999 609 : C 610 : ELSEIF(LOGNEG)THEN 611 : C 612 : C******* Message d'erreur standard 613 : C 41 2 614 : C %m1:8 = %r1 inférieur à %r2 615 : C 616 : MOTERR(1:8) = MESERR(1:8) 617 : REAERR(1) = REAL(VALER) 618 : REAERR(2) = 0.0 618 : CALL ERREUR(41) 619 : GOTO 9999 620 : ELSEIF(LOGBOR)THEN 621 : C 622 : C******* Message d'erreur standard 623 : C 42 2 624 : C %m1:8 = %r1 non compris entre %r2 et %r3 625 : C 626 : MOTERR(1:8) = MESERR(1:8) 627 : REAERR(1) = REAL(VALER) 628 : REAERR(2) = REAL(VAL1) 629 : REAERR(3) = REAL(VAL2) 629 : CALL ERREUR(42) 630 : GOTO 9999 631 : ELSE 632 : C 633 : C******* Ecriture de ROF, VITF, PF 634 : C 635 : MTYPR = 'MCHAML' 635 : CALL ECROBJ(MTYPR,IGAMF) 635 : CALL ECROBJ(MTYPR,IPF) 635 : CALL ECROBJ(MTYPR,IVITF) 635 : CALL ECROBJ(MTYPR,IROF) 636 : ENDIF 637 : C 638 : 9999 CONTINUE 639 : C 640 : RETURN 641 : END 642 : 643 : 644 : 645 : 646 : 647 : 648 : 649 : 650 : 651 : 652 :
© Cast3M 2003 - All rights reserved.
Disclaimer