Télécharger dyne77.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE77 SOURCE CB215821 19/08/20 21:16:47 10287
  2. SUBROUTINE DYNE77(ITSORT,ITCARA,ITABL,ITLIA,KTRAV,II,NLS,NVAR,
  3. &NPLB)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. *--------------------------------------------------------------------*
  7. * *
  8. * Opérateur DYNE : algorithme de Fu - de Vogelaere *
  9. * ________________________________________________ *
  10. * *
  11. * Dimensionne les variables NLS et NVAR *
  12. * *
  13. * Paramètres: *
  14. * *
  15. * e ITABL Table définissant les liaisons en sortie. *
  16. * e ITLIA modèle définissant toutes les liaisons sur une base. *
  17. * e KTRAV Segment de travail *
  18. * es II Compteur *
  19. * s NLS Nombre de demandes de liaisons en sortie *
  20. * s NVAR Nombre maxi de variables internes de liaisons *
  21. * *
  22. * *
  23. * Auteur, date de création: *
  24. * d après *
  25. * Lionel VIVAN, le 2 octobre 1989. *
  26. * Ibrahim PINTO, 05/97 ,liaisons ligne_cercle *
  27. *--------------------------------------------------------------------*
  28. -INC CCOPTIO
  29. -INC SMMODEL
  30. -INC SMCHAML
  31. *
  32. SEGMENT,MTRAV
  33. INTEGER ICHRE2(NBLS),MPOLA(NBLS),MNULA(NBLS)
  34. INTEGER MPOLB(NBLS),MNULB(NBLS)
  35. INTEGER IVLIAA(NBLS,NTVAR),INLIAA(NBLS,NTVAR)
  36. INTEGER IVLIAB(NBLS,NTVAR),INLIAB(NBLS,NTVAR)
  37. ENDSEGMENT
  38. *
  39. LOGICAL L0,L1,LVAR,CHPO
  40. CHARACTER*8 MONMOT,TYPRET,MONSEUIL,CHARRE,CMATE
  41. CHARACTER*40 CMOT
  42. *
  43. MTRAV = KTRAV
  44. NLS = 0
  45. NVAR = 0
  46. mmodel = itlia
  47. segact mmodel
  48.  
  49. * table indicée par des entiers
  50. CALL DIMEN7 (ITABL,IDIMEN)
  51.  
  52. mmodel = itlia
  53. segact mmodel
  54. mchelm = itcara
  55. segact mchelm
  56. *
  57. * recherche des liaisons en sortie
  58. *
  59. INDICE = 0
  60. CHPO= .FALSE.
  61. 100 CONTINUE
  62. INDICE = INDICE + 1
  63. TYPRET = ' '
  64. CALL ACCTAB(ITABL,'ENTIER',INDICE,X0,' ',L0,IP0,
  65. & TYPRET,I1,X1,CHARRE,L1,ITTL)
  66. * write(6,*) 'd77',typret,ittl
  67. IF (TYPRET.EQ.'MMODEL ' .AND. ITTL.NE.0) THEN
  68. TYPRET = ' '
  69. CALL ACCTAB(ITSORT,'MMODEL ',I0,X0,' ',L0,ITTL,
  70. & TYPRET,I1,X1,CHARRE,LVAR,ITVAR)
  71. mmode1 = ittl
  72. segact mmode1
  73. * on attend une liaison elementaire
  74. imode1 = mmode1.kmodel(1)
  75. segact imode1
  76. do ik = 1,kmodel(/1)
  77. imodel = kmodel(ik)
  78. segact imodel
  79. * write(6,*) imodel,imode1,conmod,imode1.conmod,imamod,imode1.imamod
  80. if (imode1.conmod.eq.conmod.or.imode1.imamod.eq.imamod) goto 110
  81. enddo
  82. goto 100
  83.  
  84. 110 continue
  85. *
  86. * toutes les variables de la liaison sont en sortie
  87. *
  88. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR) THEN
  89. NLS = NLS + 1
  90. MNULB(NLS) = INDICE
  91. MPOLB(NLS) = ITTL
  92. CMATE = CMATEE
  93. lcham = 0
  94. MONMOT = ' '
  95. do im = 1,imache(/1)
  96. if(imache(im).eq.imamod.and.conche(im).eq.conmod) then
  97. mchaml = ichaml(im)
  98. lcham = mchaml
  99. segact mchaml
  100. do l=1,nomche(/2)
  101. if (nomche(l).eq.'AMOR') MONMOT='FLOTTANT'
  102. enddo
  103. endif
  104. enddo
  105. *
  106. IF ( CMATE.EQ.'PO_PL_FR' .OR.
  107. & CMATE.EQ.'PO_CE_FR'.OR.
  108. & CMATE.EQ.'PO_CE_MO') THEN
  109. IF (MONMOT.EQ.'FLOTTANT') THEN
  110. IVAR = 5 + IDIM
  111. IVLIAB(NLS,3) = 1
  112. INLIAB(NLS,3) = 39
  113. ELSE
  114. IVAR = 4 + IDIM
  115. ENDIF
  116. NVAR = MAX(NVAR,IVAR)
  117. II = II + 1
  118. IDD2 = 3 + 2*IDIM
  119. ICHRE2(II) = IVAR
  120. IVLIAB(NLS,1) = 1
  121. INLIAB(NLS,1) = 36
  122. IVLIAB(NLS,IDD2+1) = 1
  123. INLIAB(NLS,IDD2+1) = 37
  124. IVLIAB(NLS,IDD2+2) = 1
  125. INLIAB(NLS,IDD2+2) = 81
  126. IVLIAB(NLS,IDD2+3) = 1
  127. INLIAB(NLS,IDD2+3) = 38
  128. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  129. IP = 18
  130. ELSE
  131. IP = 15
  132. ENDIF
  133. DO 210 ID = 1,IDIM
  134. ID2 = 3 + ID
  135. IVLIAB(NLS,ID2) = 1
  136. INLIAB(NLS,ID2) = IP + ID
  137. 210 CONTINUE
  138. * END DO
  139. *
  140. ELSE IF (CMATE.EQ.'LI_LI_FR') THEN
  141. ivar = 2
  142. NVAR = MAX(NVAR,IVAR)
  143. II = II + 1
  144. IDD2 = 3 + 2*IDIM
  145. ICHRE2(II) = IVAR
  146. IVLIAB(NLS,1) = 1
  147. INLIAB(NLS,1) = 36
  148. IVLIAB(NLS,10) = 1
  149. INLIAB(NLS,10) = 37
  150.  
  151. ELSE IF (CMATE.EQ.'LI_CE_FR') THEN
  152. IF (MONMOT.EQ.'FLOTTANT') THEN
  153. IVAR = 5 + IDIM
  154. IVLIAB(NLS,3) = 1
  155. INLIAB(NLS,3) = 39
  156. ELSE
  157. IVAR = 4 + IDIM
  158. ENDIF
  159. NVAR = MAX(NVAR,IVAR)
  160. II = II + 1
  161. IDD2 = 3 + 2*IDIM
  162. ICHRE2(II) = IVAR
  163. IVLIAB(NLS,1) = 1
  164. INLIAB(NLS,1) = 36
  165. IVLIAB(NLS,IDD2+1) = 1
  166. INLIAB(NLS,IDD2+1) = 37
  167. IVLIAB(NLS,IDD2+2) = 1
  168. INLIAB(NLS,IDD2+2) = 81
  169. IVLIAB(NLS,IDD2+3) = 1
  170. INLIAB(NLS,IDD2+3) = 38
  171. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  172. IP = 106
  173. ELSE
  174. IP = 103
  175. ENDIF
  176. DO 213 ID = 1,IDIM
  177. ID2 = 3 + ID
  178. IVLIAB(NLS,ID2) = 1
  179. INLIAB(NLS,ID2) = IP + ID
  180. 213 CONTINUE
  181.  
  182.  
  183. ELSE IF (CMATE.EQ.'PO_PL_FL') THEN
  184. IVAR = 6 + IDIM
  185. NVAR = MAX(NVAR,IVAR)
  186. II = II + 1
  187. ICHRE2(II) = IVAR
  188. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  189. IP = 18
  190. ELSE
  191. IP = 15
  192. ENDIF
  193. DO 220 ID = 1,IDIM
  194. IVLIAB(NLS,ID) = 1
  195. INLIAB(NLS,ID) = IP + ID
  196. 220 CONTINUE
  197. * END DO
  198. ID1 = IDIM + 1
  199. IVLIAB(NLS,ID1) = 1
  200. INLIAB(NLS,ID1) = 39
  201. ID2 = ID1 + 1
  202. IVLIAB(NLS,ID2) = 1
  203. INLIAB(NLS,ID2) = 76
  204. ID3 = ID2 + 1
  205. IVLIAB(NLS,ID3) = 1
  206. INLIAB(NLS,ID3) = 75
  207. ID4 = ID3 + 1
  208. IVLIAB(NLS,ID4) = 1
  209. INLIAB(NLS,ID4) = 70
  210. ID5 = ID4 + 1
  211. IVLIAB(NLS,ID5) = 1
  212. INLIAB(NLS,ID5) = 71
  213. ID6 = ID5 + 1
  214. IVLIAB(NLS,ID6) = 1
  215. INLIAB(NLS,ID6) = 72
  216.  
  217.  
  218.  
  219. *
  220. ELSE IF (CMATE.EQ.'CE_PL_FR' .OR.
  221. & CMATE.EQ.'CE_CE_FR') THEN
  222. IF (MONMOT.EQ.'FLOTTANT') THEN
  223. IVAR = 4 + 4*IDIM
  224. IVLIAB(NLS,3) = 1
  225. INLIAB(NLS,3) = 39
  226. ELSE
  227. IVAR = 3 + 4*IDIM
  228. ENDIF
  229. NVAR = MAX(NVAR,IVAR)
  230. II = II + 1
  231. IDD1 = 3 + IDIM
  232. IDD2 = 3 + 2*IDIM
  233. IDD3 = 6 + 2*IDIM
  234. IDD4 = 6 + 3*IDIM
  235. ICHRE2(II) = IVAR
  236. IVLIAB(NLS,1) = 1
  237. INLIAB(NLS,1) = 36
  238. IVLIAB(NLS,IDD2+1) = 1
  239. INLIAB(NLS,IDD2+1) = 37
  240. IVLIAB(NLS,IDD2+3) = 1
  241. INLIAB(NLS,IDD2+3) = 38
  242. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  243. IP2 = 53
  244. IP3 = 59
  245. IP4 = 47
  246. IP5 = 65
  247. ELSE
  248. IP2 = 50
  249. IP3 = 56
  250. IP4 = 44
  251. IP5 = 62
  252. ENDIF
  253. DO 310 ID = 1,IDIM
  254. ID2 = 3 + ID
  255. ID3 = IDD1 + ID
  256. ID4 = IDD3 + ID
  257. ID5 = IDD4 + ID
  258. IVLIAB(NLS,ID2) = 1
  259. INLIAB(NLS,ID2) = IP2 + ID
  260. IVLIAB(NLS,ID3) = 1
  261. INLIAB(NLS,ID3) = IP3 + ID
  262. IVLIAB(NLS,ID4) = 1
  263. INLIAB(NLS,ID4) = IP4 + ID
  264. IVLIAB(NLS,ID5) = 1
  265. INLIAB(NLS,ID5) = IP5 + ID
  266. 310 CONTINUE
  267. * END DO
  268. *
  269. ELSE IF (CMATE.EQ.'PO_PL'.OR.
  270. & CMATE.EQ.'PO_CE') THEN
  271. IF (MONMOT.EQ.'FLOTTANT') THEN
  272. IVAR = 2 + IDIM
  273. IVLIAB(NLS,3) = 1
  274. INLIAB(NLS,3) = 39
  275. ELSE
  276. IVAR = 1 + IDIM
  277. ENDIF
  278. ** ianis
  279. MONSEUIL = ' '
  280. mchaml = lcham
  281. segact mchaml
  282. do l=1,nomche(/2)
  283. if (nomche(l).eq.'SPLA') MONSEUIL='FLOTTANT'
  284. enddo
  285. IF (MONSEUIL.EQ.'FLOTTANT'.OR.MONSEUIL.EQ.'ENTIER ')THEN
  286. IVAR = IVAR + 1
  287. IVLIAB(NLS,13) = 1
  288. INLIAB(NLS,13) = 82
  289. ENDIF
  290. *
  291. NVAR = MAX(NVAR,IVAR)
  292. II = II + 1
  293. ICHRE2(II) = IVAR
  294. IVLIAB(NLS,1) = 1
  295. INLIAB(NLS,1) = 15
  296. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  297. IP = 18
  298. ELSE
  299. IP = 15
  300. ENDIF
  301. DO 102 ID = 1,IDIM
  302. ID2 = 3 + ID
  303. IVLIAB(NLS,ID2) = 1
  304. INLIAB(NLS,ID2) = IP + ID
  305. 102 CONTINUE
  306. * END DO
  307. *
  308. ELSE IF (CMATE.EQ.'PO_PO_FR') THEN
  309. IF (MONMOT.EQ.'FLOTTANT') THEN
  310. IVAR = 5 + 2 *IDIM
  311. IVLIAB(NLS,3) = 1
  312. INLIAB(NLS,3) = 39
  313. ELSE
  314. IVAR = 4 + 2 *IDIM
  315. ENDIF
  316. NVAR = MAX(NVAR,IVAR)
  317. II = II + 1
  318. ICHRE2(II) = IVAR
  319. IVLIAB(NLS,1) = 1
  320. IVLIAB(NLS,2) = 1
  321. INLIAB(NLS,1) = 22
  322. INLIAB(NLS,2) = 23
  323. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  324. IP1 = 26
  325. IP2 = 32
  326. ELSE
  327. IP1 = 23
  328. IP2 = 29
  329. ENDIF
  330. DO 103 ID = 1,IDIM
  331. ID2 = 3 + ID
  332. ID3 = ID2 + IDIM
  333. IVLIAB(NLS,ID2) = 1
  334. IVLIAB(NLS,ID3) = 1
  335. INLIAB(NLS,ID2) = IP1 + ID
  336. INLIAB(NLS,ID3) = IP2 + ID
  337. 103 CONTINUE
  338. IVLIAB(NLS,4 + 2 * idim) = 1
  339. InLIAB(NLS,4 + 2 * idim) = 37
  340. IVLIAB(NLS,6 + 2 * idim) = 1
  341. InLIAB(NLS,6 + 2 * idim) = 38
  342. * END DO
  343. *
  344. ELSE IF
  345. & (CMATE.EQ.'PO_PO_DP') THEN
  346. IF (MONMOT.EQ.'FLOTTANT') THEN
  347. IVAR = 5 + 2 *IDIM
  348. IVLIAB(NLS,3) = 1
  349. INLIAB(NLS,3) = 39
  350. ELSE
  351. IVAR = 4 + 2 *IDIM
  352. ENDIF
  353. IVAR = IVAR + 1
  354. IVLIAB(NLS,13) = 1
  355. INLIAB(NLS,13) = 82
  356. IVLIAB(NLS,14) = 1
  357. INLIAB(NLS,14) = 100
  358. IVLIAB(NLS,15) = 1
  359. INLIAB(NLS,15) = 111
  360. *
  361. NVAR = MAX(NVAR,IVAR)
  362. II = II + 1
  363. ICHRE2(II) = IVAR
  364. IVLIAB(NLS,1) = 1
  365. IVLIAB(NLS,2) = 1
  366. INLIAB(NLS,1) = 22
  367. INLIAB(NLS,2) = 23
  368. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  369. IP1 = 26
  370. IP2 = 32
  371. ELSE
  372. IP1 = 23
  373. IP2 = 29
  374. ENDIF
  375. DO 105 ID = 1,IDIM
  376. ID2 = 3 + ID
  377. ID3 = ID2 + IDIM
  378. IVLIAB(NLS,ID2) = 1
  379. IVLIAB(NLS,ID3) = 1
  380. INLIAB(NLS,ID2) = IP1 + ID
  381. INLIAB(NLS,ID3) = IP2 + ID
  382. 105 CONTINUE
  383. *
  384. *
  385. ELSE IF
  386. & (CMATE.EQ.'PO_PO_RP') THEN
  387. IF (MONMOT.EQ.'FLOTTANT') THEN
  388. IVAR = 5 + 2 *IDIM
  389. IVLIAB(NLS,3) = 1
  390. INLIAB(NLS,3) = 101
  391. ELSE
  392. IVAR = 4 + 2 *IDIM
  393. ENDIF
  394. IVAR = IVAR + 1
  395. IVLIAB(NLS,13) = 1
  396. INLIAB(NLS,13) = 102
  397. IVLIAB(NLS,14) = 1
  398. INLIAB(NLS,14) = 99
  399. IVLIAB(NLS,15) = 1
  400. INLIAB(NLS,15) = 112
  401. *
  402. NVAR = MAX(NVAR,IVAR)
  403. II = II + 1
  404. ICHRE2(II) = IVAR
  405. IVLIAB(NLS,1) = 1
  406. IVLIAB(NLS,2) = 1
  407. INLIAB(NLS,1) = 85
  408. INLIAB(NLS,2) = 86
  409. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  410. IP1 = 89
  411. IP2 = 95
  412. ELSE
  413. IP1 = 86
  414. IP2 = 92
  415. ENDIF
  416. DO 400 ID = 1,IDIM
  417. ID2 = 3 + ID
  418. ID3 = ID2 + IDIM
  419. IVLIAB(NLS,ID2) = 1
  420. IVLIAB(NLS,ID3) = 1
  421. INLIAB(NLS,ID2) = IP1 + ID
  422. INLIAB(NLS,ID3) = IP2 + ID
  423. 400 CONTINUE
  424. *
  425. *
  426. ELSE IF (CMATE.EQ.'PO_PO') THEN
  427. IF (MONMOT.EQ.'FLOTTANT') THEN
  428. IVAR = 3 + 2 *IDIM
  429. IVLIAB(NLS,3) = 1
  430. INLIAB(NLS,3) = 39
  431. ELSE
  432. IVAR = 2 + 2 *IDIM
  433. ENDIF
  434. NVAR = MAX(NVAR,IVAR)
  435. II = II + 1
  436. ICHRE2(II) = IVAR
  437. IVLIAB(NLS,1) = 1
  438. IVLIAB(NLS,2) = 1
  439. INLIAB(NLS,1) = 22
  440. INLIAB(NLS,2) = 23
  441. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  442. IP1 = 26
  443. IP2 = 32
  444. ELSE
  445. IP1 = 23
  446. IP2 = 29
  447. ENDIF
  448. DO 104 ID = 1,IDIM
  449. ID2 = 3 + ID
  450. ID3 = ID2 + IDIM
  451. IVLIAB(NLS,ID2) = 1
  452. IVLIAB(NLS,ID3) = 1
  453. INLIAB(NLS,ID2) = IP1 + ID
  454. INLIAB(NLS,ID3) = IP2 + ID
  455. 104 CONTINUE
  456. * END DO
  457. ELSE IF (CMATE.EQ.'PR_PR_IN' .OR.
  458. & CMATE.EQ.'PR_PR_EX') THEN
  459. IVAR = 1 + IDIM
  460. NVAR = MAX(NVAR,IVAR)
  461. II = II + 1
  462. ICHRE2(II) = IVAR
  463. IVLIAB(NLS,1) = 1
  464. INLIAB(NLS,1) = 15
  465. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  466. IP = 18
  467. ELSE
  468. IP = 15
  469. ENDIF
  470. DO 106 ID = 1,IDIM
  471. ID2 = 3 + ID
  472. IVLIAB(NLS,ID2) = 1
  473. INLIAB(NLS,ID2) = IP + ID
  474. 106 CONTINUE
  475. * END DO
  476. *
  477. * Ajout liaison PALIER_FLUIDE
  478. ELSE IF (CMATE.EQ.'PA_FL_RO') THEN
  479. IVAR = 7
  480. NVAR = MAX(NVAR,IVAR)
  481. II = II + 1
  482. ICHRE2(II) = IVAR
  483. IP = 112
  484. DO 410 ID = 1,7
  485. IVLIAB(NLS,ID) = 1
  486. INLIAB(NLS,ID) = IP + ID
  487. 410 CONTINUE
  488. C ELSE IF
  489. * Fin ajout liaison PALIER_FLUIDE
  490. ELSE
  491. CALL ERREUR(490)
  492. RETURN
  493. ENDIF
  494. *
  495. * choix sur certaines variables de la liaison en sortie
  496. *
  497. ELSE IF (TYPRET.EQ.'TABLE ' .AND. ITVAR.NE.0) THEN
  498. * kich : on met toutes les variables
  499. CMATE = CMATEE
  500. NLS = NLS + 1
  501. MNULB(NLS) = INDICE
  502. MPOLB(NLS) = ITTL
  503. * CALL ACCTAB(ITTL,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,
  504. * & 'MOT',I1,X1,CMOT,L1,IT1)
  505. IVAR = 0
  506. *
  507. IF (CMATE.EQ.'PO_PL_FR' .OR.
  508. & CMATE.EQ.'PO_CE_FR'.OR.
  509. & CMATE.EQ.'PO_CE_MO') THEN
  510. TYPRET = ' '
  511. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,1) = 1
  516. INLIAB(NLS,1) = 36
  517. ENDIF
  518. TYPRET = ' '
  519. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,10) = 1
  524. INLIAB(NLS,10) = 37
  525. ENDIF
  526. TYPRET = ' '
  527. CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  528. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  529. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  530. IVAR = IVAR + 1
  531. IVLIAB(NLS,12) = 1
  532. INLIAB(NLS,12) = 38
  533. ENDIF
  534. TYPRET = ' '
  535. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  536. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  537. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  538. IVAR = IVAR + 1
  539. IVLIAB(NLS,3) = 1
  540. INLIAB(NLS,3) = 39
  541. ENDIF
  542. TYPRET = ' '
  543. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE',
  544. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  545. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  546. IVAR = IVAR + 1
  547. IVLIAB(NLS,11) = 1
  548. INLIAB(NLS,11) = 81
  549. ENDIF
  550. TYPRET = ' '
  551. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  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) = 16
  557. ENDIF
  558. TYPRET = ' '
  559. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  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) = 17
  565. ENDIF
  566. TYPRET = ' '
  567. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  568. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  569. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  570. IVAR = IVAR + 1
  571. IVLIAB(NLS,6) = 1
  572. INLIAB(NLS,6) = 18
  573. ENDIF
  574. TYPRET = ' '
  575. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  576. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  577. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  578. IVAR = IVAR + 1
  579. IVLIAB(NLS,4) = 1
  580. INLIAB(NLS,4) = 19
  581. ENDIF
  582. TYPRET = ' '
  583. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  584. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  585. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  586. IVAR = IVAR + 1
  587. IVLIAB(NLS,5) = 1
  588. INLIAB(NLS,5) = 20
  589. ENDIF
  590. IF (IVAR.EQ.0) THEN
  591. CALL ERREUR(496)
  592. RETURN
  593. ENDIF
  594. *
  595. ELSE IF (CMATE.EQ.'LI_LI_FR') THEN
  596. TYPRET = ' '
  597. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,1) = 1
  602. INLIAB(NLS,1) = 36
  603. ENDIF
  604. TYPRET = ' '
  605. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,10) = 1
  610. INLIAB(NLS,10) = 37
  611. ENDIF
  612. TYPRET = ' '
  613. CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  614. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  615. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  616. IVAR = IVAR + 1
  617. IVLIAB(NLS,12) = 1
  618. INLIAB(NLS,12) = 38
  619. ENDIF
  620. TYPRET = ' '
  621. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  622. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  623. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  624. IVAR = IVAR + 1
  625. IVLIAB(NLS,3) = 1
  626. INLIAB(NLS,3) = 39
  627. ENDIF
  628. TYPRET = ' '
  629. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE',
  630. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  631. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  632. IVAR = IVAR + 1
  633. IVLIAB(NLS,11) = 1
  634. INLIAB(NLS,11) = 81
  635. ENDIF
  636. TYPRET = ' '
  637. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_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) = 104
  643. ENDIF
  644. TYPRET = ' '
  645. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_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) = 105
  651. ENDIF
  652. TYPRET = ' '
  653. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_DE_CONTACT',
  654. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  655. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  656. IVAR = IVAR + 1
  657. IVLIAB(NLS,6) = 1
  658. INLIAB(NLS,6) = 106
  659. ENDIF
  660. TYPRET = ' '
  661. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_DE_CONTACT',
  662. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  663. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  664. IVAR = IVAR + 1
  665. IVLIAB(NLS,4) = 1
  666. INLIAB(NLS,4) = 107
  667. ENDIF
  668. TYPRET = ' '
  669. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_DE_CONTACT',
  670. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  671. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  672. IVAR = IVAR + 1
  673. IVLIAB(NLS,5) = 1
  674. INLIAB(NLS,5) = 108
  675. ENDIF
  676. TYPRET = ' '
  677. CALL ACCTAB(ITVAR,'MOT',I0,X0,'CHPOINT_FORCE_DE_CHOC',
  678. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  679. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  680. IVLIAB(NLS,7) = 2
  681. INLIAB(NLS,7) = 110
  682. CHPO= .TRUE.
  683. II = II + 1
  684. ICHRE2(II) = IVAR +1
  685. IVAR = IVAR + NPLB*2
  686. ENDIF
  687. IF (IVAR.EQ.0) THEN
  688. CALL ERREUR(496)
  689. RETURN
  690. ENDIF
  691. *
  692.  
  693. * liaisons ligne_cercle
  694.  
  695. ELSE IF
  696. & (CMATE.EQ.'LI_CE_FR') THEN
  697. TYPRET = ' '
  698. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,1) = 1
  703. INLIAB(NLS,1) = 36
  704. ENDIF
  705. TYPRET = ' '
  706. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,10) = 1
  711. INLIAB(NLS,10) = 37
  712. ENDIF
  713. TYPRET = ' '
  714. CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  715. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  716. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  717. IVAR = IVAR + 1
  718. IVLIAB(NLS,12) = 1
  719. INLIAB(NLS,12) = 38
  720. ENDIF
  721. TYPRET = ' '
  722. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  723. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  724. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  725. IVAR = IVAR + 1
  726. IVLIAB(NLS,3) = 1
  727. INLIAB(NLS,3) = 39
  728. ENDIF
  729. TYPRET = ' '
  730. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE',
  731. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  732. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  733. IVAR = IVAR + 1
  734. IVLIAB(NLS,11) = 1
  735. INLIAB(NLS,11) = 81
  736. ENDIF
  737. TYPRET = ' '
  738. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_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) = 104
  744. ENDIF
  745. TYPRET = ' '
  746. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_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) = 105
  752. ENDIF
  753. TYPRET = ' '
  754. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_DE_CONTACT',
  755. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  756. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  757. IVAR = IVAR + 1
  758. IVLIAB(NLS,6) = 1
  759. INLIAB(NLS,6) = 106
  760. ENDIF
  761. TYPRET = ' '
  762. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_DE_CONTACT',
  763. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  764. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  765. IVAR = IVAR + 1
  766. IVLIAB(NLS,4) = 1
  767. INLIAB(NLS,4) = 107
  768. ENDIF
  769. TYPRET = ' '
  770. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_DE_CONTACT',
  771. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  772. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  773. IVAR = IVAR + 1
  774. IVLIAB(NLS,5) = 1
  775. INLIAB(NLS,5) = 108
  776. ENDIF
  777. TYPRET = ' '
  778. CALL ACCTAB(ITVAR,'MOT',I0,X0,'CHPOINT_FORCE_DE_CHOC',
  779. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  780. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  781. IVLIAB(NLS,7) = 2
  782. INLIAB(NLS,7) = 110
  783. CHPO= .TRUE.
  784. II = II + 1
  785. ICHRE2(II) = IVAR +1
  786. IVAR = IVAR + NPLB*2
  787. ENDIF
  788. IF (IVAR.EQ.0) THEN
  789. CALL ERREUR(496)
  790. RETURN
  791. ENDIF
  792.  
  793.  
  794.  
  795.  
  796. * fin liaisons segment_cercle
  797.  
  798.  
  799. ELSE IF (CMATE.EQ.'PO_PL_FL') THEN
  800. TYPRET = ' '
  801. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_INERTIE',L0,IP0,
  802. & TYPRET,I1,X1,CHARRE,LVAR,IP1)
  803. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  804. IVAR = IVAR + 1
  805. ID1 = IDIM + 3
  806. IVLIAB(NLS,ID1) = 1
  807. INLIAB(NLS,ID1) = 75
  808. ENDIF
  809. TYPRET = ' '
  810. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_CONVECTION',L0,IP0,
  811. & TYPRET,I1,X1,CHARRE,LVAR,IP1)
  812. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  813. IVAR = IVAR + 1
  814. ID1 = IDIM + 4
  815. IVLIAB(NLS,ID1) = 1
  816. INLIAB(NLS,ID1) = 70
  817. ENDIF
  818. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_VISCOSITE',L0,IP0,
  819. & TYPRET,I1,X1,CHARRE,LVAR,IP1)
  820. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  821. IVAR = IVAR + 1
  822. ID1 = IDIM + 5
  823. IVLIAB(NLS,ID1) = 1
  824. INLIAB(NLS,ID1) = 71
  825. ENDIF
  826. TYPRET = ' '
  827. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_PERTE_DE_CHARGE',
  828. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  829. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  830. IVAR = IVAR + 1
  831. ID1 = IDIM + 6
  832. IVLIAB(NLS,ID1) = 1
  833. INLIAB(NLS,ID1) = 72
  834. ENDIF
  835. TYPRET = ' '
  836. CALL ACCTAB(ITVAR,'MOT',I0,X0,'ACCELERATION_NORMALE',
  837. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  838. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  839. IVAR = IVAR + 1
  840. ID1 = IDIM + 2
  841. IVLIAB(NLS,3) = 1
  842. INLIAB(NLS,3) = 76
  843. ENDIF
  844. TYPRET = ' '
  845. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  846. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  847. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  848. IVAR = IVAR + 1
  849. ID1 = IDIM + 1
  850. IVLIAB(NLS,ID1) = 1
  851. INLIAB(NLS,ID1) = 39
  852. ENDIF
  853. TYPRET = ' '
  854. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  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) = 16
  860. ENDIF
  861. TYPRET = ' '
  862. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  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) = 17
  868. ENDIF
  869. TYPRET = ' '
  870. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  871. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  872. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  873. IVAR = IVAR + 1
  874. IVLIAB(NLS,3) = 1
  875. INLIAB(NLS,3) = 18
  876. ENDIF
  877. TYPRET = ' '
  878. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  879. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  880. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  881. IVAR = IVAR + 1
  882. IVLIAB(NLS,1) = 1
  883. INLIAB(NLS,1) = 19
  884. ENDIF
  885. TYPRET = ' '
  886. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  887. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  888. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  889. IVAR = IVAR + 1
  890. IVLIAB(NLS,2) = 1
  891. INLIAB(NLS,2) = 20
  892. ENDIF
  893. IF (IVAR.EQ.0) THEN
  894. CALL ERREUR(496)
  895. RETURN
  896. ENDIF
  897. *
  898. ELSE IF (CMATE.EQ.'CE_PL_FR' .OR.
  899. & CMATE.EQ.'CE_CE_FR') THEN
  900. TYPRET = ' '
  901. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,1) = 1
  906. INLIAB(NLS,1) = 36
  907. ENDIF
  908. TYPRET = ' '
  909. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  910. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  911. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  912. IVAR = IVAR + 1
  913. IVLIAB(NLS,10) = 1
  914. INLIAB(NLS,10) = 37
  915. ENDIF
  916. TYPRET = ' '
  917. CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  918. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  919. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  920. IVAR = IVAR + 1
  921. IVLIAB(NLS,12) = 1
  922. INLIAB(NLS,12) = 38
  923. ENDIF
  924. TYPRET = ' '
  925. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  926. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  927. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  928. IVAR = IVAR + 1
  929. IVLIAB(NLS,3) = 1
  930. INLIAB(NLS,3) = 39
  931. ENDIF
  932. TYPRET = ' '
  933. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_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) = 51
  939. ENDIF
  940. TYPRET = ' '
  941. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_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) = 52
  947. ENDIF
  948. TYPRET = ' '
  949. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_FIBRE_NEUTRE',
  950. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  951. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  952. IVAR = IVAR + 1
  953. IVLIAB(NLS,6) = 1
  954. INLIAB(NLS,6) = 53
  955. ENDIF
  956. TYPRET = ' '
  957. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_FIBRE_NEUTRE',
  958. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  959. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  960. IVAR = IVAR + 1
  961. IVLIAB(NLS,4) = 1
  962. INLIAB(NLS,4) = 54
  963. ENDIF
  964. TYPRET = ' '
  965. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_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,5) = 1
  970. INLIAB(NLS,5) = 55
  971. ENDIF
  972. TYPRET = ' '
  973. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VX_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) = 57
  979. ENDIF
  980. TYPRET = ' '
  981. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VY_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) = 58
  987. ENDIF
  988. TYPRET = ' '
  989. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VZ_POINT_CONTACT',
  990. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  991. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  992. IVAR = IVAR + 1
  993. IVLIAB(NLS,9) = 1
  994. INLIAB(NLS,9) = 59
  995. ENDIF
  996. TYPRET = ' '
  997. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VR_POINT_CONTACT',
  998. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  999. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1000. IVAR = IVAR + 1
  1001. IVLIAB(NLS,7) = 1
  1002. INLIAB(NLS,7) = 60
  1003. ENDIF
  1004. TYPRET = ' '
  1005. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VT_POINT_CONTACT',
  1006. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1007. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1008. IVAR = IVAR + 1
  1009. IVLIAB(NLS,8) = 1
  1010. INLIAB(NLS,8) = 61
  1011. ENDIF
  1012. TYPRET = ' '
  1013. CALL ACCTAB(ITVAR,'MOT',I0,X0,'MX_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,13) = 1
  1018. INLIAB(NLS,13) = 45
  1019. ENDIF
  1020. TYPRET = ' '
  1021. CALL ACCTAB(ITVAR,'MOT',I0,X0,'MY_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,14) = 1
  1026. INLIAB(NLS,14) = 46
  1027. ENDIF
  1028. TYPRET = ' '
  1029. CALL ACCTAB(ITVAR,'MOT',I0,X0,'MZ_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,15) = 1
  1034. INLIAB(NLS,15) = 47
  1035. ENDIF
  1036. TYPRET = ' '
  1037. CALL ACCTAB(ITVAR,'MOT',I0,X0,'RX_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) = 63
  1043. ENDIF
  1044. TYPRET = ' '
  1045. CALL ACCTAB(ITVAR,'MOT',I0,X0,'RY_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) = 64
  1051. ENDIF
  1052. TYPRET = ' '
  1053. CALL ACCTAB(ITVAR,'MOT',I0,X0,'RZ_POINT_FIBRE_NEUTRE',
  1054. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1055. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1056. IVAR = IVAR + 1
  1057. IVLIAB(NLS,18) = 1
  1058. INLIAB(NLS,18) = 65
  1059. ENDIF
  1060. TYPRET = ' '
  1061. CALL ACCTAB(ITVAR,'MOT',I0,X0,'RR_POINT_FIBRE_NEUTRE',
  1062. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1063. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1064. IVAR = IVAR + 1
  1065. IVLIAB(NLS,16) = 1
  1066. INLIAB(NLS,16) = 66
  1067. ENDIF
  1068. TYPRET = ' '
  1069. CALL ACCTAB(ITVAR,'MOT',I0,X0,'RT_POINT_FIBRE_NEUTRE',
  1070. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1071. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1072. IVAR = IVAR + 1
  1073. IVLIAB(NLS,17) = 1
  1074. INLIAB(NLS,17) = 67
  1075. ENDIF
  1076. IF (IVAR.EQ.0) THEN
  1077. CALL ERREUR(496)
  1078. RETURN
  1079. ENDIF
  1080. *
  1081. ELSE IF (CMATE.EQ.'PO_PL' .OR.
  1082. & CMATE.EQ.'PO_CE') THEN
  1083. TYPRET = ' '
  1084. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC',
  1085. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1086. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1087. IVAR = IVAR + 1
  1088. IVLIAB(NLS,1) = 1
  1089. INLIAB(NLS,1) = 15
  1090. ENDIF
  1091. TYPRET = ' '
  1092. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  1093. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1094. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1095. IVAR = IVAR + 1
  1096. IVLIAB(NLS,3) = 1
  1097. INLIAB(NLS,3) = 39
  1098. ENDIF
  1099. ** ianis
  1100. TYPRET = ' '
  1101. CALL ACCTAB(ITVAR,'MOT',I0,X0,'DEPLACEMENT_PLASTIQUE',
  1102. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1103. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1104. IVAR = IVAR + 1
  1105. IVLIAB(NLS,13) = 1
  1106. INLIAB(NLS,13) = 82
  1107. ENDIF
  1108. *
  1109. TYPRET = ' '
  1110. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  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) = 16
  1116. ENDIF
  1117. TYPRET = ' '
  1118. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  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) = 17
  1124. ENDIF
  1125. TYPRET = ' '
  1126. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  1127. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1128. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1129. IVAR = IVAR + 1
  1130. IVLIAB(NLS,6) = 1
  1131. INLIAB(NLS,6) = 18
  1132. ENDIF
  1133. TYPRET = ' '
  1134. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  1135. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1136. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1137. IVAR = IVAR + 1
  1138. IVLIAB(NLS,4) = 1
  1139. INLIAB(NLS,4) = 19
  1140. ENDIF
  1141. TYPRET = ' '
  1142. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  1143. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1144. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1145. IVAR = IVAR + 1
  1146. IVLIAB(NLS,5) = 1
  1147. INLIAB(NLS,5) = 20
  1148. ENDIF
  1149. IF (IVAR.EQ.0) THEN
  1150. CALL ERREUR(496)
  1151. RETURN
  1152. ENDIF
  1153. ELSE IF (CMATE.EQ.'PO_PO_FR') THEN
  1154. TYPRET = ' '
  1155. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,1) = 1
  1160. INLIAB(NLS,1) = 22
  1161. ENDIF
  1162. TYPRET = ' '
  1163. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B',
  1164. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1165. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1166. IVAR = IVAR + 1
  1167. IVLIAB(NLS,2) = 1
  1168. INLIAB(NLS,2) = 23
  1169. ENDIF
  1170. TYPRET = ' '
  1171. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  1172. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1173. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1174. IVAR = IVAR + 1
  1175. IVLIAB(NLS,3) = 1
  1176. INLIAB(NLS,3) = 39
  1177. ENDIF
  1178. TYPRET = ' '
  1179. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_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) = 24
  1185. ENDIF
  1186. TYPRET = ' '
  1187. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_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) = 25
  1193. ENDIF
  1194. TYPRET = ' '
  1195. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A',
  1196. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1197. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1198. IVAR = IVAR + 1
  1199. IVLIAB(NLS,6) = 1
  1200. INLIAB(NLS,6) = 26
  1201. ENDIF
  1202. 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 = ' '
  1211. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A',
  1212. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1213. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1214. IVAR = IVAR + 1
  1215. IVLIAB(NLS,5) = 1
  1216. INLIAB(NLS,5) = 28
  1217. ENDIF
  1218. TYPRET = ' '
  1219. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B',
  1220. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1221. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1222. IVAR = IVAR + 1
  1223. IDI = 3 + IDIM + 1
  1224. IVLIAB(NLS,IDI) = 1
  1225. INLIAB(NLS,IDI) = 30
  1226. ENDIF
  1227. TYPRET = ' '
  1228. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B',
  1229. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1230. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1231. IVAR = IVAR + 1
  1232. IDI = 3 + IDIM + 2
  1233. IVLIAB(NLS,IDI) = 1
  1234. INLIAB(NLS,IDI) = 31
  1235. ENDIF
  1236. TYPRET = ' '
  1237. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B',
  1238. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1239. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1240. IVAR = IVAR + 1
  1241. IDI = 3 + IDIM + 3
  1242. IVLIAB(NLS,IDI) = 1
  1243. INLIAB(NLS,IDI) = 32
  1244. ENDIF
  1245. TYPRET = ' '
  1246. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B',
  1247. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1248. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1249. IVAR = IVAR + 1
  1250. IDI = 3 + IDIM + 1
  1251. IVLIAB(NLS,IDI) = 1
  1252. INLIAB(NLS,IDI) = 33
  1253. ENDIF
  1254. TYPRET = ' '
  1255. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B',
  1256. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1257. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1258. IVAR = IVAR + 1
  1259. IDI = 3 + IDIM + 2
  1260. IVLIAB(NLS,IDI) = 1
  1261. INLIAB(NLS,IDI) = 34
  1262. ENDIF
  1263. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  1264. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1265. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1266. IVAR = IVAR + 1
  1267. IVLIAB(NLS,10) = 1
  1268. INLIAB(NLS,10) = 37
  1269. ENDIF
  1270. CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  1271. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1272. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1273. IVAR = IVAR + 1
  1274. IVLIAB(NLS,12 ) = 1
  1275. INLIAB(NLS,12 ) = 38
  1276. ENDIF
  1277. IF (IVAR.EQ.0) THEN
  1278. CALL ERREUR(496)
  1279. RETURN
  1280. ENDIF
  1281. *
  1282. ELSE IF
  1283. & (CMATE.EQ.'PO_PO_DP') THEN
  1284. TYPRET = ' '
  1285. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A',
  1286. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1287. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1288. IVAR = IVAR + 1
  1289. IVLIAB(NLS,1) = 1
  1290. INLIAB(NLS,1) = 22
  1291. ENDIF
  1292. TYPRET = ' '
  1293. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B',
  1294. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1295. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1296. IVAR = IVAR + 1
  1297. IVLIAB(NLS,2) = 1
  1298. INLIAB(NLS,2) = 23
  1299. ENDIF
  1300. TYPRET = ' '
  1301. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  1302. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1303. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1304. IVAR = IVAR + 1
  1305. IVLIAB(NLS,3) = 1
  1306. INLIAB(NLS,3) = 39
  1307. ENDIF
  1308. TYPRET = ' '
  1309. CALL ACCTAB(ITVAR,'MOT',I0,X0,'DEPLACEMENT_PLASTIQUE',
  1310. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1311. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1312. IVAR = IVAR + 1
  1313. IVLIAB(NLS,13) = 1
  1314. INLIAB(NLS,13) = 82
  1315. ENDIF
  1316. TYPRET = ' '
  1317. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_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) = 24
  1323. ENDIF
  1324. TYPRET = ' '
  1325. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_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) = 25
  1331. ENDIF
  1332. TYPRET = ' '
  1333. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A',
  1334. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1335. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1336. IVAR = IVAR + 1
  1337. IVLIAB(NLS,6) = 1
  1338. INLIAB(NLS,6) = 26
  1339. ENDIF
  1340. TYPRET = ' '
  1341. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A',
  1342. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1343. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1344. IVAR = IVAR + 1
  1345. IVLIAB(NLS,4) = 1
  1346. INLIAB(NLS,4) = 27
  1347. ENDIF
  1348. TYPRET = ' '
  1349. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A',
  1350. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1351. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1352. IVAR = IVAR + 1
  1353. IVLIAB(NLS,5) = 1
  1354. INLIAB(NLS,5) = 28
  1355. ENDIF
  1356. TYPRET = ' '
  1357. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B',
  1358. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1359. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1360. IVAR = IVAR + 1
  1361. IDI = 3 + IDIM + 1
  1362. IVLIAB(NLS,IDI) = 1
  1363. INLIAB(NLS,IDI) = 30
  1364. ENDIF
  1365. TYPRET = ' '
  1366. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B',
  1367. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1368. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1369. IVAR = IVAR + 1
  1370. IDI = 3 + IDIM + 2
  1371. IVLIAB(NLS,IDI) = 1
  1372. INLIAB(NLS,IDI) = 31
  1373. ENDIF
  1374. TYPRET = ' '
  1375. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B',
  1376. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1377. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1378. IVAR = IVAR + 1
  1379. IDI = 3 + IDIM + 3
  1380. IVLIAB(NLS,IDI) = 1
  1381. INLIAB(NLS,IDI) = 32
  1382. ENDIF
  1383. TYPRET = ' '
  1384. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B',
  1385. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1386. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1387. IVAR = IVAR + 1
  1388. IDI = 3 + IDIM + 1
  1389. IVLIAB(NLS,IDI) = 1
  1390. INLIAB(NLS,IDI) = 33
  1391. ENDIF
  1392. TYPRET = ' '
  1393. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B',
  1394. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1395. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1396. IVAR = IVAR + 1
  1397. IDI = 3 + IDIM + 2
  1398. IVLIAB(NLS,IDI) = 1
  1399. INLIAB(NLS,IDI) = 34
  1400. ENDIF
  1401. IF (IVAR.EQ.0) THEN
  1402. CALL ERREUR(496)
  1403. RETURN
  1404. ENDIF
  1405. *
  1406. ELSE IF (CMATE.EQ.'PO_PO') THEN
  1407. TYPRET = ' '
  1408. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_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,1) = 1
  1413. INLIAB(NLS,1) = 22
  1414. ENDIF
  1415. TYPRET = ' '
  1416. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B',
  1417. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1418. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1419. IVAR = IVAR + 1
  1420. IVLIAB(NLS,2) = 1
  1421. INLIAB(NLS,2) = 23
  1422. ENDIF
  1423. TYPRET = ' '
  1424. CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  1425. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1426. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1427. IVAR = IVAR + 1
  1428. IVLIAB(NLS,3) = 1
  1429. INLIAB(NLS,3) = 39
  1430. ENDIF
  1431. TYPRET = ' '
  1432. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_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) = 24
  1438. ENDIF
  1439. TYPRET = ' '
  1440. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_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) = 25
  1446. ENDIF
  1447. TYPRET = ' '
  1448. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A',
  1449. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1450. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1451. IVAR = IVAR + 1
  1452. IVLIAB(NLS,6) = 1
  1453. INLIAB(NLS,6) = 26
  1454. ENDIF
  1455. TYPRET = ' '
  1456. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A',
  1457. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1458. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1459. IVAR = IVAR + 1
  1460. IVLIAB(NLS,4) = 1
  1461. INLIAB(NLS,4) = 27
  1462. ENDIF
  1463. TYPRET = ' '
  1464. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A',
  1465. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1466. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1467. IVAR = IVAR + 1
  1468. IVLIAB(NLS,5) = 1
  1469. INLIAB(NLS,5) = 28
  1470. ENDIF
  1471. TYPRET = ' '
  1472. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B',
  1473. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1474. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1475. IVAR = IVAR + 1
  1476. IDI = 3 + IDIM + 1
  1477. IVLIAB(NLS,IDI) = 1
  1478. INLIAB(NLS,IDI) = 30
  1479. ENDIF
  1480. TYPRET = ' '
  1481. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B',
  1482. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1483. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1484. IVAR = IVAR + 1
  1485. IDI = 3 + IDIM + 2
  1486. IVLIAB(NLS,IDI) = 1
  1487. INLIAB(NLS,IDI) = 31
  1488. ENDIF
  1489. TYPRET = ' '
  1490. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B',
  1491. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1492. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1493. IVAR = IVAR + 1
  1494. IDI = 3 + IDIM + 3
  1495. IVLIAB(NLS,IDI) = 1
  1496. INLIAB(NLS,IDI) = 32
  1497. ENDIF
  1498. TYPRET = ' '
  1499. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B',
  1500. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1501. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1502. IVAR = IVAR + 1
  1503. IDI = 3 + IDIM + 1
  1504. IVLIAB(NLS,IDI) = 1
  1505. INLIAB(NLS,IDI) = 33
  1506. ENDIF
  1507. TYPRET = ' '
  1508. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B',
  1509. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1510. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1511. IVAR = IVAR + 1
  1512. IDI = 3 + IDIM + 2
  1513. IVLIAB(NLS,IDI) = 1
  1514. INLIAB(NLS,IDI) = 34
  1515. ENDIF
  1516. IF (IVAR.EQ.0) THEN
  1517. CALL ERREUR(496)
  1518. RETURN
  1519. ENDIF
  1520. ELSE IF (CMATE.EQ.'PR_PR_IN' .OR.
  1521. & CMATE.EQ.'PR_PR_EX') THEN
  1522. TYPRET = ' '
  1523. CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC',
  1524. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1525. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1526. IVAR = IVAR + 1
  1527. IVLIAB(NLS,1) = 1
  1528. INLIAB(NLS,1) = 15
  1529. ENDIF
  1530. TYPRET = ' '
  1531. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  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) = 16
  1537. ENDIF
  1538. TYPRET = ' '
  1539. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  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) = 17
  1545. ENDIF
  1546. TYPRET = ' '
  1547. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  1548. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1549. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1550. IVAR = IVAR + 1
  1551. IVLIAB(NLS,6) = 1
  1552. INLIAB(NLS,6) = 18
  1553. ENDIF
  1554. TYPRET = ' '
  1555. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  1556. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1557. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1558. IVAR = IVAR + 1
  1559. IVLIAB(NLS,4) = 1
  1560. INLIAB(NLS,4) = 19
  1561. ENDIF
  1562. TYPRET = ' '
  1563. CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  1564. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1565. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1566. IVAR = IVAR + 1
  1567. IVLIAB(NLS,5) = 1
  1568. INLIAB(NLS,5) = 20
  1569. ENDIF
  1570. IF (IVAR.EQ.0) THEN
  1571. CALL ERREUR(496)
  1572. RETURN
  1573. ENDIF
  1574.  
  1575. * Ajout liaison PALIER_FLUIDE
  1576. ELSE IF (CMATE.EQ.'PA_FL_RO') THEN
  1577. CALL ACCTAB(ITTL,'MOT',I0,X0,'MODELE_PALIER',L0,IP0,
  1578. & 'MOT',I1,X0,MONMOT,L1,IP1)
  1579. IF (IERR.NE.0) RETURN
  1580. IF (MONMOT(1:6).EQ.'RODELI') THEN
  1581. IP = 112
  1582. DO 420 ID = 1,7
  1583. IF (ID.LT.3) THEN
  1584. ILONG=9
  1585. ELSE
  1586. ILONG=8
  1587. ENDIF
  1588. IF (ID.EQ.7) ILONG=14
  1589. GOTO (421,422,423,424,425,426,427) ID
  1590. 421 CMOT = 'FY_PALIER'
  1591. GOTO 428
  1592. 422 CMOT = 'FZ_PALIER'
  1593. GOTO 428
  1594. 423 CMOT = 'UY_ARBRE'
  1595. GOTO 428
  1596. 424 CMOT = 'UZ_ARBRE'
  1597. GOTO 428
  1598. 425 CMOT = 'VY_ARBRE'
  1599. GOTO 428
  1600. 426 CMOT = 'VZ_ARBRE'
  1601. GOTO 428
  1602. 427 CMOT = 'TRAVAIL_FLUIDE'
  1603. 428 CONTINUE
  1604. TYPRET = ' '
  1605. CALL ACCTAB(ITVAR,'MOT',I0,X0, CMOT(1:ILONG),
  1606. & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  1607. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  1608. IVAR = IVAR + 1
  1609. IVLIAB(NLS,ID) = 1
  1610. INLIAB(NLS,ID) = IP + ID
  1611. ENDIF
  1612. 420 CONTINUE
  1613. IF (IVAR.EQ.0) THEN
  1614. CALL ERREUR(496)
  1615. RETURN
  1616. ENDIF
  1617. ENDIF
  1618. * fin ajout liaison PALIER_FLUIDE
  1619.  
  1620. ENDIF
  1621.  
  1622. NVAR = MAX(NVAR,IVAR)
  1623. IF (.NOT.CHPO) THEN
  1624. II = II + 1
  1625. ICHRE2(II) = IVAR
  1626. ENDIF
  1627. * kich annulation du choix
  1628.  
  1629. ENDIF
  1630. GOTO 100
  1631. ELSE
  1632. if (indice.le.idimen) goto 100
  1633. ENDIF
  1634.  
  1635. *
  1636. END
  1637.  
  1638.  
  1639.  

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