Télécharger dyne27.eso

Retour à la liste

Numérotation des lignes :

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

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