1 : C PRE112 SOURCE PV 09/03/12 21:30:33 6325 2 : C PRE111 SOURCE BECC 98/08/24 21:15:02 3286 3 : SUBROUTINE PRE112(ICEN,IFACE,IFACEL,INORM, 4 : & IROC,IVITC,IPC,IGAMC, 5 : & IROF,IVITF,IPF,IGAMF, 6 : & LOGAN,LOGNEG,LOGBOR,MESERR,VALER,VAL1,VAL2) 7 : C************************************************************************ 8 : C 9 : C PROJET : CASTEM 2000 10 : C 11 : C NOM : PRE111 12 : C 13 : C DESCRIPTION : Voir PRE11 14 : C 15 : C Cas Deux Dimensions 16 : C 17 : C Une Espece 18 : C 19 : C 1er ordre en espace, 1re ordre en temps 20 : C 21 : C Creations des objets MCHAML IROF, IVITF, IPF, 22 : C IGAMF 23 : C 24 : C 25 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI) 26 : C 27 : C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF 28 : C 29 : C************************************************************************ 30 : C 31 : C 32 : C APPELES (Outils) : KRIPAD, LICHT 33 : C 34 : C APPELES (Calcul) : AUCUN 35 : C 36 : C 37 : C************************************************************************ 38 : C 39 : C ENTREES 40 : C 41 : C 1) Pointeurs de MELEMEs et de CHPOINTs de la table DOMAINE 42 : C 43 : C ICEN : MELEME de 'POI1' SPG des CENTRES 44 : C 45 : C IFACE : MELEME de 'POI1' SPG des FACES 46 : C 47 : C IFACEL : MELEME de 'SEG3' avec 48 : C CENTRE d'Elt "gauche" 49 : C CENTRE de Face 50 : C CENTRE d'Elt "droite" 51 : C 52 : C N.B. = IFACE.NUM(i,1) = IFACEL.NUM(i,2) 53 : C 54 : C INORM : CHPOINT des cosinus directeurs de normales aux faces 55 : C 56 : C 2) Pointeurs des CHPOINTs 57 : C 58 : C IROC : CHPOINT "CENTRE" contenant la masse volumique RHO 59 : C 60 : C IVITC : CHPOINT "CENTRE" contenant la vitesse UX, UY ; 61 : C 62 : C IPC : CHPOINT "CENTRE" contenat la pression P; 63 : C 64 : C IGAMC : CHPOINT "CENTRE" contenat le "Gamma" du gaz 65 : C 66 : C 67 : C SORTIES 68 : C 69 : C 70 : C IROF : MCHAML defini sur le MELEME de pointeur IFACEL, 71 : C contenant la masse volumique RHO 72 : C 73 : C IVITF : MCHAML defini sur le MELEME de pointeur IFACEL, 74 : C contenant la vitesse UN, UT dans le repaire local 75 : C (n,t) et defini sur le MELEME de pointeur IFACE, 76 : C contenant les cosinus directeurs du repere local 77 : C 78 : C IPF : MCHAML defini sur le MELEME de pointeur IFACEL, 79 : C contenant la pression P 80 : C 81 : C IGAMF : MCHAML defini sur le MELEME de pointeur IFACEL, 82 : C contenant le "gamma" du gaz 83 : C 84 : C LOGAN : anomalie detectee (changement de la convention dans 85 : C la table domaine) 86 : C 87 : C LOGNEG : (LOGICAL): si .TRUE. une pression ou une densité 88 : C negative a été detectée -> en interactif le 89 : C programme s'arrete en GIBIANE 90 : C (erreur stocké en MESERR et VALER) 91 : C 92 : C LOGBOR : (LOGICAL): si .TRUE. un gamma a ete detecte 93 : C dehor 1 et 3 (sa valeur stockée en MESERR et VALER; 94 : C en VAL1 et en VAL2 on stocke 1.0 et 3.0) 95 : C 96 : C MESERR 97 : C VALER 98 : C VAL1, 99 : C VAL2 : pour les messages d'erreur 100 : C 101 : C************************************************************************ 102 : C 103 : C HISTORIQUE (Anomalies et modifications éventuelles) 104 : C 105 : C HISTORIQUE : Créée le 11.6.98. 106 : C 107 : C************************************************************************ 108 : C 109 : C 110 : C ATTENTION: Cet programme marche que si le MAILLAGE est convex; 111 : C si non il faut changer l'argoritme de calcul de 112 : C l'orientation des normales aux faces. 113 : C 114 : C 115 : C************************************************************************ 116 : C 117 : C**** Variables de COOPTIO 118 : C 119 : C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR 120 : C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ 121 : C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES 122 : C & ,IECHO, IIMPI, IOSPI 123 : C & ,IDIM 124 : CC & ,MCOORD 125 : C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE 126 : C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU 127 : C & ,NORINC,NORVAL,NORIND,NORVAD 128 : C & ,NUCROU, IPSAUV 129 : C 130 : C**** Les variables 131 : C 132 : IMPLICIT INTEGER(I-N) 133 : INTEGER ICEN, IFACE, IFACEL, IROC, IVITC, IPC ,IGAMC, INORM 134 : & , IROF, IVITF, IPF, IGAMF 135 : & , IGEOM, NFAC 136 : & , N1PTEL, N1EL, N2PTEL, N2EL, N2, N1, N3, L1 137 : & , NLCF, NGCF, NGCEG, NLCEG, NGCED, NLCED, NGCF1 138 : REAL*8 VALER, VAL1, VAL2,XG,YG,ZG,XC,YC,ZC 139 : & ,DXG, DYG, DZG,ORIENT 140 : & , CNX, CNY, CNZ, CTX, CTY, CTZ, CVX, CVY, CVZ 141 : & , ROG, PG, GAMG, UXG, UYG, UZG, UNG, UTG, UVG 142 : & , ROD, PD, GAMD, UXD, UYD, UZD, UND, UTD, UVD 143 : CHARACTER*(40) MESERR 144 : CHARACTER*(8) TYPE 145 : LOGICAL LOGAN,LOGNEG, LOGBOR 146 : C 147 : C**** Les Includes 148 : C 149 : -INC SMCOORD 150 : -INC CCOPTIO 151 : -INC SMCHPOI 152 : POINTEUR MPROC.MPOVAL, MPVITC.MPOVAL, MPPC.MPOVAL, 153 : & MPGAMC.MPOVAL, MPNORM.MPOVAL 154 : -INC SMCHAML 155 : POINTEUR MELVNX.MELVAL, MELVNY.MELVAL, MELVNZ.MELVAL, 156 : & MELT1X.MELVAL, MELT1Y.MELVAL, MELT1Z.MELVAL, 157 : & MELT2X.MELVAL, MELT2Y.MELVAL, MELT2Z.MELVAL 158 : POINTEUR MELVUN.MELVAL, MELVUT.MELVAL, MELVUV.MELVAL 159 : POINTEUR MELRO.MELVAL, MELP.MELVAL, 160 : & MELGAM.MELVAL 161 : -INC SMLENTI 162 : -INC SMELEME 163 : C 164 : C**** Initialisation des parametres d'erreur déjà faite, i.e. 165 : C 166 : C LOGNEG = .FALSE. 167 : C LOGBOR = .FALSE. 168 : C MESERR = ' ' 169 : C MOTERR(1:40) = MESERR(1:40) 170 : C VALER = 0.0D0 171 : C VAL1 = 0.0D0 172 : C VAL2 = 0.0D0 173 : C 174 : C 175 : C**** KRIPAD pour la correspondance global/local de centre 176 : C 176 : CALL KRIPAD(ICEN,MLENT1) 177 : C 178 : C**** MLENTI1 a MCORD.XCOORD(/1)/(IDIM+1) elements 179 : C 180 : C Si i est le numero global d'un noeud de ICEN, 181 : C MLENT1.LECT(i) contient sa position, i.e. 182 : C 183 : C I = numero global du noeud centre 184 : C MLENT1.LECT(i) = numero local du noeud centre 185 : C 186 : C MLENT1 déjà activé, i.e. 187 : C 188 : C SEGACT MLENT1 189 : C 190 : C**** Activation de CHPOINTs 191 : C 192 : C densité 193 : C vitesse 194 : C pression 195 : C gamma 196 : C cosinus directeurs des normales aux surface 197 : C 197 : CALL LICHT(IROC ,MPROC ,TYPE,IGEOM) 197 : CALL LICHT(IVITC,MPVITC,TYPE,IGEOM) 197 : CALL LICHT(IPC ,MPPC ,TYPE,IGEOM) 197 : CALL LICHT(IGAMC,MPGAMC,TYPE,IGEOM) 197 : CALL LICHT(INORM,MPNORM,TYPE,IGEOM) 198 : C 199 : C**** MPOVA1 - MPOVA5 sont déjà activés i.e.: 200 : C 201 : C SEGACT MPROC 202 : C SEGACT MPVITC 203 : C SEGACT MPPC 204 : C SEGACT MPGAMC 205 : C SEGACT MPNORM 206 : C 207 : C**** Le MELEME FACEL 208 : C 209 : IPT1 = IFACEL 210 : IPT2 = IFACE 211 : SEGACT IPT1 212 : SEGACT IPT2 213 : NFAC = IPT1.NUM(/2) 214 : C 215 : C**** Creation de MCHAMLs contenant les etats gauche et droite, 216 : C 217 : C i.e.: 218 : C 219 : C vitesse + cosinus directors du repere local 220 : C densité 221 : C pression 222 : C gamma 223 : C 224 : C**** Cosinus directors du repere local et vitesse 225 : C 226 : C Les cosinus directeurs 227 : C 228 : N1 = 2 229 : N3 = 6 230 : L1 = 28 231 : SEGINI MCHEL1 232 : IVITF = MCHEL1 233 : MCHEL1.TITCHE = 'U ' 234 : MCHEL1.IMACHE(1) = IFACE 235 : MCHEL1.IMACHE(2) = IFACEL 236 : MCHEL1.CONCHE(1) = '(n,t,v)in(x,y,z)' 237 : MCHEL1.CONCHE(2) = ' U in (n,t,v) ' 238 : C 239 : C**** Valeurs des cosinus definies par respect au repair global, i.e. 240 : C 241 : MCHEL1.INFCHE(1,1) = 2 242 : MCHEL1.INFCHE(1,3) = NIFOUR 243 : MCHEL1.INFCHE(1,4) = 0 244 : MCHEL1.INFCHE(1,5) = 0 245 : MCHEL1.INFCHE(1,6) = 0 246 : MCHEL1.IFOCHE = IFOUR 247 : C 248 : C**** Valeurs de vitesse definies par respect au repair local, i.e. 249 : C 250 : MCHEL1.INFCHE(2,1) = 1 251 : MCHEL1.INFCHE(2,3) = NIFOUR 252 : MCHEL1.INFCHE(2,4) = 0 253 : MCHEL1.INFCHE(2,5) = 0 254 : MCHEL1.INFCHE(2,6) = 0 255 : C 256 : C**** Le cosinus directeurs 257 : C 258 : N1PTEL = 1 259 : N1EL = NFAC 260 : N2PTEL = 0 261 : N2EL = 0 262 : C 263 : C**** MCHAML a N2 composantes: 264 : C 265 : C cosinus directeurs du repere local (n,t1,t2)=(n,t,v) 266 : C 267 : C IDIM = 3 -> 9 composantes 268 : C 269 : N2 = 9 270 : SEGINI MCHAM1 271 : MCHEL1.ICHAML(1) = MCHAM1 272 : MCHAM1.NOMCHE(1) = 'NX ' 273 : MCHAM1.NOMCHE(2) = 'NY ' 274 : MCHAM1.NOMCHE(3) = 'NZ ' 275 : MCHAM1.NOMCHE(4) = 'TX ' 276 : MCHAM1.NOMCHE(5) = 'TY ' 277 : MCHAM1.NOMCHE(6) = 'TZ ' 278 : MCHAM1.NOMCHE(7) = 'VX ' 279 : MCHAM1.NOMCHE(8) = 'VY ' 280 : MCHAM1.NOMCHE(9) = 'VZ ' 281 : MCHAM1.TYPCHE(1) = 'REAL*8 ' 282 : MCHAM1.TYPCHE(2) = 'REAL*8 ' 283 : MCHAM1.TYPCHE(3) = 'REAL*8 ' 284 : MCHAM1.TYPCHE(4) = 'REAL*8 ' 285 : MCHAM1.TYPCHE(5) = 'REAL*8 ' 286 : MCHAM1.TYPCHE(6) = 'REAL*8 ' 287 : MCHAM1.TYPCHE(7) = 'REAL*8 ' 288 : MCHAM1.TYPCHE(8) = 'REAL*8 ' 289 : MCHAM1.TYPCHE(9) = 'REAL*8 ' 290 : SEGINI MELVNX 291 : SEGINI MELVNY 292 : SEGINI MELVNZ 293 : SEGINI MELT1X 294 : SEGINI MELT1Y 295 : SEGINI MELT1Z 296 : SEGINI MELT2X 297 : SEGINI MELT2Y 298 : SEGINI MELT2Z 299 : MCHAM1.IELVAL(1) = MELVNX 300 : MCHAM1.IELVAL(2) = MELVNY 301 : MCHAM1.IELVAL(3) = MELVNZ 302 : MCHAM1.IELVAL(4) = MELT1X 303 : MCHAM1.IELVAL(5) = MELT1Y 304 : MCHAM1.IELVAL(6) = MELT1Z 305 : MCHAM1.IELVAL(7) = MELT2X 306 : MCHAM1.IELVAL(8) = MELT2Y 307 : MCHAM1.IELVAL(9) = MELT2Z 308 : SEGDES MCHAM1 309 : C 310 : C**** Vitesse 311 : C 312 : N1EL = NFAC 313 : N1PTEL = 3 314 : N2EL = 0 315 : N2PTEL = 0 316 : C 317 : C**** MCHAML a N2 composantes: 318 : C 319 : C IDIM = 3 -> 3 composantes 320 : C 321 : N2 = 3 322 : SEGINI MCHAM1 323 : MCHEL1.ICHAML(2) = MCHAM1 324 : SEGDES MCHEL1 325 : MCHAM1.NOMCHE(1) = 'UN ' 326 : MCHAM1.NOMCHE(2) = 'UT ' 327 : MCHAM1.NOMCHE(3) = 'UV ' 328 : MCHAM1.TYPCHE(1) = 'REAL*8 ' 329 : MCHAM1.TYPCHE(2) = 'REAL*8 ' 330 : MCHAM1.TYPCHE(3) = 'REAL*8 ' 331 : SEGINI MELVUN 332 : SEGINI MELVUT 333 : SEGINI MELVUV 334 : MCHAM1.IELVAL(1) = MELVUN 335 : MCHAM1.IELVAL(2) = MELVUT 336 : MCHAM1.IELVAL(3) = MELVUV 337 : SEGDES MCHAM1 338 : C 339 : C**** Densite 340 : C 341 : N1 = 1 342 : N3 = 6 343 : L1 = 15 344 : SEGINI MCHEL2 345 : IROF = MCHEL2 346 : MCHEL2.IMACHE(1) = IFACEL 347 : MCHEL2.TITCHE = 'RO ' 348 : MCHEL2.CONCHE(1) = ' ' 349 : C 350 : C**** Valeurs independente du repére, i.e. 351 : C 352 : MCHEL2.INFCHE(1,1) = 0 353 : MCHEL2.INFCHE(1,3) = NIFOUR 354 : MCHEL2.INFCHE(1,4) = 0 355 : MCHEL2.INFCHE(1,5) = 0 356 : MCHEL2.INFCHE(1,6) = 0 357 : MCHEL2.IFOCHE = IFOUR 358 : N2 = 1 359 : SEGINI MCHAM1 360 : MCHEL2.ICHAML(1) = MCHAM1 361 : SEGDES MCHEL2 362 : MCHAM1.NOMCHE(1) = 'SCAL ' 363 : MCHAM1.TYPCHE(1) = 'REAL*8 ' 364 : SEGINI MELRO 365 : MCHAM1.IELVAL(1) = MELRO 366 : SEGDES MCHAM1 367 : C 368 : C**** Pression 369 : C 370 : MCHEL1 = IROF 371 : SEGINI, MCHEL2 = MCHEL1 372 : IPF = MCHEL2 373 : MCHEL2.TITCHE = 'P ' 374 : C 375 : C**** MCHAM1 = MCHAML de la densite 376 : C 377 : SEGINI, MCHAM2 = MCHAM1 378 : MCHEL2.ICHAML(1) = MCHAM2 379 : SEGDES MCHEL2 380 : SEGINI MELP 381 : MCHAM2.IELVAL(1) = MELP 382 : SEGDES MCHAM2 383 : C 384 : C**** Gamma 385 : C 386 : MCHEL1 = IROF 387 : SEGINI, MCHEL2 = MCHEL1 388 : IGAMF = MCHEL2 389 : MCHEL2.TITCHE = 'GAMMA ' 390 : C 391 : C**** MCHAM1 = MCHAML de la densite 392 : C 393 : SEGINI, MCHAM2 = MCHAM1 394 : MCHEL2.ICHAML(1) = MCHAM2 395 : SEGDES MCHEL2 396 : SEGINI MELGAM 397 : MCHAM2.IELVAL(1) = MELGAM 398 : SEGDES MCHAM2 399 : C 400 : C**** Recapitulatif: les MELVALs et les MPOVALs actives 401 : C 402 : C MELVNX, MELVNY, MELVNZ 403 : C MELT1X, MELT1Y, MELT1Z 404 : C MELT2X, MELT2Y, MELT2Z 405 : C 406 : C MELVUN, MELVUT , MELVUN-> vitesse 407 : C 408 : C MELRO -> densite 409 : C 410 : C MELP -> pression 411 : C 412 : C MELGAM -> gamma 413 : C 414 : C MPROC -> densite 415 : C 416 : C MPVITC -> vitesse 417 : C 418 : C MPPC -> pression 419 : C 420 : C MPGAMC -> gamma 421 : C 422 : C MPNORM -> normales aux faces 423 : C 424 : C**** Boucle sur le faces 425 : C 426 : IDIMP1=IDIM+1 427 : DO NLCF = 1, NFAC 428 : C 429 : C******* NLCF = numero local du centre de face 430 : C NGCF = numero global du centre de face 431 : C NGCEG = numero global du centre ELT "gauche" 432 : C NLCEG = numero local du centre ELT "gauche" 433 : C NGCED = numero global du centre ELT "droite" 434 : C NLCED = numero local du centre ELT "droite" 435 : C 436 : NGCEG = IPT1.NUM(1,NLCF) 437 : NGCF = IPT1.NUM(2,NLCF) 438 : NGCED = IPT1.NUM(3,NLCF) 439 : NLCEG = MLENT1.LECT(NGCEG) 440 : NLCED = MLENT1.LECT(NGCED) 441 : C 442 : C******* TEST: IPT2.NUM(1,NLCF) = IPT1.NUM(2,NLCF) 443 : C 444 : NGCF1 = IPT2.NUM(1,NLCF) 445 : IF( NGCF1 .NE. NGCF) THEN 446 : LOGAN = .TRUE. 447 : MESERR(1:40) = 'PRET, subroutine pre112.eso ' 448 : GOTO 9999 449 : ENDIF 450 : C 451 : C******* Cosinus directeurs des NORMALES aux faces 452 : C 453 : C On impose que les normales sont direct "Gauche" -> "Centre" 454 : C 455 : INDCEL = (NGCEG-1)*IDIMP1 456 : XG = XCOOR(INDCEL+1) 457 : YG = XCOOR(INDCEL+2) 458 : ZG = XCOOR(INDCEL+3) 459 : INDCEL = (NGCF-1)*IDIMP1 460 : XC = XCOOR(INDCEL + 1) 461 : YC = XCOOR(INDCEL + 2) 462 : ZC = XCOOR(INDCEL+3) 463 : DXG = XC - XG 464 : DYG = YC - YG 465 : DZG = ZC - ZG 466 : C 467 : C******* On calcule le sign du pruduit scalare 468 : C (Normales de Castem) * (vecteur "gauche" -> "centre") 469 : C 470 : CNX = MPNORM.VPOCHA(NLCF,7) 471 : CNY = MPNORM.VPOCHA(NLCF,8) 472 : CNZ = MPNORM.VPOCHA(NLCF,9) 473 : ORIENT = CNX * DXG + CNY * DYG + CNZ * DZG 474 : ORIENT = SIGN(1.0D0,ORIENT) 475 : IF(ORIENT .NE. 1.0D0)THEN 476 : LOGAN = .TRUE. 477 : MESERR(1:30)= 478 : & 'PRET , subroutine pre121.eso. ' 479 : GOTO 9999 480 : ENDIF 481 : CNX = CNX * ORIENT 482 : CNY = CNY * ORIENT 483 : CNZ = CNZ * ORIENT 484 : C 485 : C********** Cosinus directeurs de tangente 1 486 : C 487 : CTX = MPNORM.VPOCHA(NLCF,1) * ORIENT 488 : CTY = MPNORM.VPOCHA(NLCF,2) * ORIENT 489 : CTZ = MPNORM.VPOCHA(NLCF,3) * ORIENT 490 : C 491 : C********** Cosinus directeurs de tangente 2 492 : C 493 : CVX = MPNORM.VPOCHA(NLCF,4) * ORIENT 494 : CVY = MPNORM.VPOCHA(NLCF,5) * ORIENT 495 : CVZ = MPNORM.VPOCHA(NLCF,6) * ORIENT 496 : C 497 : C******* Les autres MELVALs 498 : C 499 : C 500 : C******* N.B.: On suppose qu'on a déjà controlle RO, P > 0 501 : C GAMMA \in (1,3) 502 : C Si non il faut le faire, en utlisant LOGBOR, 503 : C LOGNEG, VALER, VAL1, VAL2 504 : C 505 : C 506 : C 507 : C******* NGCEG = NGCED -> Mur 508 : C 509 : IF( NGCEG .EQ. NGCED)THEN 510 : ROG = MPROC.VPOCHA(NLCEG , 1) 511 : PG = MPPC.VPOCHA(NLCEG, 1) 512 : GAMG = MPGAMC.VPOCHA(NLCEG, 1) 513 : UXG = MPVITC.VPOCHA(NLCEG , 1) 514 : UYG = MPVITC.VPOCHA(NLCEG , 2) 515 : UZG = MPVITC.VPOCHA(NLCEG , 3) 516 : UNG = UXG * CNX + UYG * CNY + UZG * CNZ 517 : UTG = UXG * CTX + UYG * CTY + UZG * CTZ 518 : UVG = UXG * CVX + UYG * CVY + UZG * CVZ 519 : C 520 : C********** Son etat droite 521 : C 522 : ROD = ROG 523 : PD = PG 524 : GAMD = GAMG 525 : UND = -1.0D0 * UNG 526 : UTD = UTG 527 : UVD = UVG 528 : C 529 : C************* Fin cas mur 530 : C 531 : ELSE 532 : C 533 : C************* Etat gauche 534 : C 535 : ROG = MPROC.VPOCHA(NLCEG, 1) 536 : PG = MPPC.VPOCHA(NLCEG, 1) 537 : GAMG = MPGAMC.VPOCHA(NLCEG, 1) 538 : UXG = MPVITC.VPOCHA(NLCEG , 1) 539 : UYG = MPVITC.VPOCHA(NLCEG , 2) 540 : UZG = MPVITC.VPOCHA(NLCEG , 3) 541 : UNG = UXG * CNX + UYG * CNY + UZG * CNZ 542 : UTG = UXG * CTX + UYG * CTY + UZG * CTZ 543 : UVG = UXG * CVX + UYG * CVY + UZG * CVZ 544 : C 545 : C********** Etat gauche 546 : C 547 : ROD = MPROC.VPOCHA(NLCED,1) 548 : PD = MPPC.VPOCHA(NLCED,1) 549 : GAMD = MPGAMC.VPOCHA(NLCED,1) 550 : C 551 : C************* On suppose qu'on a déjà controlle ROG, PG > 0 552 : C Si non il faut le faire!!! 553 : C 554 : UXD = MPVITC.VPOCHA(NLCED,1) 555 : UYD = MPVITC.VPOCHA(NLCED,2) 556 : UZD = MPVITC.VPOCHA(NLCED,3) 557 : UND = UXD * CNX + UYD * CNY + UZD * CNZ 558 : UTD = UXD * CTX + UYD * CTY + UZD * CTZ 559 : UVD = UXD * CVX + UYD * CVY + UZD * CVZ 560 : ENDIF 561 : C 562 : C************* Les MELVALs 563 : C 564 : MELRO.VELCHE(1,NLCF) = ROG 565 : MELRO.VELCHE(3,NLCF) = ROD 566 : MELP.VELCHE(1,NLCF) = PG 567 : MELP.VELCHE(3,NLCF) = PD 568 : MELGAM.VELCHE(1,NLCF) = GAMG 569 : MELGAM.VELCHE(3,NLCF) = GAMD 570 : MELVUN.VELCHE(1,NLCF) = UNG 571 : MELVUN.VELCHE(3,NLCF) = UND 572 : MELVUT.VELCHE(1,NLCF) = UTG 573 : MELVUT.VELCHE(3,NLCF) = UTD 574 : MELVUV.VELCHE(1,NLCF) = UVG 575 : MELVUV.VELCHE(3,NLCF) = UVD 576 : MELVNX.VELCHE(1,NLCF) = CNX 577 : MELVNY.VELCHE(1,NLCF) = CNY 578 : MELVNZ.VELCHE(1,NLCF) = CNZ 579 : MELT1X.VELCHE(1,NLCF) = CTX 580 : MELT1Y.VELCHE(1,NLCF) = CTY 581 : MELT1Z.VELCHE(1,NLCF) = CTZ 582 : MELT2X.VELCHE(1,NLCF) = CVX 583 : MELT2Y.VELCHE(1,NLCF) = CVY 584 : MELT2Z.VELCHE(1,NLCF) = CVZ 585 : ENDDO 586 : C 587 : C**** Desactivation des SEGMENTs 588 : C 589 : SEGDES IPT1 590 : SEGDES IPT2 591 : C 592 : SEGDES MPROC 593 : SEGDES MPVITC 594 : SEGDES MPPC 595 : SEGDES MPGAMC 596 : SEGDES MPNORM 597 : C 598 : SEGDES MELRO 599 : SEGDES MELP 600 : SEGDES MELGAM 601 : SEGDES MELVUN 602 : SEGDES MELVUT 603 : SEGDES MELVUV 604 : SEGDES MELVNX 605 : SEGDES MELVNY 606 : SEGDES MELVNZ 607 : SEGDES MELT1X 608 : SEGDES MELT1Y 609 : SEGDES MELT1Z 610 : SEGDES MELT2X 611 : SEGDES MELT2Y 612 : SEGDES MELT2Z 613 : C 614 : C**** Destruction du MELNTI correspondance local/global 615 : C 616 : SEGSUP MLENT1 617 : C 618 : 9999 CONTINUE 619 : C 620 : RETURN 621 : END 622 : 623 : 624 : 625 : 626 : 627 : 628 : 629 : 630 :
© Cast3M 2003 - All rights reserved.
Disclaimer