Télécharger dyne77.eso

Retour à la liste

Numérotation des lignes :

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

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