Download bgrcq4.eso

Back to the list

   1 : C BGRCQ4    SOURCE    CHAT      06/03/29    21:15:59     5360           
   2 :       SUBROUTINE BGRCQ4(IGAU,XEL,SHPTOT,SHP,BGR,DJAC,EXCEN,NOPLAN,IARR)                      
   3 : C |====================================================================|        
   4 : C |                                                                    |        
   5 : C |  CALCULER LA MATRICE DE GRADIENT BGR POUR COQ4 excentre ou non     |        
   6 : C |     CODE SUO X.Z.                                                  |        
   7 : C |====================================================================|        
   8 : C |INPUT                                                               |        
   9 : C |   IGAU=NUMERO DU POINT DE GAUSS                                    |        
  10 : C |   NBNO=NOMBRE DE NOEUDS                                            |        
  11 : C |   LRE =NOMBRE DE COLONNES DE LA MATRICE BGR                        |        
  12 : C |   XEL =COORDONNEES LOCALES DE L ELEMENT                            |        
  13 : C |   SHPTOT(6,NBNO,NBGAU)=FONCTIONS DE FORMES ET DERIVEES             |
  14 : C |   EXCEN=Excentrement de coque.                                     |                                   
  15 : C |   NOPLAN=1 si element non plan,                                    | 
  16 : C |         =0 sinon.                                                  |
  17 : C |   SHP=Fonctions de forme et derivees dans l'espace geometrique.    |                                             
  18 : C |ZONE DE TRAVAIL                                                     |        
  19 : C |   SHP(6,NBNO)=TABLEAU DE TRAVAIL                                   |        
  20 : C |OUTPUT                                                              |        
  21 : C |   DJAC=JACOBIEN                                                    |        
  22 : C |   BGR(9,LRE)=MATRICE BGR                                           |        
  23 : C |====================================================================|        
  24 :       IMPLICIT INTEGER(I-N)
  25 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  26 :       PARAMETER (LRE=24,NBNO=4)                                                 
  27 :       DIMENSION XEL(3,*),BGR(9,*),SHP(6,*),SHPTOT(6,NBNO,*)
  28 :       DIMENSION SHP7(4:5,NBNO),SHP8(4:5,NBNO)                                      
  29 :       DATA ZER/0.D0/                                                            
  30 :       IARR=0                                                                    
  31 : *                                                      
  32 : *     Matrice jacobienne:                                                                                                           
  33 : *                                                                               
  34 :       DO 110 I=1,NBNO                                                           
  35 :          SHP(1,I)=SHPTOT(1,I,IGAU)                                              
  36 :          SHP(2,I)=SHPTOT(2,I,IGAU)                                              
  37 :          SHP(3,I)=SHPTOT(3,I,IGAU)                                              
  38 :  110  CONTINUE 
  39 :       DXDQSI = ZER                                                             
  40 :       DXDETA = ZER                                                             
  41 :       DYDQSI = ZER                                                             
  42 :       DYDETA = ZER                                                             
  43 :       DO 120 I=1,NBNO                                                           
  44 :          DXDQSI=DXDQSI+SHP(2,I)*XEL(1,I)                                        
  45 :          DXDETA=DXDETA+SHP(3,I)*XEL(1,I)                                        
  46 :          DYDQSI=DYDQSI+SHP(2,I)*XEL(2,I)                                        
  47 :          DYDETA=DYDETA+SHP(3,I)*XEL(2,I)                                        
  48 :  120  CONTINUE                                                                        
  49 :       DJAC=DXDQSI*DYDETA-DXDETA*DYDQSI                                          
  50 :       IF(DJAC.LE. ZER) THEN                                                    
  51 :          IARR=1                                                                 
  52 :          RETURN                                                                 
  53 :       END IF                                                                    
  54 : *                                                                               
  55 : * Fonctions de forme dans l'espace geometrique
  56 : *                             
  57 :       DQSIDX= DYDETA/DJAC                                                       
  58 :       DQSIDY=-DXDETA/DJAC                                                       
  59 :       DETADX=-DYDQSI/DJAC                                                       
  60 :       DETADY= DXDQSI/DJAC                                                       
  61 :       DO 130 I=1,NBNO                                                           
  62 :          TT=SHP(2,I)*DQSIDX+SHP(3,I)*DETADX                                     
  63 :          SHP(3,I)=SHP(2,I)*DQSIDY+SHP(3,I)*DETADY                               
  64 :          SHP(2,I)=TT                                                            
  65 :  130  CONTINUE                                                                                        
  66 : C
  67 : C CALCUL DE LA MATRICE BGR                              
  68 : C     
  68 :       CALL ZERO(BGR,9,LRE)                                                                          
  69 :       N1 = 1                                                                 
  70 :       N2 = 2                                                                 
  71 :       DX1 = SHPTOT(2,N1,IGAU)*XEL(1,N1)+SHPTOT(2,N2,IGAU)*XEL(1,N2)          
  72 :       DY1 = SHPTOT(2,N1,IGAU)*XEL(2,N1)+SHPTOT(2,N2,IGAU)*XEL(2,N2)          
  73 :       N1 = 3                                                                 
  74 :       N2 = 4                                                                 
  75 :       DX2 = SHPTOT(2,N1,IGAU)*XEL(1,N1)+SHPTOT(2,N2,IGAU)*XEL(1,N2)          
  76 :       DY2 = SHPTOT(2,N1,IGAU)*XEL(2,N1)+SHPTOT(2,N2,IGAU)*XEL(2,N2)          
  77 :       N1 = 1                                                                 
  78 :       N2 = 4                                                                 
  79 :       DX3 = SHPTOT(3,N1,IGAU)*XEL(1,N1)+SHPTOT(3,N2,IGAU)*XEL(1,N2)          
  80 :       DY3 = SHPTOT(3,N1,IGAU)*XEL(2,N1)+SHPTOT(3,N2,IGAU)*XEL(2,N2)          
  81 :       N1 = 2                                                                 
  82 :       N2 = 3                                                                 
  83 :       DX4 = SHPTOT(3,N1,IGAU)*XEL(1,N1)+SHPTOT(3,N2,IGAU)*XEL(1,N2)          
  84 :       DY4 = SHPTOT(3,N1,IGAU)*XEL(2,N1)+SHPTOT(3,N2,IGAU)*XEL(2,N2)          
  85 : *                                                                               
  86 :       D2JAC = 2.D0 * DJAC                                                    
  87 : *                                                                               
  88 :       SHP7(4,1) = (- DYDETA*DY1 + DYDQSI*DY3) / D2JAC                        
  89 :       SHP7(4,2) = (- DYDETA*DY1 + DYDQSI*DY4) / D2JAC                        
  90 :       SHP7(4,3) = (- DYDETA*DY2 + DYDQSI*DY4) / D2JAC                        
  91 :       SHP7(4,4) = (- DYDETA*DY2 + DYDQSI*DY3) / D2JAC                        
  92 :       SHP7(5,1) = (  DYDETA*DX1 - DYDQSI*DX3) / D2JAC                        
  93 :       SHP7(5,2) = (  DYDETA*DX1 - DYDQSI*DX4) / D2JAC                        
  94 :       SHP7(5,3) = (  DYDETA*DX2 - DYDQSI*DX4) / D2JAC                        
  95 :       SHP7(5,4) = (  DYDETA*DX2 - DYDQSI*DX3) / D2JAC                        
  96 : *                                                                               
  97 :       SHP8(4,1) = (  DXDETA*DY1 - DXDQSI*DY3) / D2JAC                        
  98 :       SHP8(4,2) = (  DXDETA*DY1 - DXDQSI*DY4) / D2JAC                        
  99 :       SHP8(4,3) = (  DXDETA*DY2 - DXDQSI*DY4) / D2JAC                        
 100 :       SHP8(4,4) = (  DXDETA*DY2 - DXDQSI*DY3) / D2JAC                        
 101 :       SHP8(5,1) = (- DXDETA*DX1 + DXDQSI*DX3) / D2JAC                        
 102 :       SHP8(5,2) = (- DXDETA*DX1 + DXDQSI*DX4) / D2JAC                        
 103 :       SHP8(5,3) = (- DXDETA*DX2 + DXDQSI*DX4) / D2JAC                        
 104 :       SHP8(5,4) = (- DXDETA*DX2 + DXDQSI*DX3) / D2JAC 
 105 : *                                                                               
 106 :       DO 300 I=1,NBNO                                                           
 107 :          K = 6*(I-1)                                                                          
 108 :          IF (NOPLAN .EQ. 0) THEN                                                                                           
 109 :            BGR(1,K+1)=SHP(2,I)                                            
 110 :            BGR(5,K+2)=SHP(3,I)                                                    
 111 :            BGR(1,K+5) = SHP(2,I)  * EXCEN                                 
 112 :            BGR(5,K+4) = -SHP(3,I) * EXCEN                                 
 113 :          ENDIF                                                    
 114 :          BGR(7,K+3)=SHP(2,I)                                               
 115 :          BGR(3,K+4) = SHP7(4,I)                                            
 116 :          BGR(3,K+5) = SHP7(5,I)                                            
 117 :          BGR(8,K+3)=SHP(3,I)                                               
 118 :          BGR(6,K+4) = SHP8(4,I)                                            
 119 :          BGR(6,K+5) = SHP8(5,I)                                                     
 120 : *                                                                               
 121 :          IF (.NOT. (IGAU .LE. 4)) THEN                                                                                     
 122 :             BGR(1,K+1)=SHP(2,I)                                            
 123 :             BGR(5,K+2)=SHP(3,I)                                                          
 124 :             BGR(1,K+5) = SHP(2,I)  * EXCEN                                 
 125 :             BGR(5,K+4) = -SHP(3,I) * EXCEN                                                        
 126 :             BGR(2,K+1)=SHP(3,I)                                               
 127 :             BGR(4,K+2)=SHP(2,I)                                               
 128 :             BGR(4,K+4) = -SHP(2,I) * EXCEN                                    
 129 :             BGR(2,K+5) = SHP(3,I)  * EXCEN                                    
 130 :          ENDIF                                                                  
 131 :   300 CONTINUE
 132 : *
 133 : * On finit de completer la matrice BGR, pour les contraintes ou          
 134 : * les deformations, par des valeurs calculees au centre:                 
 135 : *        
 136 :       IF (IGAU .LE. 4) THEN                                                                      
 137 :          DO 500 I=1,NBNO                                                        
 138 :             SHP(1,I)=SHPTOT(1,I, 5  )                                           
 139 :             SHP(2,I)=SHPTOT(2,I, 5  )                                           
 140 :             SHP(3,I)=SHPTOT(3,I, 5  )                                           
 141 :   500    CONTINUE                                                            
 142 : *                                                                 
 143 : * FONCTIONS DE FORME DANS LA GEOMETRIE REELLE: 
 144 : *                          
 144 :          CALL JACOBI(XEL,SHP,2,NBNO,DJAC5)                                      
 145 :          IF(DJAC5 .LE. ZER) THEN                                               
 146 :             IARR=1                                                              
 147 :             RETURN                                                              
 148 :          END IF                                                                 
 149 : *                                                                               
 150 :          DO 520 I=1,NBNO                                                        
 151 :             K = 6*(I-1)                                                         
 152 :             IF (NOPLAN .EQ. 1) THEN                                                        
 153 :                BGR(1,K+1)=SHP(2,I)                                            
 154 :                BGR(5,K+2)=SHP(3,I)                                                             
 155 :                BGR(1,K+5) = SHP(2,I)  * EXCEN                                 
 156 :                BGR(5,K+4) = -SHP(3,I) * EXCEN                                 
 157 :             ENDIF                                                                      
 158 :             BGR(2,K+1)=SHP(3,I)                                               
 159 :             BGR(4,K+2)=SHP(2,I)                                               
 160 :             BGR(4,K+4) = -SHP(2,I) * EXCEN                                    
 161 :             BGR(2,K+5) = SHP(3,I)  * EXCEN                                    
 162 :   520    CONTINUE                                                            
 163 :       ENDIF
 164 :       RETURN                                                                    
 165 :       END                                                                 
 166 :  
 167 :  
 168 :  

© Cast3M 2003 - All rights reserved.
Disclaimer