Télécharger dyne77.eso

Retour à la liste

Numérotation des lignes :

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

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