1 : C DYNE27 SOURCE CHAT 05/01/12 23:16:19 5004 2 : SUBROUTINE DYNE27(ITABL,ITLIA,KTRAV,II,NLS,NVAR,NPLB) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : *--------------------------------------------------------------------* 6 : * * 7 : * Opérateur DYNE : algorithme de Fu - de Vogelaere * 8 : * ________________________________________________ * 9 : * * 10 : * Dimensionne les variables NLS et NVAR * 11 : * * 12 : * Paramètres: * 13 : * * 14 : * e ITABL Table définissant les liaisons en sortie. * 15 : * e ITLIA Table définissant toutes les liaisons sur une base. * 16 : * e KTRAV Segment de travail * 17 : * es II Compteur * 18 : * s NLS Nombre de demandes de liaisons en sortie * 19 : * s NVAR Nombre maxi de variables internes de liaisons * 20 : * * 21 : * * 22 : * Auteur, date de création: * 23 : * * 24 : * Lionel VIVAN, le 2 octobre 1989. * 25 : * Ibrahim PINTO, 05/97 ,liaisons ligne_cercle * 26 : *--------------------------------------------------------------------* 27 : -INC CCOPTIO 28 : * 29 : SEGMENT,MTRAV 30 : INTEGER ICHRE2(NBLS),MPOLA(NBLS),MNULA(NBLS) 31 : INTEGER MPOLB(NBLS),MNULB(NBLS) 32 : INTEGER IVLIAA(NBLS,NTVAR),INLIAA(NBLS,NTVAR) 33 : INTEGER IVLIAB(NBLS,NTVAR),INLIAB(NBLS,NTVAR) 34 : ENDSEGMENT 35 : * 36 : LOGICAL L0,L1,LVAR,CHPO 37 : CHARACTER*8 MONMOT,TYPRET,MONSEUIL,CHARRE 38 : CHARACTER*40 CMOT 39 : * 40 : MTRAV = KTRAV 41 : NLS = 0 42 : NVAR = 0 43 : 44 : 45 : 46 : 47 : * 48 : * recherche des liaisons en sortie 49 : * 50 : INDICE = 0 51 : CHPO= .FALSE. 52 : 100 CONTINUE 53 : INDICE = INDICE + 1 54 : TYPRET = ' ' 54 : CALL ACCTAB(ITLIA,'ENTIER',INDICE,X0,' ',L0,IP0, 55 : & TYPRET,I1,X1,CHARRE,L1,ITTL) 56 : IF (TYPRET.EQ.'TABLE ' .AND. ITTL.NE.0) THEN 57 : TYPRET = ' ' 57 : CALL ACCTAB(ITABL,'TABLE',I0,X0,' ',L0,ITTL, 58 : & TYPRET,I1,X1,CHARRE,LVAR,ITVAR) 59 : * 60 : * toutes les variables de la liaison sont en sortie 61 : * 62 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR) THEN 63 : NLS = NLS + 1 64 : MNULB(NLS) = INDICE 65 : MPOLB(NLS) = ITTL 65 : CALL ACCTAB(ITTL,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0, 66 : & 'MOT',I1,X1,CMOT,L1,IP1) 67 : MONMOT = ' ' 67 : CALL ACCTAB(ITTL,'MOT',I0,X0,'AMORTISSEMENT',L0,IP0, 68 : & MONMOT,I1,XAMO,CHARRE,L1,IP1) 69 : * 70 : IF (CMOT(1:21).EQ.'POINT_PLAN_FROTTEMENT' .OR. 71 : & CMOT(1:23).EQ.'POINT_CERCLE_FROTTEMENT'.OR. 72 : & CMOT(1:19).EQ.'POINT_CERCLE_MOBILE') THEN 73 : IF (MONMOT.EQ.'FLOTTANT') THEN 74 : IVAR = 5 + IDIM 75 : IVLIAB(NLS,3) = 1 76 : INLIAB(NLS,3) = 39 77 : ELSE 78 : IVAR = 4 + IDIM 79 : ENDIF 80 : NVAR = MAX(NVAR,IVAR) 81 : II = II + 1 82 : IDD2 = 3 + 2*IDIM 83 : ICHRE2(II) = IVAR 84 : IVLIAB(NLS,1) = 1 85 : INLIAB(NLS,1) = 36 86 : IVLIAB(NLS,IDD2+1) = 1 87 : INLIAB(NLS,IDD2+1) = 37 88 : IVLIAB(NLS,IDD2+2) = 1 89 : INLIAB(NLS,IDD2+2) = 81 90 : IVLIAB(NLS,IDD2+3) = 1 91 : INLIAB(NLS,IDD2+3) = 38 92 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 93 : IP = 18 94 : ELSE 95 : IP = 15 96 : ENDIF 97 : DO 210 ID = 1,IDIM 98 : ID2 = 3 + ID 99 : IVLIAB(NLS,ID2) = 1 100 : INLIAB(NLS,ID2) = IP + ID 101 : 210 CONTINUE 102 : * END DO 103 : * 104 : ELSE IF (CMOT(1:22).EQ.'LIGNE_LIGNE_FROTTEMENT') THEN 105 : ivar = 2 106 : NVAR = MAX(NVAR,IVAR) 107 : II = II + 1 108 : IDD2 = 3 + 2*IDIM 109 : ICHRE2(II) = IVAR 110 : IVLIAB(NLS,1) = 1 111 : INLIAB(NLS,1) = 36 112 : IVLIAB(NLS,10) = 1 113 : INLIAB(NLS,10) = 37 114 : 115 : ELSE IF 116 : &(CMOT(1:23).EQ.'LIGNE_CERCLE_FROTTEMENT') THEN 117 : IF (MONMOT.EQ.'FLOTTANT') THEN 118 : IVAR = 5 + IDIM 119 : IVLIAB(NLS,3) = 1 120 : INLIAB(NLS,3) = 39 121 : ELSE 122 : IVAR = 4 + IDIM 123 : ENDIF 124 : NVAR = MAX(NVAR,IVAR) 125 : II = II + 1 126 : IDD2 = 3 + 2*IDIM 127 : ICHRE2(II) = IVAR 128 : IVLIAB(NLS,1) = 1 129 : INLIAB(NLS,1) = 36 130 : IVLIAB(NLS,IDD2+1) = 1 131 : INLIAB(NLS,IDD2+1) = 37 132 : IVLIAB(NLS,IDD2+2) = 1 133 : INLIAB(NLS,IDD2+2) = 81 134 : IVLIAB(NLS,IDD2+3) = 1 135 : INLIAB(NLS,IDD2+3) = 38 136 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 137 : IP = 106 138 : ELSE 139 : IP = 103 140 : ENDIF 141 : DO 213 ID = 1,IDIM 142 : ID2 = 3 + ID 143 : IVLIAB(NLS,ID2) = 1 144 : INLIAB(NLS,ID2) = IP + ID 145 : 213 CONTINUE 146 : 147 : 148 : 149 : 150 : 151 : 152 : ELSE IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN 153 : IVAR = 6 + IDIM 154 : NVAR = MAX(NVAR,IVAR) 155 : II = II + 1 156 : ICHRE2(II) = IVAR 157 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 158 : IP = 18 159 : ELSE 160 : IP = 15 161 : ENDIF 162 : DO 220 ID = 1,IDIM 163 : IVLIAB(NLS,ID) = 1 164 : INLIAB(NLS,ID) = IP + ID 165 : 220 CONTINUE 166 : * END DO 167 : ID1 = IDIM + 1 168 : IVLIAB(NLS,ID1) = 1 169 : INLIAB(NLS,ID1) = 39 170 : ID2 = ID1 + 1 171 : IVLIAB(NLS,ID2) = 1 172 : INLIAB(NLS,ID2) = 76 173 : ID3 = ID2 + 1 174 : IVLIAB(NLS,ID3) = 1 175 : INLIAB(NLS,ID3) = 75 176 : ID4 = ID3 + 1 177 : IVLIAB(NLS,ID4) = 1 178 : INLIAB(NLS,ID4) = 70 179 : ID5 = ID4 + 1 180 : IVLIAB(NLS,ID5) = 1 181 : INLIAB(NLS,ID5) = 71 182 : ID6 = ID5 + 1 183 : IVLIAB(NLS,ID6) = 1 184 : INLIAB(NLS,ID6) = 72 185 : 186 : 187 : 188 : * 189 : ELSE IF (CMOT(1:22).EQ.'CERCLE_PLAN_FROTTEMENT' .OR. 190 : & CMOT(1:24).EQ.'CERCLE_CERCLE_FROTTEMENT') THEN 191 : IF (MONMOT.EQ.'FLOTTANT') THEN 192 : IVAR = 4 + 4*IDIM 193 : IVLIAB(NLS,3) = 1 194 : INLIAB(NLS,3) = 39 195 : ELSE 196 : IVAR = 3 + 4*IDIM 197 : ENDIF 198 : NVAR = MAX(NVAR,IVAR) 199 : II = II + 1 200 : IDD1 = 3 + IDIM 201 : IDD2 = 3 + 2*IDIM 202 : IDD3 = 6 + 2*IDIM 203 : IDD4 = 6 + 3*IDIM 204 : ICHRE2(II) = IVAR 205 : IVLIAB(NLS,1) = 1 206 : INLIAB(NLS,1) = 36 207 : IVLIAB(NLS,IDD2+1) = 1 208 : INLIAB(NLS,IDD2+1) = 37 209 : IVLIAB(NLS,IDD2+3) = 1 210 : INLIAB(NLS,IDD2+3) = 38 211 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 212 : IP2 = 53 213 : IP3 = 59 214 : IP4 = 47 215 : IP5 = 65 216 : ELSE 217 : IP2 = 50 218 : IP3 = 56 219 : IP4 = 44 220 : IP5 = 62 221 : ENDIF 222 : DO 310 ID = 1,IDIM 223 : ID2 = 3 + ID 224 : ID3 = IDD1 + ID 225 : ID4 = IDD3 + ID 226 : ID5 = IDD4 + ID 227 : IVLIAB(NLS,ID2) = 1 228 : INLIAB(NLS,ID2) = IP2 + ID 229 : IVLIAB(NLS,ID3) = 1 230 : INLIAB(NLS,ID3) = IP3 + ID 231 : IVLIAB(NLS,ID4) = 1 232 : INLIAB(NLS,ID4) = IP4 + ID 233 : IVLIAB(NLS,ID5) = 1 234 : INLIAB(NLS,ID5) = IP5 + ID 235 : 310 CONTINUE 236 : * END DO 237 : * 238 : ELSE IF (CMOT(1:10).EQ.'POINT_PLAN' .OR. 239 : & CMOT(1:12).EQ.'POINT_CERCLE') THEN 240 : IF (MONMOT.EQ.'FLOTTANT') THEN 241 : IVAR = 2 + IDIM 242 : IVLIAB(NLS,3) = 1 243 : INLIAB(NLS,3) = 39 244 : ELSE 245 : IVAR = 1 + IDIM 246 : ENDIF 247 : ** ianis 248 : MONSEUIL = ' ' 248 : CALL ACCTAB(ITTL,'MOT',I0,X0,'SEUIL_PLASTIQUE',L0,IP0, 249 : & MONSEUIL,I1,XSEUIL,CHARRE,L1,IP1) 250 : IF (MONSEUIL.EQ.'FLOTTANT'.OR.MONSEUIL.EQ.'ENTIER ')THEN 251 : IVAR = IVAR + 1 252 : IVLIAB(NLS,13) = 1 253 : INLIAB(NLS,13) = 82 254 : ENDIF 255 : * 256 : NVAR = MAX(NVAR,IVAR) 257 : II = II + 1 258 : ICHRE2(II) = IVAR 259 : IVLIAB(NLS,1) = 1 260 : INLIAB(NLS,1) = 15 261 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 262 : IP = 18 263 : ELSE 264 : IP = 15 265 : ENDIF 266 : DO 102 ID = 1,IDIM 267 : ID2 = 3 + ID 268 : IVLIAB(NLS,ID2) = 1 269 : INLIAB(NLS,ID2) = IP + ID 270 : 102 CONTINUE 271 : * END DO 272 : * 273 : ELSE IF (CMOT(1:22).EQ.'POINT_POINT_FROTTEMENT') THEN 274 : IF (MONMOT.EQ.'FLOTTANT') THEN 275 : IVAR = 5 + 2 *IDIM 276 : IVLIAB(NLS,3) = 1 277 : INLIAB(NLS,3) = 39 278 : ELSE 279 : IVAR = 4 + 2 *IDIM 280 : ENDIF 281 : NVAR = MAX(NVAR,IVAR) 282 : II = II + 1 283 : ICHRE2(II) = IVAR 284 : IVLIAB(NLS,1) = 1 285 : IVLIAB(NLS,2) = 1 286 : INLIAB(NLS,1) = 22 287 : INLIAB(NLS,2) = 23 288 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 289 : IP1 = 26 290 : IP2 = 32 291 : ELSE 292 : IP1 = 23 293 : IP2 = 29 294 : ENDIF 295 : DO 103 ID = 1,IDIM 296 : ID2 = 3 + ID 297 : ID3 = ID2 + IDIM 298 : IVLIAB(NLS,ID2) = 1 299 : IVLIAB(NLS,ID3) = 1 300 : INLIAB(NLS,ID2) = IP1 + ID 301 : INLIAB(NLS,ID3) = IP2 + ID 302 : 103 CONTINUE 303 : IVLIAB(NLS,4 + 2 * idim) = 1 304 : InLIAB(NLS,4 + 2 * idim) = 37 305 : IVLIAB(NLS,6 + 2 * idim) = 1 306 : InLIAB(NLS,6 + 2 * idim) = 38 307 : * END DO 308 : * 309 : ELSE IF 310 : & (CMOT(1:33).EQ.'POINT_POINT_DEPLACEMENT_PLASTIQUE') THEN 311 : IF (MONMOT.EQ.'FLOTTANT') THEN 312 : IVAR = 5 + 2 *IDIM 313 : IVLIAB(NLS,3) = 1 314 : INLIAB(NLS,3) = 39 315 : ELSE 316 : IVAR = 4 + 2 *IDIM 317 : ENDIF 318 : IVAR = IVAR + 1 319 : IVLIAB(NLS,13) = 1 320 : INLIAB(NLS,13) = 82 321 : IVLIAB(NLS,14) = 1 322 : INLIAB(NLS,14) = 100 323 : IVLIAB(NLS,15) = 1 324 : INLIAB(NLS,15) = 111 325 : * 326 : NVAR = MAX(NVAR,IVAR) 327 : II = II + 1 328 : ICHRE2(II) = IVAR 329 : IVLIAB(NLS,1) = 1 330 : IVLIAB(NLS,2) = 1 331 : INLIAB(NLS,1) = 22 332 : INLIAB(NLS,2) = 23 333 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 334 : IP1 = 26 335 : IP2 = 32 336 : ELSE 337 : IP1 = 23 338 : IP2 = 29 339 : ENDIF 340 : DO 105 ID = 1,IDIM 341 : ID2 = 3 + ID 342 : ID3 = ID2 + IDIM 343 : IVLIAB(NLS,ID2) = 1 344 : IVLIAB(NLS,ID3) = 1 345 : INLIAB(NLS,ID2) = IP1 + ID 346 : INLIAB(NLS,ID3) = IP2 + ID 347 : 105 CONTINUE 348 : * 349 : * 350 : ELSE IF 351 : & (CMOT(1:30).EQ.'POINT_POINT_ROTATION_PLASTIQUE') THEN 352 : IF (MONMOT.EQ.'FLOTTANT') THEN 353 : IVAR = 5 + 2 *IDIM 354 : IVLIAB(NLS,3) = 1 355 : INLIAB(NLS,3) = 101 356 : ELSE 357 : IVAR = 4 + 2 *IDIM 358 : ENDIF 359 : IVAR = IVAR + 1 360 : IVLIAB(NLS,13) = 1 361 : INLIAB(NLS,13) = 102 362 : IVLIAB(NLS,14) = 1 363 : INLIAB(NLS,14) = 99 364 : IVLIAB(NLS,15) = 1 365 : INLIAB(NLS,15) = 112 366 : * 367 : NVAR = MAX(NVAR,IVAR) 368 : II = II + 1 369 : ICHRE2(II) = IVAR 370 : IVLIAB(NLS,1) = 1 371 : IVLIAB(NLS,2) = 1 372 : INLIAB(NLS,1) = 85 373 : INLIAB(NLS,2) = 86 374 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 375 : IP1 = 89 376 : IP2 = 95 377 : ELSE 378 : IP1 = 86 379 : IP2 = 92 380 : ENDIF 381 : DO 400 ID = 1,IDIM 382 : ID2 = 3 + ID 383 : ID3 = ID2 + IDIM 384 : IVLIAB(NLS,ID2) = 1 385 : IVLIAB(NLS,ID3) = 1 386 : INLIAB(NLS,ID2) = IP1 + ID 387 : INLIAB(NLS,ID3) = IP2 + ID 388 : 400 CONTINUE 389 : * 390 : * 391 : ELSE IF (CMOT(1:11).EQ.'POINT_POINT') THEN 392 : IF (MONMOT.EQ.'FLOTTANT') THEN 393 : IVAR = 3 + 2 *IDIM 394 : IVLIAB(NLS,3) = 1 395 : INLIAB(NLS,3) = 39 396 : ELSE 397 : IVAR = 2 + 2 *IDIM 398 : ENDIF 399 : NVAR = MAX(NVAR,IVAR) 400 : II = II + 1 401 : ICHRE2(II) = IVAR 402 : IVLIAB(NLS,1) = 1 403 : IVLIAB(NLS,2) = 1 404 : INLIAB(NLS,1) = 22 405 : INLIAB(NLS,2) = 23 406 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 407 : IP1 = 26 408 : IP2 = 32 409 : ELSE 410 : IP1 = 23 411 : IP2 = 29 412 : ENDIF 413 : DO 104 ID = 1,IDIM 414 : ID2 = 3 + ID 415 : ID3 = ID2 + IDIM 416 : IVLIAB(NLS,ID2) = 1 417 : IVLIAB(NLS,ID3) = 1 418 : INLIAB(NLS,ID2) = IP1 + ID 419 : INLIAB(NLS,ID3) = IP2 + ID 420 : 104 CONTINUE 421 : * END DO 422 : ELSE IF (CMOT(1:23).EQ.'PROFIL_PROFIL_INTERIEUR' .OR. 423 : & CMOT(1:23).EQ.'PROFIL_PROFIL_EXTERIEUR') THEN 424 : IVAR = 1 + IDIM 425 : NVAR = MAX(NVAR,IVAR) 426 : II = II + 1 427 : ICHRE2(II) = IVAR 428 : IVLIAB(NLS,1) = 1 429 : INLIAB(NLS,1) = 15 430 : IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN 431 : IP = 18 432 : ELSE 433 : IP = 15 434 : ENDIF 435 : DO 106 ID = 1,IDIM 436 : ID2 = 3 + ID 437 : IVLIAB(NLS,ID2) = 1 438 : INLIAB(NLS,ID2) = IP + ID 439 : 106 CONTINUE 440 : * END DO 441 : * 442 : * Ajout liaison PALIER_FLUIDE 443 : ELSE IF (CMOT(1:13).EQ.'PALIER_FLUIDE') THEN 443 : CALL ACCTAB(ITTL,'MOT',I0,X0,'MODELE_PALIER',L0,IP0, 444 : & 'MOT',I1,X0,MONMOT,L1,IP1) 445 : IF (IERR.NE.0) RETURN 446 : IF (MONMOT.EQ.'RODELI') THEN 447 : IVAR = 7 448 : NVAR = MAX(NVAR,IVAR) 449 : II = II + 1 450 : ICHRE2(II) = IVAR 451 : IP = 112 452 : DO 410 ID = 1,7 453 : IVLIAB(NLS,ID) = 1 454 : INLIAB(NLS,ID) = IP + ID 455 : 410 CONTINUE 456 : C ELSE IF 457 : ENDIF 458 : * Fin ajout liaison PALIER_FLUIDE 459 : ELSE 459 : CALL ERREUR(490) 460 : RETURN 461 : ENDIF 462 : * 463 : * choix sur certaines variables de la liaison en sortie 464 : * 465 : ELSE IF (TYPRET.EQ.'TABLE ' .AND. ITVAR.NE.0) THEN 466 : NLS = NLS + 1 467 : MNULB(NLS) = INDICE 468 : MPOLB(NLS) = ITTL 468 : CALL ACCTAB(ITTL,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0, 469 : & 'MOT',I1,X1,CMOT,L1,IT1) 470 : IVAR = 0 471 : * 472 : IF (CMOT(1:21).EQ.'POINT_PLAN_FROTTEMENT' .OR. 473 : & CMOT(1:23).EQ.'POINT_CERCLE_FROTTEMENT'.OR. 474 : & CMOT(1:19).EQ.'POINT_CERCLE_MOBILE') THEN 475 : TYPRET = ' ' 475 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE', 476 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 477 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 478 : IVAR = IVAR + 1 479 : IVLIAB(NLS,1) = 1 480 : INLIAB(NLS,1) = 36 481 : ENDIF 482 : TYPRET = ' ' 482 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE', 483 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 484 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 485 : IVAR = IVAR + 1 486 : IVLIAB(NLS,10) = 1 487 : INLIAB(NLS,10) = 37 488 : ENDIF 489 : TYPRET = ' ' 489 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE', 490 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 491 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 492 : IVAR = IVAR + 1 493 : IVLIAB(NLS,12) = 1 494 : INLIAB(NLS,12) = 38 495 : ENDIF 496 : TYPRET = ' ' 496 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 497 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 498 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 499 : IVAR = IVAR + 1 500 : IVLIAB(NLS,3) = 1 501 : INLIAB(NLS,3) = 39 502 : ENDIF 503 : TYPRET = ' ' 503 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE', 504 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 505 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 506 : IVAR = IVAR + 1 507 : IVLIAB(NLS,11) = 1 508 : INLIAB(NLS,11) = 81 509 : ENDIF 510 : TYPRET = ' ' 510 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX', 511 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 512 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 513 : IVAR = IVAR + 1 514 : IVLIAB(NLS,4) = 1 515 : INLIAB(NLS,4) = 16 516 : ENDIF 517 : TYPRET = ' ' 517 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY', 518 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 519 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 520 : IVAR = IVAR + 1 521 : IVLIAB(NLS,5) = 1 522 : INLIAB(NLS,5) = 17 523 : ENDIF 524 : TYPRET = ' ' 524 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ', 525 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 526 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 527 : IVAR = IVAR + 1 528 : IVLIAB(NLS,6) = 1 529 : INLIAB(NLS,6) = 18 530 : ENDIF 531 : TYPRET = ' ' 531 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR', 532 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 533 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 534 : IVAR = IVAR + 1 535 : IVLIAB(NLS,4) = 1 536 : INLIAB(NLS,4) = 19 537 : ENDIF 538 : TYPRET = ' ' 538 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT', 539 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 540 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 541 : IVAR = IVAR + 1 542 : IVLIAB(NLS,5) = 1 543 : INLIAB(NLS,5) = 20 544 : ENDIF 545 : IF (IVAR.EQ.0) THEN 545 : CALL ERREUR(496) 546 : RETURN 547 : ENDIF 548 : * 549 : ELSE IF (CMOT(1:22).EQ.'LIGNE_LIGNE_FROTTEMENT') THEN 550 : TYPRET = ' ' 550 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE', 551 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 552 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 553 : IVAR = IVAR + 1 554 : IVLIAB(NLS,1) = 1 555 : INLIAB(NLS,1) = 36 556 : ENDIF 557 : TYPRET = ' ' 557 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE', 558 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 559 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 560 : IVAR = IVAR + 1 561 : IVLIAB(NLS,10) = 1 562 : INLIAB(NLS,10) = 37 563 : ENDIF 564 : TYPRET = ' ' 564 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE', 565 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 566 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 567 : IVAR = IVAR + 1 568 : IVLIAB(NLS,12) = 1 569 : INLIAB(NLS,12) = 38 570 : ENDIF 571 : TYPRET = ' ' 571 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 572 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 573 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 574 : IVAR = IVAR + 1 575 : IVLIAB(NLS,3) = 1 576 : INLIAB(NLS,3) = 39 577 : ENDIF 578 : TYPRET = ' ' 578 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE', 579 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 580 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 581 : IVAR = IVAR + 1 582 : IVLIAB(NLS,11) = 1 583 : INLIAB(NLS,11) = 81 584 : ENDIF 585 : TYPRET = ' ' 585 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_DE_CONTACT', 586 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 587 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 588 : IVAR = IVAR + 1 589 : IVLIAB(NLS,4) = 1 590 : INLIAB(NLS,4) = 104 591 : ENDIF 592 : TYPRET = ' ' 592 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_DE_CONTACT', 593 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 594 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 595 : IVAR = IVAR + 1 596 : IVLIAB(NLS,5) = 1 597 : INLIAB(NLS,5) = 105 598 : ENDIF 599 : TYPRET = ' ' 599 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_DE_CONTACT', 600 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 601 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 602 : IVAR = IVAR + 1 603 : IVLIAB(NLS,6) = 1 604 : INLIAB(NLS,6) = 106 605 : ENDIF 606 : TYPRET = ' ' 606 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_DE_CONTACT', 607 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 608 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 609 : IVAR = IVAR + 1 610 : IVLIAB(NLS,4) = 1 611 : INLIAB(NLS,4) = 107 612 : ENDIF 613 : TYPRET = ' ' 613 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_DE_CONTACT', 614 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 615 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 616 : IVAR = IVAR + 1 617 : IVLIAB(NLS,5) = 1 618 : INLIAB(NLS,5) = 108 619 : ENDIF 620 : TYPRET = ' ' 620 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'CHPOINT_FORCE_DE_CHOC', 621 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 622 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 623 : IVLIAB(NLS,7) = 2 624 : INLIAB(NLS,7) = 110 625 : CHPO= .TRUE. 626 : II = II + 1 627 : ICHRE2(II) = IVAR +1 628 : IVAR = IVAR + NPLB*2 629 : ENDIF 630 : IF (IVAR.EQ.0) THEN 630 : CALL ERREUR(496) 631 : RETURN 632 : ENDIF 633 : * 634 : 635 : * liaisons ligne_cercle 636 : 637 : ELSE IF 638 : & (CMOT(1:23).EQ.'LIGNE_CERCLE_FROTTEMENT') THEN 639 : TYPRET = ' ' 639 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE', 640 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 641 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 642 : IVAR = IVAR + 1 643 : IVLIAB(NLS,1) = 1 644 : INLIAB(NLS,1) = 36 645 : ENDIF 646 : TYPRET = ' ' 646 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE', 647 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 648 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 649 : IVAR = IVAR + 1 650 : IVLIAB(NLS,10) = 1 651 : INLIAB(NLS,10) = 37 652 : ENDIF 653 : TYPRET = ' ' 653 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE', 654 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 655 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 656 : IVAR = IVAR + 1 657 : IVLIAB(NLS,12) = 1 658 : INLIAB(NLS,12) = 38 659 : ENDIF 660 : TYPRET = ' ' 660 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 661 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 662 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 663 : IVAR = IVAR + 1 664 : IVLIAB(NLS,3) = 1 665 : INLIAB(NLS,3) = 39 666 : ENDIF 667 : TYPRET = ' ' 667 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE', 668 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 669 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 670 : IVAR = IVAR + 1 671 : IVLIAB(NLS,11) = 1 672 : INLIAB(NLS,11) = 81 673 : ENDIF 674 : TYPRET = ' ' 674 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_DE_CONTACT', 675 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 676 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 677 : IVAR = IVAR + 1 678 : IVLIAB(NLS,4) = 1 679 : INLIAB(NLS,4) = 104 680 : ENDIF 681 : TYPRET = ' ' 681 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_DE_CONTACT', 682 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 683 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 684 : IVAR = IVAR + 1 685 : IVLIAB(NLS,5) = 1 686 : INLIAB(NLS,5) = 105 687 : ENDIF 688 : TYPRET = ' ' 688 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_DE_CONTACT', 689 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 690 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 691 : IVAR = IVAR + 1 692 : IVLIAB(NLS,6) = 1 693 : INLIAB(NLS,6) = 106 694 : ENDIF 695 : TYPRET = ' ' 695 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_DE_CONTACT', 696 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 697 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 698 : IVAR = IVAR + 1 699 : IVLIAB(NLS,4) = 1 700 : INLIAB(NLS,4) = 107 701 : ENDIF 702 : TYPRET = ' ' 702 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_DE_CONTACT', 703 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 704 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 705 : IVAR = IVAR + 1 706 : IVLIAB(NLS,5) = 1 707 : INLIAB(NLS,5) = 108 708 : ENDIF 709 : TYPRET = ' ' 709 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'CHPOINT_FORCE_DE_CHOC', 710 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 711 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 712 : IVLIAB(NLS,7) = 2 713 : INLIAB(NLS,7) = 110 714 : CHPO= .TRUE. 715 : II = II + 1 716 : ICHRE2(II) = IVAR +1 717 : IVAR = IVAR + NPLB*2 718 : ENDIF 719 : IF (IVAR.EQ.0) THEN 719 : CALL ERREUR(496) 720 : RETURN 721 : ENDIF 722 : 723 : 724 : 725 : 726 : * fin liaisons segment_cercle 727 : 728 : 729 : ELSE IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN 730 : TYPRET = ' ' 730 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_INERTIE',L0,IP0, 731 : & TYPRET,I1,X1,CHARRE,LVAR,IP1) 732 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 733 : IVAR = IVAR + 1 734 : ID1 = IDIM + 3 735 : IVLIAB(NLS,ID1) = 1 736 : INLIAB(NLS,ID1) = 75 737 : ENDIF 738 : TYPRET = ' ' 738 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_CONVECTION',L0,IP0, 739 : & TYPRET,I1,X1,CHARRE,LVAR,IP1) 740 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 741 : IVAR = IVAR + 1 742 : ID1 = IDIM + 4 743 : IVLIAB(NLS,ID1) = 1 744 : INLIAB(NLS,ID1) = 70 745 : ENDIF 745 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_VISCOSITE',L0,IP0, 746 : & TYPRET,I1,X1,CHARRE,LVAR,IP1) 747 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 748 : IVAR = IVAR + 1 749 : ID1 = IDIM + 5 750 : IVLIAB(NLS,ID1) = 1 751 : INLIAB(NLS,ID1) = 71 752 : ENDIF 753 : TYPRET = ' ' 753 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_PERTE_DE_CHARGE', 754 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 755 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 756 : IVAR = IVAR + 1 757 : ID1 = IDIM + 6 758 : IVLIAB(NLS,ID1) = 1 759 : INLIAB(NLS,ID1) = 72 760 : ENDIF 761 : TYPRET = ' ' 761 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'ACCELERATION_NORMALE', 762 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 763 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 764 : IVAR = IVAR + 1 765 : ID1 = IDIM + 2 766 : IVLIAB(NLS,3) = 1 767 : INLIAB(NLS,3) = 76 768 : ENDIF 769 : TYPRET = ' ' 769 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 770 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 771 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 772 : IVAR = IVAR + 1 773 : ID1 = IDIM + 1 774 : IVLIAB(NLS,ID1) = 1 775 : INLIAB(NLS,ID1) = 39 776 : ENDIF 777 : TYPRET = ' ' 777 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX', 778 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 779 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 780 : IVAR = IVAR + 1 781 : IVLIAB(NLS,1) = 1 782 : INLIAB(NLS,1) = 16 783 : ENDIF 784 : TYPRET = ' ' 784 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY', 785 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 786 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 787 : IVAR = IVAR + 1 788 : IVLIAB(NLS,2) = 1 789 : INLIAB(NLS,2) = 17 790 : ENDIF 791 : TYPRET = ' ' 791 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ', 792 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 793 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 794 : IVAR = IVAR + 1 795 : IVLIAB(NLS,3) = 1 796 : INLIAB(NLS,3) = 18 797 : ENDIF 798 : TYPRET = ' ' 798 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR', 799 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 800 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 801 : IVAR = IVAR + 1 802 : IVLIAB(NLS,1) = 1 803 : INLIAB(NLS,1) = 19 804 : ENDIF 805 : TYPRET = ' ' 805 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT', 806 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 807 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 808 : IVAR = IVAR + 1 809 : IVLIAB(NLS,2) = 1 810 : INLIAB(NLS,2) = 20 811 : ENDIF 812 : IF (IVAR.EQ.0) THEN 812 : CALL ERREUR(496) 813 : RETURN 814 : ENDIF 815 : * 816 : ELSE IF (CMOT(1:22).EQ.'CERCLE_PLAN_FROTTEMENT' .OR. 817 : & CMOT(1:24).EQ.'CERCLE_CERCLE_FROTTEMENT') THEN 818 : TYPRET = ' ' 818 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE', 819 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 820 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 821 : IVAR = IVAR + 1 822 : IVLIAB(NLS,1) = 1 823 : INLIAB(NLS,1) = 36 824 : ENDIF 825 : TYPRET = ' ' 825 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE', 826 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 827 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 828 : IVAR = IVAR + 1 829 : IVLIAB(NLS,10) = 1 830 : INLIAB(NLS,10) = 37 831 : ENDIF 832 : TYPRET = ' ' 832 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE', 833 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 834 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 835 : IVAR = IVAR + 1 836 : IVLIAB(NLS,12) = 1 837 : INLIAB(NLS,12) = 38 838 : ENDIF 839 : TYPRET = ' ' 839 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 840 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 841 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 842 : IVAR = IVAR + 1 843 : IVLIAB(NLS,3) = 1 844 : INLIAB(NLS,3) = 39 845 : ENDIF 846 : TYPRET = ' ' 846 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_FIBRE_NEUTRE', 847 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 848 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 849 : IVAR = IVAR + 1 850 : IVLIAB(NLS,4) = 1 851 : INLIAB(NLS,4) = 51 852 : ENDIF 853 : TYPRET = ' ' 853 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_FIBRE_NEUTRE', 854 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 855 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 856 : IVAR = IVAR + 1 857 : IVLIAB(NLS,5) = 1 858 : INLIAB(NLS,5) = 52 859 : ENDIF 860 : TYPRET = ' ' 860 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_FIBRE_NEUTRE', 861 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 862 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 863 : IVAR = IVAR + 1 864 : IVLIAB(NLS,6) = 1 865 : INLIAB(NLS,6) = 53 866 : ENDIF 867 : TYPRET = ' ' 867 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_FIBRE_NEUTRE', 868 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 869 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 870 : IVAR = IVAR + 1 871 : IVLIAB(NLS,4) = 1 872 : INLIAB(NLS,4) = 54 873 : ENDIF 874 : TYPRET = ' ' 874 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_FIBRE_NEUTRE', 875 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 876 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 877 : IVAR = IVAR + 1 878 : IVLIAB(NLS,5) = 1 879 : INLIAB(NLS,5) = 55 880 : ENDIF 881 : TYPRET = ' ' 881 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VX_POINT_CONTACT', 882 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 883 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 884 : IVAR = IVAR + 1 885 : IVLIAB(NLS,7) = 1 886 : INLIAB(NLS,7) = 57 887 : ENDIF 888 : TYPRET = ' ' 888 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VY_POINT_CONTACT', 889 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 890 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 891 : IVAR = IVAR + 1 892 : IVLIAB(NLS,8) = 1 893 : INLIAB(NLS,8) = 58 894 : ENDIF 895 : TYPRET = ' ' 895 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VZ_POINT_CONTACT', 896 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 897 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 898 : IVAR = IVAR + 1 899 : IVLIAB(NLS,9) = 1 900 : INLIAB(NLS,9) = 59 901 : ENDIF 902 : TYPRET = ' ' 902 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VR_POINT_CONTACT', 903 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 904 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 905 : IVAR = IVAR + 1 906 : IVLIAB(NLS,7) = 1 907 : INLIAB(NLS,7) = 60 908 : ENDIF 909 : TYPRET = ' ' 909 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VT_POINT_CONTACT', 910 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 911 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 912 : IVAR = IVAR + 1 913 : IVLIAB(NLS,8) = 1 914 : INLIAB(NLS,8) = 61 915 : ENDIF 916 : TYPRET = ' ' 916 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'MX_POINT_FIBRE_NEUTRE', 917 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 918 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 919 : IVAR = IVAR + 1 920 : IVLIAB(NLS,13) = 1 921 : INLIAB(NLS,13) = 45 922 : ENDIF 923 : TYPRET = ' ' 923 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'MY_POINT_FIBRE_NEUTRE', 924 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 925 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 926 : IVAR = IVAR + 1 927 : IVLIAB(NLS,14) = 1 928 : INLIAB(NLS,14) = 46 929 : ENDIF 930 : TYPRET = ' ' 930 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'MZ_POINT_FIBRE_NEUTRE', 931 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 932 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 933 : IVAR = IVAR + 1 934 : IVLIAB(NLS,15) = 1 935 : INLIAB(NLS,15) = 47 936 : ENDIF 937 : TYPRET = ' ' 937 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'RX_POINT_FIBRE_NEUTRE', 938 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 939 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 940 : IVAR = IVAR + 1 941 : IVLIAB(NLS,16) = 1 942 : INLIAB(NLS,16) = 63 943 : ENDIF 944 : TYPRET = ' ' 944 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'RY_POINT_FIBRE_NEUTRE', 945 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 946 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 947 : IVAR = IVAR + 1 948 : IVLIAB(NLS,17) = 1 949 : INLIAB(NLS,17) = 64 950 : ENDIF 951 : TYPRET = ' ' 951 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'RZ_POINT_FIBRE_NEUTRE', 952 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 953 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 954 : IVAR = IVAR + 1 955 : IVLIAB(NLS,18) = 1 956 : INLIAB(NLS,18) = 65 957 : ENDIF 958 : TYPRET = ' ' 958 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'RR_POINT_FIBRE_NEUTRE', 959 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 960 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 961 : IVAR = IVAR + 1 962 : IVLIAB(NLS,16) = 1 963 : INLIAB(NLS,16) = 66 964 : ENDIF 965 : TYPRET = ' ' 965 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'RT_POINT_FIBRE_NEUTRE', 966 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 967 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 968 : IVAR = IVAR + 1 969 : IVLIAB(NLS,17) = 1 970 : INLIAB(NLS,17) = 67 971 : ENDIF 972 : IF (IVAR.EQ.0) THEN 972 : CALL ERREUR(496) 973 : RETURN 974 : ENDIF 975 : * 976 : ELSE IF (CMOT(1:10).EQ.'POINT_PLAN' .OR. 977 : & CMOT(1:12).EQ.'POINT_CERCLE') THEN 978 : TYPRET = ' ' 978 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC', 979 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 980 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 981 : IVAR = IVAR + 1 982 : IVLIAB(NLS,1) = 1 983 : INLIAB(NLS,1) = 15 984 : ENDIF 985 : TYPRET = ' ' 985 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 986 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 987 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 988 : IVAR = IVAR + 1 989 : IVLIAB(NLS,3) = 1 990 : INLIAB(NLS,3) = 39 991 : ENDIF 992 : ** ianis 993 : TYPRET = ' ' 993 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'DEPLACEMENT_PLASTIQUE', 994 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 995 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 996 : IVAR = IVAR + 1 997 : IVLIAB(NLS,13) = 1 998 : INLIAB(NLS,13) = 82 999 : ENDIF 1000 : * 1001 : TYPRET = ' ' 1001 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX', 1002 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1003 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1004 : IVAR = IVAR + 1 1005 : IVLIAB(NLS,4) = 1 1006 : INLIAB(NLS,4) = 16 1007 : ENDIF 1008 : TYPRET = ' ' 1008 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY', 1009 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1010 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1011 : IVAR = IVAR + 1 1012 : IVLIAB(NLS,5) = 1 1013 : INLIAB(NLS,5) = 17 1014 : ENDIF 1015 : TYPRET = ' ' 1015 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ', 1016 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1017 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1018 : IVAR = IVAR + 1 1019 : IVLIAB(NLS,6) = 1 1020 : INLIAB(NLS,6) = 18 1021 : ENDIF 1022 : TYPRET = ' ' 1022 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR', 1023 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1024 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1025 : IVAR = IVAR + 1 1026 : IVLIAB(NLS,4) = 1 1027 : INLIAB(NLS,4) = 19 1028 : ENDIF 1029 : TYPRET = ' ' 1029 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT', 1030 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1031 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1032 : IVAR = IVAR + 1 1033 : IVLIAB(NLS,5) = 1 1034 : INLIAB(NLS,5) = 20 1035 : ENDIF 1036 : IF (IVAR.EQ.0) THEN 1036 : CALL ERREUR(496) 1037 : RETURN 1038 : ENDIF 1039 : ELSE IF (CMOT(1:22).EQ.'POINT_POINT_FROTTEMENT') THEN 1040 : TYPRET = ' ' 1040 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A', 1041 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1042 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1043 : IVAR = IVAR + 1 1044 : IVLIAB(NLS,1) = 1 1045 : INLIAB(NLS,1) = 22 1046 : ENDIF 1047 : TYPRET = ' ' 1047 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B', 1048 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1049 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1050 : IVAR = IVAR + 1 1051 : IVLIAB(NLS,2) = 1 1052 : INLIAB(NLS,2) = 23 1053 : ENDIF 1054 : TYPRET = ' ' 1054 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 1055 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1056 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1057 : IVAR = IVAR + 1 1058 : IVLIAB(NLS,3) = 1 1059 : INLIAB(NLS,3) = 39 1060 : ENDIF 1061 : TYPRET = ' ' 1061 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_A', 1062 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1063 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1064 : IVAR = IVAR + 1 1065 : IVLIAB(NLS,4) = 1 1066 : INLIAB(NLS,4) = 24 1067 : ENDIF 1068 : TYPRET = ' ' 1068 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_A', 1069 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1070 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1071 : IVAR = IVAR + 1 1072 : IVLIAB(NLS,5) = 1 1073 : INLIAB(NLS,5) = 25 1074 : ENDIF 1075 : TYPRET = ' ' 1075 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A', 1076 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1077 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1078 : IVAR = IVAR + 1 1079 : IVLIAB(NLS,6) = 1 1080 : INLIAB(NLS,6) = 26 1081 : ENDIF 1082 : TYPRET = ' ' 1082 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A', 1083 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1084 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1085 : IVAR = IVAR + 1 1086 : IVLIAB(NLS,4) = 1 1087 : INLIAB(NLS,4) = 27 1088 : ENDIF 1089 : TYPRET = ' ' 1089 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A', 1090 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1091 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1092 : IVAR = IVAR + 1 1093 : IVLIAB(NLS,5) = 1 1094 : INLIAB(NLS,5) = 28 1095 : ENDIF 1096 : TYPRET = ' ' 1096 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B', 1097 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1098 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1099 : IVAR = IVAR + 1 1100 : IDI = 3 + IDIM + 1 1101 : IVLIAB(NLS,IDI) = 1 1102 : INLIAB(NLS,IDI) = 30 1103 : ENDIF 1104 : TYPRET = ' ' 1104 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B', 1105 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1106 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1107 : IVAR = IVAR + 1 1108 : IDI = 3 + IDIM + 2 1109 : IVLIAB(NLS,IDI) = 1 1110 : INLIAB(NLS,IDI) = 31 1111 : ENDIF 1112 : TYPRET = ' ' 1112 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B', 1113 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1114 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1115 : IVAR = IVAR + 1 1116 : IDI = 3 + IDIM + 3 1117 : IVLIAB(NLS,IDI) = 1 1118 : INLIAB(NLS,IDI) = 32 1119 : ENDIF 1120 : TYPRET = ' ' 1120 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B', 1121 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1122 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1123 : IVAR = IVAR + 1 1124 : IDI = 3 + IDIM + 1 1125 : IVLIAB(NLS,IDI) = 1 1126 : INLIAB(NLS,IDI) = 33 1127 : ENDIF 1128 : TYPRET = ' ' 1128 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B', 1129 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1130 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1131 : IVAR = IVAR + 1 1132 : IDI = 3 + IDIM + 2 1133 : IVLIAB(NLS,IDI) = 1 1134 : INLIAB(NLS,IDI) = 34 1135 : ENDIF 1135 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE', 1136 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1137 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1138 : IVAR = IVAR + 1 1139 : IVLIAB(NLS,10) = 1 1140 : INLIAB(NLS,10) = 37 1141 : ENDIF 1141 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE', 1142 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1143 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1144 : IVAR = IVAR + 1 1145 : IVLIAB(NLS,12 ) = 1 1146 : INLIAB(NLS,12 ) = 38 1147 : ENDIF 1148 : IF (IVAR.EQ.0) THEN 1148 : CALL ERREUR(496) 1149 : RETURN 1150 : ENDIF 1151 : * 1152 : ELSE IF 1153 : & (CMOT(1:33).EQ.'POINT_POINT_DEPLACEMENT_PLASTIQUE') THEN 1154 : TYPRET = ' ' 1154 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A', 1155 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1156 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1157 : IVAR = IVAR + 1 1158 : IVLIAB(NLS,1) = 1 1159 : INLIAB(NLS,1) = 22 1160 : ENDIF 1161 : TYPRET = ' ' 1161 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B', 1162 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1163 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1164 : IVAR = IVAR + 1 1165 : IVLIAB(NLS,2) = 1 1166 : INLIAB(NLS,2) = 23 1167 : ENDIF 1168 : TYPRET = ' ' 1168 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 1169 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1170 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1171 : IVAR = IVAR + 1 1172 : IVLIAB(NLS,3) = 1 1173 : INLIAB(NLS,3) = 39 1174 : ENDIF 1175 : TYPRET = ' ' 1175 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'DEPLACEMENT_PLASTIQUE', 1176 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1177 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1178 : IVAR = IVAR + 1 1179 : IVLIAB(NLS,13) = 1 1180 : INLIAB(NLS,13) = 82 1181 : ENDIF 1182 : TYPRET = ' ' 1182 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_A', 1183 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1184 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1185 : IVAR = IVAR + 1 1186 : IVLIAB(NLS,4) = 1 1187 : INLIAB(NLS,4) = 24 1188 : ENDIF 1189 : TYPRET = ' ' 1189 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_A', 1190 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1191 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1192 : IVAR = IVAR + 1 1193 : IVLIAB(NLS,5) = 1 1194 : INLIAB(NLS,5) = 25 1195 : ENDIF 1196 : TYPRET = ' ' 1196 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A', 1197 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1198 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1199 : IVAR = IVAR + 1 1200 : IVLIAB(NLS,6) = 1 1201 : INLIAB(NLS,6) = 26 1202 : ENDIF 1203 : TYPRET = ' ' 1203 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A', 1204 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1205 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1206 : IVAR = IVAR + 1 1207 : IVLIAB(NLS,4) = 1 1208 : INLIAB(NLS,4) = 27 1209 : ENDIF 1210 : TYPRET = ' ' 1210 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A', 1211 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1212 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1213 : IVAR = IVAR + 1 1214 : IVLIAB(NLS,5) = 1 1215 : INLIAB(NLS,5) = 28 1216 : ENDIF 1217 : TYPRET = ' ' 1217 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B', 1218 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1219 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1220 : IVAR = IVAR + 1 1221 : IDI = 3 + IDIM + 1 1222 : IVLIAB(NLS,IDI) = 1 1223 : INLIAB(NLS,IDI) = 30 1224 : ENDIF 1225 : TYPRET = ' ' 1225 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B', 1226 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1227 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1228 : IVAR = IVAR + 1 1229 : IDI = 3 + IDIM + 2 1230 : IVLIAB(NLS,IDI) = 1 1231 : INLIAB(NLS,IDI) = 31 1232 : ENDIF 1233 : TYPRET = ' ' 1233 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B', 1234 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1235 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1236 : IVAR = IVAR + 1 1237 : IDI = 3 + IDIM + 3 1238 : IVLIAB(NLS,IDI) = 1 1239 : INLIAB(NLS,IDI) = 32 1240 : ENDIF 1241 : TYPRET = ' ' 1241 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B', 1242 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1243 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1244 : IVAR = IVAR + 1 1245 : IDI = 3 + IDIM + 1 1246 : IVLIAB(NLS,IDI) = 1 1247 : INLIAB(NLS,IDI) = 33 1248 : ENDIF 1249 : TYPRET = ' ' 1249 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B', 1250 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1251 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1252 : IVAR = IVAR + 1 1253 : IDI = 3 + IDIM + 2 1254 : IVLIAB(NLS,IDI) = 1 1255 : INLIAB(NLS,IDI) = 34 1256 : ENDIF 1257 : IF (IVAR.EQ.0) THEN 1257 : CALL ERREUR(496) 1258 : RETURN 1259 : ENDIF 1260 : * 1261 : ELSE IF (CMOT(1:11).EQ.'POINT_POINT') THEN 1262 : TYPRET = ' ' 1262 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A', 1263 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1264 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1265 : IVAR = IVAR + 1 1266 : IVLIAB(NLS,1) = 1 1267 : INLIAB(NLS,1) = 22 1268 : ENDIF 1269 : TYPRET = ' ' 1269 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B', 1270 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1271 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1272 : IVAR = IVAR + 1 1273 : IVLIAB(NLS,2) = 1 1274 : INLIAB(NLS,2) = 23 1275 : ENDIF 1276 : TYPRET = ' ' 1276 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE', 1277 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1278 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1279 : IVAR = IVAR + 1 1280 : IVLIAB(NLS,3) = 1 1281 : INLIAB(NLS,3) = 39 1282 : ENDIF 1283 : TYPRET = ' ' 1283 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_A', 1284 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1285 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1286 : IVAR = IVAR + 1 1287 : IVLIAB(NLS,4) = 1 1288 : INLIAB(NLS,4) = 24 1289 : ENDIF 1290 : TYPRET = ' ' 1290 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_A', 1291 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1292 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1293 : IVAR = IVAR + 1 1294 : IVLIAB(NLS,5) = 1 1295 : INLIAB(NLS,5) = 25 1296 : ENDIF 1297 : TYPRET = ' ' 1297 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A', 1298 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1299 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1300 : IVAR = IVAR + 1 1301 : IVLIAB(NLS,6) = 1 1302 : INLIAB(NLS,6) = 26 1303 : ENDIF 1304 : TYPRET = ' ' 1304 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A', 1305 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1306 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1307 : IVAR = IVAR + 1 1308 : IVLIAB(NLS,4) = 1 1309 : INLIAB(NLS,4) = 27 1310 : ENDIF 1311 : TYPRET = ' ' 1311 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A', 1312 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1313 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1314 : IVAR = IVAR + 1 1315 : IVLIAB(NLS,5) = 1 1316 : INLIAB(NLS,5) = 28 1317 : ENDIF 1318 : TYPRET = ' ' 1318 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B', 1319 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1320 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1321 : IVAR = IVAR + 1 1322 : IDI = 3 + IDIM + 1 1323 : IVLIAB(NLS,IDI) = 1 1324 : INLIAB(NLS,IDI) = 30 1325 : ENDIF 1326 : TYPRET = ' ' 1326 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B', 1327 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1328 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1329 : IVAR = IVAR + 1 1330 : IDI = 3 + IDIM + 2 1331 : IVLIAB(NLS,IDI) = 1 1332 : INLIAB(NLS,IDI) = 31 1333 : ENDIF 1334 : TYPRET = ' ' 1334 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B', 1335 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1336 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1337 : IVAR = IVAR + 1 1338 : IDI = 3 + IDIM + 3 1339 : IVLIAB(NLS,IDI) = 1 1340 : INLIAB(NLS,IDI) = 32 1341 : ENDIF 1342 : TYPRET = ' ' 1342 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B', 1343 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1344 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1345 : IVAR = IVAR + 1 1346 : IDI = 3 + IDIM + 1 1347 : IVLIAB(NLS,IDI) = 1 1348 : INLIAB(NLS,IDI) = 33 1349 : ENDIF 1350 : TYPRET = ' ' 1350 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B', 1351 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1352 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1353 : IVAR = IVAR + 1 1354 : IDI = 3 + IDIM + 2 1355 : IVLIAB(NLS,IDI) = 1 1356 : INLIAB(NLS,IDI) = 34 1357 : ENDIF 1358 : IF (IVAR.EQ.0) THEN 1358 : CALL ERREUR(496) 1359 : RETURN 1360 : ENDIF 1361 : ELSE IF (CMOT(1:23).EQ.'PROFIL_PROFIL_INTERIEUR' .OR. 1362 : & CMOT(1:23).EQ.'PROFIL_PROFIL_EXTERIEUR') THEN 1363 : TYPRET = ' ' 1363 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC', 1364 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1365 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1366 : IVAR = IVAR + 1 1367 : IVLIAB(NLS,1) = 1 1368 : INLIAB(NLS,1) = 15 1369 : ENDIF 1370 : TYPRET = ' ' 1370 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX', 1371 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1372 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1373 : IVAR = IVAR + 1 1374 : IVLIAB(NLS,4) = 1 1375 : INLIAB(NLS,4) = 16 1376 : ENDIF 1377 : TYPRET = ' ' 1377 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY', 1378 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1379 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1380 : IVAR = IVAR + 1 1381 : IVLIAB(NLS,5) = 1 1382 : INLIAB(NLS,5) = 17 1383 : ENDIF 1384 : TYPRET = ' ' 1384 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ', 1385 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1386 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1387 : IVAR = IVAR + 1 1388 : IVLIAB(NLS,6) = 1 1389 : INLIAB(NLS,6) = 18 1390 : ENDIF 1391 : TYPRET = ' ' 1391 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR', 1392 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1393 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1394 : IVAR = IVAR + 1 1395 : IVLIAB(NLS,4) = 1 1396 : INLIAB(NLS,4) = 19 1397 : ENDIF 1398 : TYPRET = ' ' 1398 : CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT', 1399 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1400 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1401 : IVAR = IVAR + 1 1402 : IVLIAB(NLS,5) = 1 1403 : INLIAB(NLS,5) = 20 1404 : ENDIF 1405 : IF (IVAR.EQ.0) THEN 1405 : CALL ERREUR(496) 1406 : RETURN 1407 : ENDIF 1408 : 1409 : * Ajout liaison PALIER_FLUIDE 1410 : ELSE IF (CMOT(1:13).EQ.'PALIER_FLUIDE') THEN 1410 : CALL ACCTAB(ITTL,'MOT',I0,X0,'MODELE_PALIER',L0,IP0, 1411 : & 'MOT',I1,X0,MONMOT,L1,IP1) 1412 : IF (IERR.NE.0) RETURN 1413 : IF (MONMOT(1:6).EQ.'RODELI') THEN 1414 : IP = 112 1415 : DO 420 ID = 1,7 1416 : IF (ID.LT.3) THEN 1417 : ILONG=9 1418 : ELSE 1419 : ILONG=8 1420 : ENDIF 1421 : IF (ID.EQ.7) ILONG=14 1422 : GOTO (421,422,423,424,425,426,427) ID 1423 : 421 CMOT = 'FY_PALIER' 1424 : GOTO 428 1425 : 422 CMOT = 'FZ_PALIER' 1426 : GOTO 428 1427 : 423 CMOT = 'UY_ARBRE' 1428 : GOTO 428 1429 : 424 CMOT = 'UZ_ARBRE' 1430 : GOTO 428 1431 : 425 CMOT = 'VY_ARBRE' 1432 : GOTO 428 1433 : 426 CMOT = 'VZ_ARBRE' 1434 : GOTO 428 1435 : 427 CMOT = 'TRAVAIL_FLUIDE' 1436 : 428 CONTINUE 1437 : TYPRET = ' ' 1437 : CALL ACCTAB(ITVAR,'MOT',I0,X0, CMOT(1:ILONG), 1438 : & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) 1439 : IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN 1440 : IVAR = IVAR + 1 1441 : IVLIAB(NLS,ID) = 1 1442 : INLIAB(NLS,ID) = IP + ID 1443 : ENDIF 1444 : 420 CONTINUE 1445 : IF (IVAR.EQ.0) THEN 1445 : CALL ERREUR(496) 1446 : RETURN 1447 : ENDIF 1448 : ENDIF 1449 : * fin ajout liaison PALIER_FLUIDE 1450 : 1451 : ENDIF 1452 : 1453 : NVAR = MAX(NVAR,IVAR) 1454 : IF (.NOT.CHPO) THEN 1455 : II = II + 1 1456 : ICHRE2(II) = IVAR 1457 : ENDIF 1458 : ENDIF 1459 : GOTO 100 1460 : ENDIF 1461 : 1462 : * 1463 : END 1464 : 1465 : 1466 : 1467 : 1468 : 1469 : 1470 : 1471 : 1472 : 1473 : 1474 :
© Cast3M 2003 - All rights reserved.
Disclaimer