Download dyne77.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer