Download epthan.eso

Back to the list

   1 : C EPTHAN    SOURCE    AM        11/05/18    21:15:01     6972           
   2 :       SUBROUTINE EPTHAN(MFR,MELE,VALMAT,NSTRS,TEMP,
   3 :      1                 TXR,XLOC,XGLOB,ROTS,RES,KERRE)
   4 : *******************************************************************             
   5 : *  APPELE PAR EPTHP :DEFORMATIONS THERMIQUES POUR LES MATERIAUX                  
   6 : *  ANISOTROPES                                                                      
   7 : *                                                                               
   8 : *   ENTREES :
   9 : *    MFR    = FORMULATION DE L ELEMENT FINI
  10 : *    MELE   = NUMERO DE L'ELEMENT FINI                                         
  11 : *    VALMAT = TABLEAU DE MATERIAU
  12 : *    NSTRS  = NOMBRE DE COMPOSANTES DES DEFORMATIONS                        
  13 : *    TEMP   = TEMPERATURES
  14 : *    LHOOK  = TAILLE DE LA MATRICE DE HOOKE
  15 : *    TXR,XLOC,XGLOB,ROTS =  TABLEAUX DE TRAVAIL                  
  16 : *   SORTIES :                                                                   
  17 : *    RES =  TABLEAU DE DEFORMATIONS  
  18 : *    KERRE  = INDICATEUR D'ERREUR               
  19 : *                                                                               
  20 : *   AM1 JANV 95                                                       
  21 : ***********************************************************************         
  22 :       IMPLICIT INTEGER(I-N)
  23 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  24 : *                                                                               
  25 : -INC CCOPTIO                                                                    
  26 : -INC CCHAMP                                                                     
  27 : *
  28 :       DIMENSION XLOC(IDIM,*),XGLOB(IDIM,*)                                                                               
  29 :       DIMENSION ROTS(NSTRS,*)
  30 :       DIMENSION TXR(IDIM,*),RES(NSTRS)
  31 :       DIMENSION VALMAT(*)
  32 : *                                                                               
  33 :       DIMENSION EPS1(6),EPS2(6)
  34 : *
  35 :       KERRE=0
  36 : *                                                                               
  37 : *     TEST SUR LA FORMULATION 
  38 : *
  39 : *--------------------------------------------------------------
  40 : *                      CAS MASSIF ET POREUX
  41 : *--------------------------------------------------------------
  42 :       IF(MFR.EQ.1.OR.MFR.EQ.33.OR.MFR.EQ.31) THEN 
  43 : *
  43 :            CALL ZERO (XGLOB,IDIM,IDIM)                                          
  44 :                                              
  45 : *                                                                               
  46 : *     CONTRAINTES PLANES                                                        
  47 : *                                                                               
  48 :         IF(IFOUR.EQ.-2)THEN                                                       
  49 : *                                                                               
  50 :                ALP1= VALMAT(1)                                                  
  51 :                ALP2= VALMAT(2)                                                  
  52 :                AL12= VALMAT(3)                                                  
  53 :                ALP3=0.D0                                                        
  54 :                XLOC(1,1)=VALMAT(4)                                             
  55 :                XLOC(2,1)=VALMAT(5)                                             
  56 :                XLOC(1,2)=-XLOC(2,1)                                             
  57 :                XLOC(2,2)=XLOC(1,1)                                              
  58 : *    DEFINITION DES AXES ORTHO./AXES GLOBAUX
  59 :              DO 3310  K=1,IDIM                                                  
  60 :                DO 3310 J=1,IDIM                                                 
  61 :                  DO 3310 I=1,IDIM                                               
  62 :                    XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)
  63 :  3310       CONTINUE                                                            
  64 :               CC=XGLOB(1,1)*XGLOB(1,1)                                          
  65 :               SS=XGLOB(2,1)*XGLOB(2,1)                                          
  66 :               CS=XGLOB(1,1)*XGLOB(2,1)                                          
  67 : *                                                                               
  68 : *    EN AXES D'ORTHOTROPIE
  69 : *
  70 :               EPS1(1)=ALP1
  71 :               EPS1(2)=ALP2
  72 :               EPS1(3)=ALP3
  73 :               EPS1(4)=AL12                                         
  74 : *                                                                               
  75 : *    CHGT D'AXES
  76 : *                                                                               
  77 :                EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4)                    
  78 :                EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4)                    
  79 :                EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4)                     
  80 : *                                                                               
  81 :                RES(1)=EPS2(1)*TEMP                                            
  82 :                RES(2)=EPS2(2)*TEMP                                            
  83 :                RES(3)=0.D0                                                
  84 :                RES(4)=EPS2(4)*TEMP
  85 : *                                                                               
  86 : *     DEFORMATIONS PLANES OU AXI OU FOURIER                                        
  87 : *                                                                               
  88 :         ELSEIF(IFOUR.EQ.-1.OR.IFOUR.EQ.0
  89 :      1 .OR.IFOUR.EQ.1.OR.IFOUR.EQ.-3)THEN                                     
  90 :               ALP1= VALMAT(1)                                                  
  91 :               ALP2= VALMAT(2)                                                  
  92 :               AL12= VALMAT(3)                                                  
  93 :               ALP3= VALMAT(4)                                                  
  94 :               XLOC(1,1)=VALMAT(5)                                              
  95 :               XLOC(2,1)=VALMAT(6)                                              
  96 :               XLOC(1,2)=-XLOC(2,1)                                              
  97 :               XLOC(2,2)=XLOC(1,1)                                               
  98 : C    DEFINITION DES AXES ORTHO./AXES GLOBAUX                                    
  99 :              DO 3320  K=1,IDIM                                                  
 100 :                DO 3320 J=1,IDIM                                                 
 101 :                  DO 3320 I=1,IDIM                                               
 102 :                    XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)                     
 103 :  3320       CONTINUE                                                            
 104 :               CC=XGLOB(1,1)*XGLOB(1,1)                                          
 105 :               SS=XGLOB(2,1)*XGLOB(2,1)                                          
 106 :               CS=XGLOB(1,1)*XGLOB(2,1) 
 107 : *
 108 : *      EN AXES D'ORTHOTROPIE
 109 : *
 110 :               EPS1(1)=ALP1
 111 :               EPS1(2)=ALP2
 112 :               EPS1(3)=ALP3
 113 :               EPS1(4)=AL12                                                                               
 114 : *                                                                               
 115 : *      CHGT D'AXES
 116 : *
 117 :                EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4)                    
 118 :                EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4)                    
 119 :                EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4)                     
 120 :                EPS2(3)=EPS1(3)                                                  
 121 : *
 122 :                IF(IFOUR.EQ.-1.OR.IFOUR.EQ.0)THEN                                                                               
 123 :                    RES(1)=EPS2(1)*TEMP                                            
 124 :                    RES(2)=EPS2(2)*TEMP                                            
 125 :                    RES(3)=EPS2(3)*TEMP                                                 
 126 :                    RES(4)=EPS2(4)*TEMP 
 127 :                ELSE 
 128 :                    RES(1)=EPS2(1)*TEMP                                            
 129 :                    RES(2)=EPS2(2)*TEMP                                            
 130 :                    RES(3)=EPS2(3)*TEMP                                                 
 131 :                    RES(4)=EPS2(4)*TEMP 
 132 :                    RES(5)=0.D0
 133 :                    RES(6)=0.D0 
 134 :                ENDIF
 135 : *                                                                               
 136 : *     TRIDIMENSIONNEL                                  
 137 : *                                                                               
 138 :         ELSEIF(IFOUR.EQ.2)THEN                                      
 139 :               ALP1= VALMAT(1)                                                  
 140 :               ALP2= VALMAT(2)                                                  
 141 :               ALP3= VALMAT(3)                                                  
 142 :               AL12= VALMAT(4)                                                  
 143 :               AL13= VALMAT(5)                                                  
 144 :               AL23= VALMAT(6)                                                  
 145 :               XLOC(1,1)=VALMAT(7)                                              
 146 :               XLOC(2,1)=VALMAT(8)                                              
 147 :               XLOC(3,1)=VALMAT(9)                                              
 148 :               XLOC(1,2)=VALMAT(10)                                              
 149 :               XLOC(2,2)=VALMAT(11)                                              
 150 :               XLOC(3,2)=VALMAT(12)
 150 :               CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)                    
 151 : C    DEFINITION DES AXES ORTHO./AXES GLOBAUX                                    
 152 :              DO 3330  K=1,IDIM                                                  
 153 :                DO 3330 J=1,IDIM                                                 
 154 :                  DO 3330 I=1,IDIM                                               
 155 :                    XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)                     
 156 :  3330       CONTINUE 
 157 : *                                                                               
 158 : *         MATRICE DE TRANSFORMATION                                             
 159 : *                                                                               
 160 :            DO 3331 IC=1,3                                                       
 161 :            DO 3331 IL=1,3                                                       
 162 :            ROTS  (IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)                              
 163 :  3331       CONTINUE                              
 164 : C                                                                               
 165 :           DO 3332 IL=1,3                                                        
 166 :            ROTS  (IL,4)=XGLOB(IL,1)*XGLOB(IL,2)                            
 167 :            ROTS  (IL,5)=XGLOB(IL,2)*XGLOB(IL,3)                            
 168 :            ROTS  (IL,6)=XGLOB(IL,1)*XGLOB(IL,3)                            
 169 :  3332       CONTINUE                                                            
 170 : C                                                                               
 171 :            DO 3333 IC=1,3                                                       
 172 :            ROTS  (4,IC)=2.D0*XGLOB(1,IC)*XGLOB(2,IC)                                 
 173 :            ROTS  (5,IC)=2.D0*XGLOB(2,IC)*XGLOB(3,IC)                                 
 174 :            ROTS  (6,IC)=2.D0*XGLOB(1,IC)*XGLOB(3,IC)                                 
 175 :  3333       CONTINUE                                                            
 176 : C                                                                               
 177 :           DO 3334 IL=4,6                                                        
 178 :           IL1=IL-3                                                              
 179 :           IL2=IL1+1                                                             
 180 :           IF(IL2.GT.3)IL2=IL2-3                                                 
 181 :            DO 3334 IC=4,6                                                       
 182 :             IC1=IC-3                                                            
 183 :             IC2=IC1+1                                                           
 184 :             IF(IC2.GT.3)IC2=IC2-3                                               
 185 :             ROTS  (IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+                        
 186 :      .                       XGLOB(IL1,IC2)*XGLOB(IL2,IC1)                      
 187 :  3334        CONTINUE                                                           
 188 :             DO 3335 IC=1,6                                                      
 189 :             AA=ROTS  (6,IC)                                                     
 190 :             ROTS  (6,IC)=ROTS  (5,IC)                                           
 191 :             ROTS  (5,IC)=AA                                                     
 192 :  3335        CONTINUE                                                           
 193 :             DO 3336 IL=1,6                                                      
 194 :             AA=ROTS  (IL,6)                                                     
 195 :             ROTS  (IL,6)=ROTS  (IL,5)                                           
 196 :             ROTS  (IL,5)=AA                                                     
 197 :  3336        CONTINUE                                                           
 198 : *                                                                               
 199 : *       EN AXES D'ORTHOTROPIE
 200 : *
 201 :               EPS1(1)=ALP1
 202 :               EPS1(2)=ALP2
 203 :               EPS1(3)=ALP3
 204 :               EPS1(4)=AL12
 205 :               EPS1(5)=AL13
 206 :               EPS1(6)=AL23                                                                               
 207 : *                                                                               
 208 : *         CHGT D'AXES                                                           
 209 : *                                                                               
 210 :              DO 3350 I=1,6                                                      
 211 :                 EPS2(I)=0.D0                                                    
 212 :                 DO 3350 J=1,6                                                   
 213 :                   EPS2(I)=ROTS(I,J)*EPS1(J)+EPS2(I)                             
 214 :  3350         CONTINUE                                                          
 215 : *
 216 :             RES(1)=EPS2(1)*TEMP                                            
 217 :             RES(2)=EPS2(2)*TEMP                                           
 218 :             RES(3)=EPS2(3)*TEMP                                                 
 219 :             RES(4)=EPS2(4)*TEMP
 220 :             RES(5)=EPS2(5)*TEMP 
 221 :             RES(6)=EPS2(6)*TEMP 
 222 :         ELSE
 223 :             KERRE=19                                                                     
 224 :             GOTO 99                                                         
 225 :         ENDIF
 226 :       ELSE IF(MFR.EQ.75) THEN
 227 :         IF (IDIM.EQ.3) THEN  
 228 :               ALP1= VALMAT(1)                                                  
 229 :               ALP2= VALMAT(2)                                                  
 230 :               ALP3= VALMAT(3)                                                  
 231 :               ALQ1= VALMAT(4)                                                  
 232 :               ALQ2= VALMAT(5)                                                  
 233 :               ALQ3= VALMAT(6)
 234 : *
 235 :               EPS1(1)=ALP1
 236 :               EPS1(2)=ALP2
 237 :               EPS1(3)=ALP3
 238 :               EPS1(4)=ALQ1
 239 :               EPS1(5)=ALQ2
 240 :               EPS1(6)=ALQ3
 241 : *
 242 :              DO I=1,6
 243 :               RES(I)=EPS1(I)*TEMP
 244 :              ENDDO
 245 : *
 246 :         ELSE IF (IDIM.EQ.2) THEN  
 247 :               ALP1= VALMAT(1)                                                  
 248 :               ALP2= VALMAT(2)                                                  
 249 :               ALQ3= VALMAT(3)
 250 : *
 251 :               EPS1(1)=ALP1
 252 :               EPS1(2)=ALP2
 253 :               EPS1(3)=ALQ3
 254 : *
 255 :              DO I=1,3
 256 :               RES(I)=EPS1(I)*TEMP
 257 :              ENDDO
 258 :         ENDIF
 259 :       ELSE
 260 :        KERRE=19
 261 :       ENDIF 
 262 : *                                                                 
 263 :  99   CONTINUE                                                                  
 264 :       RETURN                                                                    
 265 :       END                                                                       
 266 :  
 267 :  
 268 :  
 269 :  
 270 :  
 271 :  
 272 :  

© Cast3M 2003 - All rights reserved.
Disclaimer