Download cq3gra.eso

Back to the list

   1 : C CQ3GRA    SOURCE    CHAT      05/01/12    22:26:51     5004           
   2 :       SUBROUTINE CQ3GRA(XXE,UUE,GRADI,                                          
   3 :      1  UE,XX,YY,P,XE,YE,ZE,DT,DF,SK,T,Q,SD,CM,TM)                              
   4 : C                                                                               
   5 : C |====================================================================|        
   6 : C |                                                                    |        
   7 : C |      ELEMENT COQ3 CALCUL DES GRADIANS                                       
   8 : C |                                                                    |        
   9 : C |    ===== ENTREE                                                    |        
  10 : C |               XXE(3,3) COORDONEES DES 3 NOEUDS DE L ELEMENT        |        
  11 : C |                        RANGES X(1,2)=COORDONNEE X DU NOEUD 2       |        
  12 : C |                               X(2,2)=COORDONNEE Y DU NOEUD 2       |        
  13 : C |                               X(3,2)=COORDONNEE Z DU NOEUD 2       |        
  14 : C |               UUE(18)  VECTEUR DEPLACEMENT DE L ELEMENT            |        
  15 : C |                                                                    |        
  16 : C |    ===== SORTIE                                                    |        
  17 : C |           GRADI(9):GRADIAN AUX CENTRE DE GRAVITE                   |        
  18 : C |           RANGEE 1-9                                               |        
  19 : C |           UXDX  UXDY  UXDZ  UYDX  UYDY  UYDZ  UZDX  UZDY  UZDZ     |        
  20 : C |    MAIS   UXDZ=-UZDX                                               |        
  21 : C |           UYDZ=-UZDY                                               |        
  22 : C |   CODE SUO X.Z.                                                    |        
  23 : C |====================================================================|        
  24 :       IMPLICIT INTEGER(I-N)
  25 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  26 :       DIMENSION GRADI(9)                                                        
  27 :       DIMENSION XXE(3,3),UUE(18)                                                
  28 :       DIMENSION UE(18),XX(3),YY(3),P(3,3),XE(3),YE(3),ZE(3)                     
  29 :       DIMENSION DT(6),DF(9),SK(4,6),T(4,2),Q(2,9)                               
  30 :       DIMENSION CM(4),TM(4),SD(2)                                               
  31 : C                                                                               
  32 : C                                                                               
  33 :       DATA S1SUR9/0.111111111111111D0/,S2SUR9/0.222222222222222D0/              
  34 :       DATA S4SUR3/1.333333333333333D0/,S1SUR3/0.333333333333333D0/              
  35 :       DATA XZERO/0.D0/                                                          
  36 : C                                                                               
  37 : C                                                                               
  38 :       DO 2 IP=1,18                                                              
  39 :     2 UE(IP)=UUE(IP)                                                            
  40 :       DO 4 IP=1,3                                                               
  41 :       XE(IP)=XXE(1,IP)                                                          
  42 :       YE(IP)=XXE(2,IP)                                                          
  43 :       ZE(IP)=XXE(3,IP)                                                          
  44 :     4 CONTINUE                                                                  
  44 :       CALL PASSA(XE,YE,ZE,P,X13,X23,Y13,Y23)                                    
  45 :       DO 10 IP=1,6                                                              
  46 :       IP1=3*(IP-1)                                                              
  47 :       DO 5 IQ=1,3                                                               
  48 :     5 XX(IQ)=UE(IQ+IP1)                                                         
  48 :       CALL MULMAT(YY,P,XX,3,1,3)                                                
  49 :       DO 7 IQ=1,3                                                               
  50 :     7 UE(IQ+IP1)=YY(IQ)                                                         
  51 :    10 CONTINUE                                                                  
  52 :       DO 8 IP=1,3                                                               
  53 :       IP1=IP-1                                                                  
  54 :       IP2=2*IP1                                                                 
  55 :       IP3=3*IP1                                                                 
  56 :       IP6=6*IP1                                                                 
  57 :       DO 9 IQ=1,2                                                               
  58 :     9 DT(IQ+IP2)=UE(IQ+IP6)                                                     
  59 :       DO 11 IQ=3,5                                                              
  60 :       IQ2=IQ-2                                                                  
  61 :    11 DF(IQ2+IP3)=UE(IQ+IP6)                                                    
  62 :     8 CONTINUE                                                                  
  63 :       S=1./(X13*Y23-X23*Y13)                                                    
  64 :       A1=Y13                                                                    
  65 :       A2=-X13                                                                   
  66 :       A3=Y23                                                                    
  67 :       A4=-X23                                                                   
  68 : C ====                                                                          
  68 :       CALL ZERO(Q,2,9)                                                          
  68 :       CALL ZERO(SK,4,6)                                                         
  68 :       CALL ZERO(T,4,2)                                                          
  69 : C ====                                                                          
  70 :       SK(1,1)=Y23                                                               
  71 :       SK(1,3)=-Y13                                                              
  72 :       SK(1,5)=Y13-Y23                                                           
  73 :       SK(2,1)=-X23                                                              
  74 :       SK(2,3)=X13                                                               
  75 :       SK(2,5)=X23-X13                                                           
  76 :       SK(3,2)=Y23                                                               
  77 :       SK(3,4)=-Y13                                                              
  78 :       SK(3,6)=Y13-Y23                                                           
  79 :       SK(4,2)=-X23                                                              
  80 :       SK(4,4)=X13                                                               
  81 :       SK(4,6)=X23-X13                                                           
  82 : C=====                                                                          
  83 :       T(1,1)=-Y23                                                               
  84 :       T(1,2)= Y13                                                               
  85 :       T(2,1)= X23                                                               
  86 :       T(2,2)=-X13                                                               
  87 :       T(3,1)= Y23                                                               
  88 :       T(3,2)=-Y13                                                               
  89 :       T(4,1)=-X23                                                               
  90 :       T(4,2)= X13                                                               
  91 : C=====                                                                          
  92 :       Q(1,1)= S4SUR3                                                            
  93 :       Q(1,2)= S2SUR9*A3-S1SUR3*A1                                               
  94 :       Q(1,3)= S2SUR9*A4-S1SUR3*A2                                               
  95 :       Q(1,4)= XZERO                                                             
  96 :       Q(1,5)= S1SUR9*A1                                                         
  97 :       Q(1,6)= S1SUR9*A2                                                         
  98 :       Q(1,7)=-S4SUR3                                                            
  99 :       Q(1,8)=-S2SUR9*A3-S1SUR9*A1                                               
 100 :       Q(1,9)=-S2SUR9*A4-S1SUR9*A2                                               
 101 :       Q(2,1)= XZERO                                                             
 102 :       Q(2,2)= S1SUR9*A3                                                         
 103 :       Q(2,3)= S1SUR9*A4                                                         
 104 :       Q(2,4)= S4SUR3                                                            
 105 :       Q(2,5)=-S1SUR3*A3+S2SUR9*A1                                               
 106 :       Q(2,6)=-S1SUR3*A4+S2SUR9*A2                                               
 107 :       Q(2,7)=-S4SUR3                                                            
 108 :       Q(2,8)=-S1SUR9*A3-S2SUR9*A1                                               
 109 :       Q(2,9)=-S1SUR9*A4-S2SUR9*A2                                               
 110 : C====                                                                           
 110 :       CALL MULMAT(CM,SK,DT,4,1,6)                                               
 110 :       CALL MULMAT(SD,Q,DF,2,1,9)                                                
 110 :       CALL MULMAT(TM,T,SD,4,1,2)                                                
 111 :       GRADI(1)= CM(1)*S                                                         
 112 :       GRADI(2)= CM(2)*S                                                         
 113 :       GRADI(4)= CM(3)*S                                                         
 114 :       GRADI(5)= CM(4)*S                                                         
 115 :       GRADI(3)= TM(1)*S                                                         
 116 :       GRADI(6)= TM(2)*S                                                         
 117 :       GRADI(7)= TM(3)*S                                                         
 118 :       GRADI(8)= TM(4)*S                                                         
 119 :       GRADI(9)= XZERO                                                           
 120 :       RETURN                                                                    
 121 :       END                                                                       
 122 :  

© Cast3M 2003 - All rights reserved.
Disclaimer