Télécharger dyne27.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE27 SOURCE BP208322 15/01/27 21:15:14 8357
  2. SUBROUTINE DYNE27(ITABL,ITLIA,KTRAV,II,NLS,NVAR,NPLB)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. *--------------------------------------------------------------------*
  6. * *
  7. * Opérateur DYNE : algorithme de Fu - de Vogelaere *
  8. * ________________________________________________ *
  9. * *
  10. * Dimensionne les variables NLS et NVAR *
  11. * *
  12. * Paramètres: *
  13. * *
  14. * e ITABL Table définissant les liaisons en sortie. *
  15. * e ITLIA Table définissant toutes les liaisons sur une base. *
  16. * e KTRAV Segment de travail *
  17. * es II Compteur *
  18. * s NLS Nombre de demandes de liaisons en sortie *
  19. * s NVAR Nombre maxi de variables internes de liaisons *
  20. * *
  21. * *
  22. * Auteur, date de création: *
  23. * *
  24. * Lionel VIVAN, le 2 octobre 1989. *
  25. * Ibrahim PINTO, 05/97 ,liaisons ligne_cercle *
  26. *--------------------------------------------------------------------*
  27. -INC CCOPTIO
  28. *
  29. SEGMENT,MTRAV
  30. INTEGER ICHRE2(NBLS),MPOLA(NBLS),MNULA(NBLS)
  31. INTEGER MPOLB(NBLS),MNULB(NBLS)
  32. INTEGER IVLIAA(NBLS,NTVAR),INLIAA(NBLS,NTVAR)
  33. INTEGER IVLIAB(NBLS,NTVAR),INLIAB(NBLS,NTVAR)
  34. ENDSEGMENT
  35. *
  36. LOGICAL L0,L1,LVAR,CHPO
  37. CHARACTER*8 MONMOT,TYPRET,MONSEUIL,CHARRE
  38. CHARACTER*40 CMOT
  39. *
  40. MTRAV = KTRAV
  41. NLS = 0
  42. NVAR = 0
  43.  
  44.  
  45.  
  46.  
  47. *
  48. * recherche des liaisons en sortie
  49. *
  50. INDICE = 0
  51. CHPO= .FALSE.
  52. 100 CONTINUE
  53. INDICE = INDICE + 1
  54. TYPRET = ' '
  55. CALL ACCTAB(ITLIA,'ENTIER',INDICE,X0,' ',L0,IP0,
  56. & TYPRET,I1,X1,CHARRE,L1,ITTL)
  57. IF (TYPRET.EQ.'TABLE ' .AND. ITTL.NE.0) THEN
  58. TYPRET = ' '
  59. CALL ACCTAB(ITABL,'TABLE',I0,X0,' ',L0,ITTL,
  60. & TYPRET,I1,X1,CHARRE,LVAR,ITVAR)
  61. *
  62. * toutes les variables de la liaison sont en sortie
  63. *
  64. IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR) THEN
  65. NLS = NLS + 1
  66. MNULB(NLS) = INDICE
  67. MPOLB(NLS) = ITTL
  68. CALL ACCTAB(ITTL,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,
  69. & 'MOT',I1,X1,CMOT,L1,IP1)
  70. MONMOT = ' '
  71. CALL ACCTAB(ITTL,'MOT',I0,X0,'AMORTISSEMENT',L0,IP0,
  72. & MONMOT,I1,XAMO,CHARRE,L1,IP1)
  73. *
  74. IF (CMOT(1:21).EQ.'POINT_PLAN_FROTTEMENT' .OR.
  75. & CMOT(1:23).EQ.'POINT_CERCLE_FROTTEMENT'.OR.
  76. & CMOT(1:19).EQ.'POINT_CERCLE_MOBILE') THEN
  77. IF (MONMOT.EQ.'FLOTTANT') THEN
  78. IVAR = 5 + IDIM
  79. IVLIAB(NLS,3) = 1
  80. INLIAB(NLS,3) = 39
  81. ELSE
  82. IVAR = 4 + IDIM
  83. ENDIF
  84. NVAR = MAX(NVAR,IVAR)
  85. II = II + 1
  86. IDD2 = 3 + 2*IDIM
  87. ICHRE2(II) = IVAR
  88. IVLIAB(NLS,1) = 1
  89. INLIAB(NLS,1) = 36
  90. IVLIAB(NLS,IDD2+1) = 1
  91. INLIAB(NLS,IDD2+1) = 37
  92. IVLIAB(NLS,IDD2+2) = 1
  93. INLIAB(NLS,IDD2+2) = 81
  94. IVLIAB(NLS,IDD2+3) = 1
  95. INLIAB(NLS,IDD2+3) = 38
  96. IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  97. IP = 18
  98. ELSE
  99. IP = 15
  100. ENDIF
  101. DO 210 ID = 1,IDIM
  102. ID2 = 3 + ID
  103. IVLIAB(NLS,ID2) = 1
  104. INLIAB(NLS,ID2) = IP + ID
  105. 210 CONTINUE
  106. * END DO
  107. *
  108. ELSE IF (CMOT(1:22).EQ.'LIGNE_LIGNE_FROTTEMENT') THEN
  109. ivar = 2
  110. NVAR = MAX(NVAR,IVAR)
  111. II = II + 1
  112. IDD2 = 3 + 2*IDIM
  113. ICHRE2(II) = IVAR
  114. IVLIAB(NLS,1) = 1
  115. INLIAB(NLS,1) = 36
  116. IVLIAB(NLS,10) = 1
  117. INLIAB(NLS,10) = 37
  118.  
  119. ELSE IF
  120. &(CMOT(1:23).EQ.'LIGNE_CERCLE_FROTTEMENT') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 5 + IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ELSE
  • IVAR = 4 + IDIM
  • ENDIF
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • IDD2 = 3 + 2*IDIM
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 36
  • IVLIAB(NLS,IDD2+1) = 1
  • INLIAB(NLS,IDD2+1) = 37
  • IVLIAB(NLS,IDD2+2) = 1
  • INLIAB(NLS,IDD2+2) = 81
  • IVLIAB(NLS,IDD2+3) = 1
  • INLIAB(NLS,IDD2+3) = 38
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP = 106
  • ELSE
  • IP = 103
  • ENDIF
  • DO 213 ID = 1,IDIM
  • ID2 = 3 + ID
  • IVLIAB(NLS,ID2) = 1
  • INLIAB(NLS,ID2) = IP + ID
  • 213 CONTINUE
  •  
  •  
  •  
  •  
  •  
  •  
  • ELSE IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN
  • IVAR = 6 + IDIM
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP = 18
  • ELSE
  • IP = 15
  • ENDIF
  • DO 220 ID = 1,IDIM
  • IVLIAB(NLS,ID) = 1
  • INLIAB(NLS,ID) = IP + ID
  • 220 CONTINUE
  • * END DO
  • ID1 = IDIM + 1
  • IVLIAB(NLS,ID1) = 1
  • INLIAB(NLS,ID1) = 39
  • ID2 = ID1 + 1
  • IVLIAB(NLS,ID2) = 1
  • INLIAB(NLS,ID2) = 76
  • ID3 = ID2 + 1
  • IVLIAB(NLS,ID3) = 1
  • INLIAB(NLS,ID3) = 75
  • ID4 = ID3 + 1
  • IVLIAB(NLS,ID4) = 1
  • INLIAB(NLS,ID4) = 70
  • ID5 = ID4 + 1
  • IVLIAB(NLS,ID5) = 1
  • INLIAB(NLS,ID5) = 71
  • ID6 = ID5 + 1
  • IVLIAB(NLS,ID6) = 1
  • INLIAB(NLS,ID6) = 72
  •  
  •  
  •  
  • *
  • ELSE IF (CMOT(1:22).EQ.'CERCLE_PLAN_FROTTEMENT' .OR.
  • & CMOT(1:24).EQ.'CERCLE_CERCLE_FROTTEMENT') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 4 + 4*IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ELSE
  • IVAR = 3 + 4*IDIM
  • ENDIF
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • IDD1 = 3 + IDIM
  • IDD2 = 3 + 2*IDIM
  • IDD3 = 6 + 2*IDIM
  • IDD4 = 6 + 3*IDIM
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 36
  • IVLIAB(NLS,IDD2+1) = 1
  • INLIAB(NLS,IDD2+1) = 37
  • IVLIAB(NLS,IDD2+3) = 1
  • INLIAB(NLS,IDD2+3) = 38
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP2 = 53
  • IP3 = 59
  • IP4 = 47
  • IP5 = 65
  • ELSE
  • IP2 = 50
  • IP3 = 56
  • IP4 = 44
  • IP5 = 62
  • ENDIF
  • DO 310 ID = 1,IDIM
  • ID2 = 3 + ID
  • ID3 = IDD1 + ID
  • ID4 = IDD3 + ID
  • ID5 = IDD4 + ID
  • IVLIAB(NLS,ID2) = 1
  • INLIAB(NLS,ID2) = IP2 + ID
  • IVLIAB(NLS,ID3) = 1
  • INLIAB(NLS,ID3) = IP3 + ID
  • IVLIAB(NLS,ID4) = 1
  • INLIAB(NLS,ID4) = IP4 + ID
  • IVLIAB(NLS,ID5) = 1
  • INLIAB(NLS,ID5) = IP5 + ID
  • 310 CONTINUE
  • * END DO
  • *
  • ELSE IF (CMOT(1:10).EQ.'POINT_PLAN' .OR.
  • & CMOT(1:12).EQ.'POINT_CERCLE') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 2 + IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ELSE
  • IVAR = 1 + IDIM
  • ENDIF
  • ** ianis
  • MONSEUIL = ' '
  • CALL ACCTAB(ITTL,'MOT',I0,X0,'SEUIL_PLASTIQUE',L0,IP0,
  • & MONSEUIL,I1,XSEUIL,CHARRE,L1,IP1)
  • IF (MONSEUIL.EQ.'FLOTTANT'.OR.MONSEUIL.EQ.'ENTIER ')THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,13) = 1
  • INLIAB(NLS,13) = 82
  • ENDIF
  • *
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 15
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP = 18
  • ELSE
  • IP = 15
  • ENDIF
  • DO 102 ID = 1,IDIM
  • ID2 = 3 + ID
  • IVLIAB(NLS,ID2) = 1
  • INLIAB(NLS,ID2) = IP + ID
  • 102 CONTINUE
  • * END DO
  • *
  • ELSE IF (CMOT(1:22).EQ.'POINT_POINT_FROTTEMENT') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 5 + 2 *IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ELSE
  • IVAR = 4 + 2 *IDIM
  • ENDIF
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,1) = 22
  • INLIAB(NLS,2) = 23
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP1 = 26
  • IP2 = 32
  • ELSE
  • IP1 = 23
  • IP2 = 29
  • ENDIF
  • DO 103 ID = 1,IDIM
  • ID2 = 3 + ID
  • ID3 = ID2 + IDIM
  • IVLIAB(NLS,ID2) = 1
  • IVLIAB(NLS,ID3) = 1
  • INLIAB(NLS,ID2) = IP1 + ID
  • INLIAB(NLS,ID3) = IP2 + ID
  • 103 CONTINUE
  • IVLIAB(NLS,4 + 2 * idim) = 1
  • InLIAB(NLS,4 + 2 * idim) = 37
  • IVLIAB(NLS,6 + 2 * idim) = 1
  • InLIAB(NLS,6 + 2 * idim) = 38
  • * END DO
  • *
  • ELSE IF
  • & (CMOT(1:33).EQ.'POINT_POINT_DEPLACEMENT_PLASTIQUE') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 5 + 2 *IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ELSE
  • IVAR = 4 + 2 *IDIM
  • ENDIF
  • IVAR = IVAR + 1
  • IVLIAB(NLS,13) = 1
  • INLIAB(NLS,13) = 82
  • IVLIAB(NLS,14) = 1
  • INLIAB(NLS,14) = 100
  • IVLIAB(NLS,15) = 1
  • INLIAB(NLS,15) = 111
  • *
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,1) = 22
  • INLIAB(NLS,2) = 23
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP1 = 26
  • IP2 = 32
  • ELSE
  • IP1 = 23
  • IP2 = 29
  • ENDIF
  • DO 105 ID = 1,IDIM
  • ID2 = 3 + ID
  • ID3 = ID2 + IDIM
  • IVLIAB(NLS,ID2) = 1
  • IVLIAB(NLS,ID3) = 1
  • INLIAB(NLS,ID2) = IP1 + ID
  • INLIAB(NLS,ID3) = IP2 + ID
  • 105 CONTINUE
  • *
  • *
  • ELSE IF
  • & (CMOT(1:30).EQ.'POINT_POINT_ROTATION_PLASTIQUE') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 5 + 2 *IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 101
  • ELSE
  • IVAR = 4 + 2 *IDIM
  • ENDIF
  • IVAR = IVAR + 1
  • IVLIAB(NLS,13) = 1
  • INLIAB(NLS,13) = 102
  • IVLIAB(NLS,14) = 1
  • INLIAB(NLS,14) = 99
  • IVLIAB(NLS,15) = 1
  • INLIAB(NLS,15) = 112
  • *
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,1) = 85
  • INLIAB(NLS,2) = 86
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP1 = 89
  • IP2 = 95
  • ELSE
  • IP1 = 86
  • IP2 = 92
  • ENDIF
  • DO 400 ID = 1,IDIM
  • ID2 = 3 + ID
  • ID3 = ID2 + IDIM
  • IVLIAB(NLS,ID2) = 1
  • IVLIAB(NLS,ID3) = 1
  • INLIAB(NLS,ID2) = IP1 + ID
  • INLIAB(NLS,ID3) = IP2 + ID
  • 400 CONTINUE
  • *
  • *
  • ELSE IF (CMOT(1:11).EQ.'POINT_POINT') THEN
  • IF (MONMOT.EQ.'FLOTTANT') THEN
  • IVAR = 3 + 2 *IDIM
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ELSE
  • IVAR = 2 + 2 *IDIM
  • ENDIF
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,1) = 22
  • INLIAB(NLS,2) = 23
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP1 = 26
  • IP2 = 32
  • ELSE
  • IP1 = 23
  • IP2 = 29
  • ENDIF
  • DO 104 ID = 1,IDIM
  • ID2 = 3 + ID
  • ID3 = ID2 + IDIM
  • IVLIAB(NLS,ID2) = 1
  • IVLIAB(NLS,ID3) = 1
  • INLIAB(NLS,ID2) = IP1 + ID
  • INLIAB(NLS,ID3) = IP2 + ID
  • 104 CONTINUE
  • * END DO
  • ELSE IF (CMOT(1:23).EQ.'PROFIL_PROFIL_INTERIEUR' .OR.
  • & CMOT(1:23).EQ.'PROFIL_PROFIL_EXTERIEUR') THEN
  • IVAR = 1 + IDIM
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 15
  • IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN
  • IP = 18
  • ELSE
  • IP = 15
  • ENDIF
  • DO 106 ID = 1,IDIM
  • ID2 = 3 + ID
  • IVLIAB(NLS,ID2) = 1
  • INLIAB(NLS,ID2) = IP + ID
  • 106 CONTINUE
  • * END DO
  • *
  • * Ajout liaison PALIER_FLUIDE
  • ELSE IF (CMOT(1:13).EQ.'PALIER_FLUIDE') THEN
  • c modif BP, 2015 : a priori identique pour tous les paliers fluides...
  • c ... sinon il faudra decommenter les tests sur le MODELE_PALIER
  • c CALL ACCTAB(ITTL,'MOT',I0,X0,'MODELE_PALIER',L0,IP0,
  • c & 'MOT',I1,X0,MONMOT,L1,IP1)
  • c IF (IERR.NE.0) RETURN
  • c IF (MONMOT.EQ.'RODELI') THEN
  • c IF (MONMOT.EQ.'RODELI'.OR.MONMOT.EQ.'PALIER_COURT') THEN
  • IVAR = 7
  • NVAR = MAX(NVAR,IVAR)
  • II = II + 1
  • ICHRE2(II) = IVAR
  • IP = 112
  • DO 410 ID = 1,7
  • IVLIAB(NLS,ID) = 1
  • INLIAB(NLS,ID) = IP + ID
  • 410 CONTINUE
  • c C ELSE IF
  • c ENDIF
  • * Fin ajout liaison PALIER_FLUIDE
  • ELSE
  • CALL ERREUR(490)
  • RETURN
  • ENDIF
  • *
  • * choix sur certaines variables de la liaison en sortie
  • *
  • ELSE IF (TYPRET.EQ.'TABLE ' .AND. ITVAR.NE.0) THEN
  • NLS = NLS + 1
  • MNULB(NLS) = INDICE
  • MPOLB(NLS) = ITTL
  • CALL ACCTAB(ITTL,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0,
  • & 'MOT',I1,X1,CMOT,L1,IT1)
  • IVAR = 0
  • *
  • IF (CMOT(1:21).EQ.'POINT_PLAN_FROTTEMENT' .OR.
  • & CMOT(1:23).EQ.'POINT_CERCLE_FROTTEMENT'.OR.
  • & CMOT(1:19).EQ.'POINT_CERCLE_MOBILE') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 36
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,10) = 1
  • INLIAB(NLS,10) = 37
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,12) = 1
  • INLIAB(NLS,12) = 38
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,11) = 1
  • INLIAB(NLS,11) = 81
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 16
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 17
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 18
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 19
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 20
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • *
  • ELSE IF (CMOT(1:22).EQ.'LIGNE_LIGNE_FROTTEMENT') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 36
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,10) = 1
  • INLIAB(NLS,10) = 37
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,12) = 1
  • INLIAB(NLS,12) = 38
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,11) = 1
  • INLIAB(NLS,11) = 81
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 104
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 105
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 106
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 107
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 108
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'CHPOINT_FORCE_DE_CHOC',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVLIAB(NLS,7) = 2
  • INLIAB(NLS,7) = 110
  • CHPO= .TRUE.
  • II = II + 1
  • ICHRE2(II) = IVAR +1
  • IVAR = IVAR + NPLB*2
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • *
  •  
  • * liaisons ligne_cercle
  •  
  • ELSE IF
  • & (CMOT(1:23).EQ.'LIGNE_CERCLE_FROTTEMENT') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 36
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,10) = 1
  • INLIAB(NLS,10) = 37
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,12) = 1
  • INLIAB(NLS,12) = 38
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,11) = 1
  • INLIAB(NLS,11) = 81
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 104
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 105
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 106
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 107
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_DE_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 108
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'CHPOINT_FORCE_DE_CHOC',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVLIAB(NLS,7) = 2
  • INLIAB(NLS,7) = 110
  • CHPO= .TRUE.
  • II = II + 1
  • ICHRE2(II) = IVAR +1
  • IVAR = IVAR + NPLB*2
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  •  
  •  
  •  
  •  
  • * fin liaisons segment_cercle
  •  
  •  
  • ELSE IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_INERTIE',L0,IP0,
  • & TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • ID1 = IDIM + 3
  • IVLIAB(NLS,ID1) = 1
  • INLIAB(NLS,ID1) = 75
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_CONVECTION',L0,IP0,
  • & TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • ID1 = IDIM + 4
  • IVLIAB(NLS,ID1) = 1
  • INLIAB(NLS,ID1) = 70
  • ENDIF
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_VISCOSITE',L0,IP0,
  • & TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • ID1 = IDIM + 5
  • IVLIAB(NLS,ID1) = 1
  • INLIAB(NLS,ID1) = 71
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_PERTE_DE_CHARGE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • ID1 = IDIM + 6
  • IVLIAB(NLS,ID1) = 1
  • INLIAB(NLS,ID1) = 72
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'ACCELERATION_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • ID1 = IDIM + 2
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 76
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • ID1 = IDIM + 1
  • IVLIAB(NLS,ID1) = 1
  • INLIAB(NLS,ID1) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 16
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,2) = 17
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 18
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 19
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,2) = 20
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • *
  • ELSE IF (CMOT(1:22).EQ.'CERCLE_PLAN_FROTTEMENT' .OR.
  • & CMOT(1:24).EQ.'CERCLE_CERCLE_FROTTEMENT') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 36
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,10) = 1
  • INLIAB(NLS,10) = 37
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,12) = 1
  • INLIAB(NLS,12) = 38
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 51
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 52
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 53
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 54
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 55
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VX_POINT_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,7) = 1
  • INLIAB(NLS,7) = 57
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VY_POINT_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,8) = 1
  • INLIAB(NLS,8) = 58
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VZ_POINT_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,9) = 1
  • INLIAB(NLS,9) = 59
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VR_POINT_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,7) = 1
  • INLIAB(NLS,7) = 60
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VT_POINT_CONTACT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,8) = 1
  • INLIAB(NLS,8) = 61
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'MX_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,13) = 1
  • INLIAB(NLS,13) = 45
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'MY_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,14) = 1
  • INLIAB(NLS,14) = 46
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'MZ_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,15) = 1
  • INLIAB(NLS,15) = 47
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'RX_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,16) = 1
  • INLIAB(NLS,16) = 63
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'RY_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,17) = 1
  • INLIAB(NLS,17) = 64
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'RZ_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,18) = 1
  • INLIAB(NLS,18) = 65
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'RR_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,16) = 1
  • INLIAB(NLS,16) = 66
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'RT_POINT_FIBRE_NEUTRE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,17) = 1
  • INLIAB(NLS,17) = 67
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • *
  • ELSE IF (CMOT(1:10).EQ.'POINT_PLAN' .OR.
  • & CMOT(1:12).EQ.'POINT_CERCLE') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 15
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • ** ianis
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'DEPLACEMENT_PLASTIQUE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,13) = 1
  • INLIAB(NLS,13) = 82
  • ENDIF
  • *
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 16
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 17
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 18
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 19
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 20
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • ELSE IF (CMOT(1:22).EQ.'POINT_POINT_FROTTEMENT') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 22
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,2) = 23
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 24
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 25
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 26
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 27
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 28
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 1
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 30
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 2
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 31
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 3
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 32
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 1
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 33
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 2
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 34
  • ENDIF
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_TANGENTIELLE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,10) = 1
  • INLIAB(NLS,10) = 37
  • ENDIF
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'PUISSANCE_USURE_INSTANTANEE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,12 ) = 1
  • INLIAB(NLS,12 ) = 38
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • *
  • ELSE IF
  • & (CMOT(1:33).EQ.'POINT_POINT_DEPLACEMENT_PLASTIQUE') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 22
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,2) = 23
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'DEPLACEMENT_PLASTIQUE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,13) = 1
  • INLIAB(NLS,13) = 82
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 24
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 25
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 26
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 27
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 28
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 1
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 30
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 2
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 31
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 3
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 32
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 1
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 33
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 2
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 34
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • *
  • ELSE IF (CMOT(1:11).EQ.'POINT_POINT') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 22
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,2) = 1
  • INLIAB(NLS,2) = 23
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'VITESSE_NORMALE',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,3) = 1
  • INLIAB(NLS,3) = 39
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 24
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 25
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 26
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 27
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_A',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 28
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 1
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 30
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 2
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 31
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 3
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 32
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 1
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 33
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT_POINT_B',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IDI = 3 + IDIM + 2
  • IVLIAB(NLS,IDI) = 1
  • INLIAB(NLS,IDI) = 34
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • ELSE IF (CMOT(1:23).EQ.'PROFIL_PROFIL_INTERIEUR' .OR.
  • & CMOT(1:23).EQ.'PROFIL_PROFIL_EXTERIEUR') THEN
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'FORCE_DE_CHOC',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,1) = 1
  • INLIAB(NLS,1) = 15
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UX',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 16
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UY',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 17
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UZ',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,6) = 1
  • INLIAB(NLS,6) = 18
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UR',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,4) = 1
  • INLIAB(NLS,4) = 19
  • ENDIF
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0,'UT',
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,5) = 1
  • INLIAB(NLS,5) = 20
  • ENDIF
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  •  
  • * Ajout liaison PALIER_FLUIDE
  • ELSE IF (CMOT(1:13).EQ.'PALIER_FLUIDE') THEN
  • CALL ACCTAB(ITTL,'MOT',I0,X0,'MODELE_PALIER',L0,IP0,
  • & 'MOT',I1,X0,MONMOT,L1,IP1)
  • IF (IERR.NE.0) RETURN
  • IF (MONMOT(1:6).EQ.'RODELI') THEN
  • IP = 112
  • DO 420 ID = 1,7
  • IF (ID.LT.3) THEN
  • ILONG=9
  • ELSE
  • ILONG=8
  • ENDIF
  • IF (ID.EQ.7) ILONG=14
  • GOTO (421,422,423,424,425,426,427) ID
  • 421 CMOT = 'FY_PALIER'
  • GOTO 428
  • 422 CMOT = 'FZ_PALIER'
  • GOTO 428
  • 423 CMOT = 'UY_ARBRE'
  • GOTO 428
  • 424 CMOT = 'UZ_ARBRE'
  • GOTO 428
  • 425 CMOT = 'VY_ARBRE'
  • GOTO 428
  • 426 CMOT = 'VZ_ARBRE'
  • GOTO 428
  • 427 CMOT = 'TRAVAIL_FLUIDE'
  • 428 CONTINUE
  • TYPRET = ' '
  • CALL ACCTAB(ITVAR,'MOT',I0,X0, CMOT(1:ILONG),
  • & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1)
  • IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN
  • IVAR = IVAR + 1
  • IVLIAB(NLS,ID) = 1
  • INLIAB(NLS,ID) = IP + ID
  • ENDIF
  • 420 CONTINUE
  • IF (IVAR.EQ.0) THEN
  • CALL ERREUR(496)
  • RETURN
  • ENDIF
  • ENDIF
  • * fin ajout liaison PALIER_FLUIDE
  •  
  • ENDIF
  •  
  • NVAR = MAX(NVAR,IVAR)
  • IF (.NOT.CHPO) THEN
  • II = II + 1
  • ICHRE2(II) = IVAR
  • ENDIF
  • ENDIF
  • GOTO 100
  • ENDIF
  •  
  • *
  • END
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  • © Cast3M 2003 - Tous droits réservés.
    Mentions légales