Télécharger dyne27.eso

Retour à la liste

Numérotation des lignes :

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

© Cast3M 2003 - Tous droits réservés.
Mentions légales