Download dyne05.eso

Back to the list

   1 : C DYNE05    SOURCE    CHAT      09/10/09    21:17:34     6519           
   2 :       SUBROUTINE DYNE05(IRIGK,ICHT22,ICHT23,NDDL,MUCT)                          
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : ************************************************************************        
   6 : *                                                                               
   7 : *                             D Y N E 0 5                                       
   8 : *                             -----------                                       
   9 : *                                                                               
  10 : * FONCTION:                                                                     
  11 : * ---------                                                                     
  12 : *     UTILITAIRE DE L'OPERATEUR "DYNE"                                          
  13 : *     CALCUL DU PRODUIT :  - K * U                                              
  14 : *                                                                               
  15 : * PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)          
  16 : * -----------                                                                   
  17 : *                                                                               
  18 : *     IRIGK   (E)  POINTEUR SUR L'OBJET RIGIDITE K ( ACTIF )                    
  19 : *     VEC1    (E)  VECTEUR CONTENANT U                                          
  20 : *     VEC2    (S)  VECTEUR CONTENANT LE PRODUIT K * U                           
  21 : *     NDDL    (E)  NOMBRE DE DEGRES DE LIBERTE                                  
  22 : *     MUCT    (E)  POINTEUR SUR LE SEGMENT MUCTRA ( ACTIF )                     
  23 : *                                                                               
  24 : * AUTEUR, DATE DE CREATION:                                                     
  25 : * -------------------------                                                     
  26 : *     DENIS ROBERT, LE 25 NOVEMBRE 1988.                                        
  27 : *     REVU ET CORRIGE DECEMBRE 89 MP                                            
  28 : *                                                                               
  29 : * LANGAGE:                                                                      
  30 : * --------                                                                      
  31 : *     ESOPE + FORTRAN77                                                         
  32 : *                                                                               
  33 : ************************************************************************        
  34 : *                                                                               
  35 : * MODULES UTILISES:                                                             
  36 : *                                                                               
  37 : -INC CCOPTIO                                                                    
  38 : -INC SMELEME                                                                    
  39 : -INC SMRIGID                                                                    
  40 : -INC SMMATRI                                                                    
  41 : -INC SMCOORD                                                                    
  42 : *                                                                               
  43 :       SEGMENT,MCHT2                                                             
  44 :          REAL*8 VCC2(NDDL)                                                      
  45 :       ENDSEGMENT                                                                
  46 :       POINTEUR MCHT22.MCHT2,MCHT23.MCHT2                                        
  47 : *                                                                               
  48 : *     REAL*8 VEC1(*),VEC2(*)                                                    
  49 :       CHARACTER*4 NI                                                            
  50 : *                                                                               
  51 :       SEGMENT MUCTRA                                                            
  52 :          REAL*8 CC(NLIGMA)                                                      
  53 :          INTEGER MUCPO,MUCMIK,MUCDUA,MUIPOS(NLIGMA),MUCPR                       
  54 :       ENDSEGMENT                                                                
  55 :       SEGMENT ICPR(XCOOR(/1)/(IDIM+1))                                          
  56 : *                                                                               
  57 :       MUCTRA=MUCT                                                               
  58 :       MCHT22=ICHT22                                                             
  59 :       MCHT23=ICHT23                                                             
  60 : *                                                                               
  61 :       DO 1 I1=1,NDDL                                                            
  62 :          MCHT23.VCC2(I1)=0.D0                                                   
  63 :  1       CONTINUE                                                               
  64 : *     END DO                                                                    
  65 : *                                                                               
  66 :       MINCPO=MUCPO                                                              
  67 :       MIMIK=MUCMIK                                                              
  68 :       ICPR=MUCPR                                                                
  69 :       ININC=IMIK(/2)                                                            
  70 : *                                                                               
  71 : *---  BOUCLE SUR LES ZONES ELEMENTAIRES DE LA RIGIDITE                          
  72 : *                                                                               
  73 :       MRIGID=IRIGK                                                              
  74 :       NRIGEL=IRIGEL(/2)                                                         
  75 :       DO 20 IRI=1,NRIGEL                                                        
  76 :          MELEME=IRIGEL(1,IRI)                                                   
  77 :          DESCR=IRIGEL(3,IRI)                                                    
  78 : *                                                                               
  79 : *---     ON REMPLIT MUIPOS(IN)=JN QUI DIT QUE LA IEME INCONNUE                  
  80 : *---     DE LA MATRICE ELEMENTAIRE EST LA JEME DE IINC                          
  81 : *                                                                               
  82 :          DO 21 IN=1,LISINC(/2)                                                  
  83 :             NI=LISINC(IN)                                                       
  84 :             DO 22 IJ=1,ININC                                                    
  85 :                IF (NI.EQ.IMIK(IJ))  GO TO 23                                    
  86 :  22            CONTINUE                                                         
  87 : *           END DO                                                              
  88 :  23         CONTINUE                                                            
  89 :             MUIPOS(IN)=IJ                                                       
  90 :  21         CONTINUE                                                            
  91 : *        END DO                                                                 
  92 : *                                                                               
  93 : *---     BOUCLE SUR LES MATRICES TRES ELEMENTAIRES DE LA RIGIDITE               
  94 : *                                                                               
  95 :          N1=NUM(/1)                                                             
  96 :          N2=NUM(/2)                                                             
  97 :          xMATRI=IRIGEL(4,IRI)                                                   
  98 :          COER=COERIG(IRI)                                                       
  99 :          DO 30 I2=1,N2                                                          
 100 : *                                                                               
 101 : *---        FABRICATION D'UN TABLEAU ISSU DU CHPOINT                            
 102 : *                                                                               
 103 :             DO 33 IN=1,LISINC(/2)                                               
 104 :                CC(IN)=0.D0                                                      
 105 :                J2=ICPR(NUM(NOELEP(IN),I2))                                      
 106 :                J1=MUIPOS(IN)                                                    
 107 :                CC(IN)=MCHT22.VCC2(INCPO(J1,J2))                                 
 108 :  33            CONTINUE                                                         
 109 : *           END DO                                                              
 110 : *                                                                               
 111 : *---        BOUCLE SUR LES LIGNES D'UNE MATRICE ELEMENTAIRE                     
 112 : *                                                                               
 113 : *            XMATRI=IMATTT(I2)                                                   
 114 :             DO 35 IN=1,LISINC(/2)                                               
 115 :                VA=0.D0                                                          
 116 :                J2=ICPR(NUM(NOELEP(IN),I2))                                      
 117 :                J1=MUIPOS(IN)                                                    
 118 :                DO 38 JN=1,LISINC(/2)                                            
 119 : *                  IF (JN.GT.IN) THEN                                            
 120 : *                     IKO=(JN-1)*JN/2+IN                                         
 121 :                      VA=VA+CC(JN)*RE(JN,IN,i2)                                       
 122 : *                  ELSE                                                          
 123 : *                     IKO=(IN-1)*IN/2+JN                                         
 124 : *                     VA=VA+CC(JN)*RE(IKO)                                       
 125 : *                  ENDIF                                                         
 126 :  38               CONTINUE                                                      
 127 : *              END DO                                                           
 128 :                IKKK=INCPO(J1,J2)                                                
 129 :                MCHT23.VCC2(IKKK)=MCHT23.VCC2(IKKK)-VA*COER                      
 130 :  35            CONTINUE                                                         
 131 : *           END DO                                                              
 132 :  30         CONTINUE                                                            
 133 : *        END DO                                                                 
 134 :  20      CONTINUE                                                               
 135 : *     END DO                                                                    
 136 : *                                                                               
 137 :       END                                                                       
 138 :  
 139 :  
 140 :  
 141 :  
 142 :  
 143 :  
 144 :  
 145 :  
 146 :  

© Cast3M 2003 - All rights reserved.
Disclaimer