Download dyna14.eso

Back to the list

   1 : C DYNA14    SOURCE    PV        09/09/11    21:18:02     6504           
   2 :       SUBROUTINE DYNA14(ITREFR,KTLIAA)                                          
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : *--------------------------------------------------------------------*          
   6 : *                                                                    *          
   7 : *     Operateur DYNE : algorithme de Fu - de Vogelaere               *          
   8 : *     ________________________________________________               *          
   9 : *                                                                    *          
  10 : *     Remplissage du tableau contenant les parametres de liaison en  *          
  11 : *     cas de reprise (liaison POLYNOMIALE en base A)                 *          
  12 : *                                                                    *          
  13 : *     Parametres:                                                    *          
  14 : *                                                                    * 
  15 : *     ITREFR    Table contenant les variables internes des liaisons  *
  16 : *               sauvegardees dans la table de reprise                * 
  17 : *     KTLIAA    Description des liaisons en base A                   *  
  18 : *                                                                    *          
  19 : *     Auteur, date de creation:                                      *          
  20 : *                                                                    *          
  21 : *     Denis ROBERT-MOUGIN : le 14 mai 1992                           *          
  22 : *                                                                    *          
  23 : *--------------------------------------------------------------------*          
  24 : *                                                                               
  25 : -INC CCOPTIO                                                           
  26 : -INC SMLENTI
  27 : -INC SMTABLE
  28 : -INC SMLREEL
  29 : -INC SMCOORD  
  30 : *
  31 :       SEGMENT,ICPR(XCOOR(/1)/(IDIM+1))                                                                                                                    
  32 :       SEGMENT,MTLIAA                                                           
  33 :          INTEGER IPALA(NLIAA,NIPALA),IPLIA(NLIAA,NPLAA),JPLIA(NPLA)             
  34 :          REAL*8  XPALA(NLIAA,NXPALA)                                            
  35 :       ENDSEGMENT
  36 : *
  37 :       LOGICAL L0,L1
  38 :       CHARACTER*(8) TYPIND                                                                 
  39 : *                                                                               
  40 :       MTLIAA = KTLIAA                                                           
  41 :       NLIAA = XPALA(/1)          
  42 :       IF (IIMPI.EQ.333) THEN
  43 :          WRITE(IOIMP,*)'Entree dans DYNA14' 
  44 :          WRITE(IOIMP,*)'NLIAA = ',NLIAA    
  45 :       ENDIF                                      
  46 : *                                                                               
  47 : *     Boucle sur les liaisons en base A sauvegardees                                         
  48 : *    
  49 :       IPOLY = 0                                                                                                                                       
  50 :       DO 10 I = 1,NLIAA                                                    
  51 :          ITYP = IPALA(I,1)  
  52 :          IF (IIMPI.EQ.333) THEN
  53 :          WRITE(IOIMP,*)'ITYP = ',ITYP,' I = ',I   
  54 :          ENDIF                                 
  55 :          IF (ITYP.EQ.6) THEN
  56 :             IPOLY = IPOLY + 1
  56 :             CALL ACCTAB(ITREFR,'ENTIER',IPOLY,X0,' ',L0,IP0,                           
  57 :      &                  'TABLE',I1,X1,' ',L1,ITREFI)                               
  58 :             IF (IERR.NE.0) RETURN                                              
  58 :             CALL ACCTAB(ITREFI,'MOT',I0,X0,'TYPE',L0,IP0,                          
  59 :      &                  'ENTIER',ITYPR,X1,' ',L1,ITR)                              
  60 :             IF (IERR.NE.0) RETURN    
  61 :             IF (ITYP.NE.ITYPR) THEN                                                
  61 :                call erreur(21)                                                          
  62 :                RETURN                                                              
  63 :             ENDIF                                                                  
  64 : *                                                                               
  65 : *           Liaison de type force POLYNOMIALE           
  66 : *                                                                               
  67 :             IF (ITYPR.EQ.6) THEN                                                                         
  67 :                CALL ACCTAB(ITREFI,'MOT',I0,X0,
  68 :      &                     'POINTS_LIAISON_POLYNOMIALE',           
  69 :      &                     L0,IP0,'LISTENTI',I1,X1,' ',L1,IPLEN1)                      
  70 :                IF (IERR.NE.0) RETURN                                               
  70 :                CALL ACCTAB(ITREFI,'MOT',I0,X0,
  71 :      &                  'VARIABLES_LIAISON_POLYNOMIALE',               
  72 :      &                  L0,IP0,'LISTREEL',I1,X1,' ',L1,IPLRE1)                      
  73 :                IF (IERR.NE.0) RETURN                              
  74 : *
  75 :                IF (IIMPI.EQ.333) THEN
  76 :                   WRITE(IOIMP,*)'Lecture des points / liaison ',I
  77 :                ENDIF
  78 :                MLENTI = IPLEN1
  79 :                SEGACT MLENTI
  80 :                NP = LECT(/1)
  81 :                NPJ = NP / 2
  82 :                DO 20 J=1,NPJ
  83 :                   K = J * 2
  84 :                   IKX = LECT(K)
  85 :                   IPLIA(I,J) = IKX 
  86 :                   K = (J * 2) - 1
  87 :                   JPLIA(IKX) = LECT(K)
  88 :  20            CONTINUE
  89 : *****PV        SEGSUP MLENTI
  90 : *
  91 :                IF (IIMPI.EQ.333) THEN
  92 :                   WRITE(IOIMP,*)'Lecture des deplacements / liaison ',I
  93 :                ENDIF
  94 :                MLREEL = IPLRE1
  95 :                SEGACT MLREEL
  96 :                NV = PROG(/1)
  97 :                DO 30 J=1,NV
  98 :                   XPALA(I,J) = PROG(J)
  99 :  30            CONTINUE 
 100 : *****PV        SEGSUP MLREEL
 101 :             ENDIF
 102 :          ENDIF    
 103 :  10      CONTINUE
 104 : *     end do 
 105 : *           
 106 :       END 
 107 :  
 108 :  
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer