Download thetun.eso

Back to the list

   1 : C THETUN    SOURCE    AM        08/02/14    21:31:52     6050           
   2 :       SUBROUTINE THETUN(MFR,MELE,VALMAT,LHOOK,NSTRS,TEMP,THIF,
   3 :      1                      THM,THSU,SD,EPAIST,TXR,XLOC,XGLOB,
   4 :      2                                   ROTS,DHOOK,RES,KERRE)
   5 : *******************************************************************             
   6 : *  APPELE PAR THETAP :CONTRAINTES THERMIQUES POUR LES MATERIAUX                  
   7 : *  UNIDIRECTIONNELS                                                                      
   8 : *                                                                               
   9 : *   ENTREES : 
  10 : *    MFR    = NUMERO DE LA FORMULATION                                                                  
  11 : *    MELE   = NUMERO DE L'ELEMENT FINI                                         
  12 : *    VALMAT = TABLEAU DE MATERIAU                        
  13 : *    LHOOK  = DIMENSION DE LA MATRICE DE HOOKE
  14 : *    NSTRS  = NOMBRE DE COMPOSANTES DES CONTRAINTES
  15 : *    TEMP,THIF,THM,THSU   = TEMPERATURES
  16 : *    SD     =  SECTION
  17 : *    EPAIST =  EPAISSEUR 
  18 : *    TXR,XLOC,XGLOB,ROTS,DHOOK =  TABLEAUX DE TRAVAIL                  
  19 : *   SORTIES :                                                                   
  20 : *    RES =  TABLEAU DE CONTRAINTES 
  21 : *    KERRE= INDICATEUR D'ERREUR                   
  22 : *                                                                               
  23 : *   P DOWLATYARI MARS 92                                                        
  24 : ***********************************************************************         
  25 :       IMPLICIT INTEGER(I-N)
  26 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  27 : *                                                                               
  28 : -INC CCOPTIO                                                                    
  29 : -INC CCHAMP                                                                     
  30 : *                                                                               
  31 :       DIMENSION XLOC(IDIM,*),XGLOB(IDIM,*)                                                                               
  32 :       DIMENSION ROTS(NSTRS,*),DHOOK(LHOOK,*)
  33 :       DIMENSION TXR(IDIM,*),RES(NSTRS)
  34 :       DIMENSION VALMAT(*)
  35 : *                                                                               
  36 :       DIMENSION SIG1(6),SIG2(6)
  37 : *
  38 :       KERRE=0
  39 : *                                                                               
  40 : *     TEST SUR LA FORMULATION                                 
  41 : *
  42 : *--------------------------------------------------------------
  43 : *                      CAS MASSIF ET POREUX
  44 : *--------------------------------------------------------------
  45 :       IF(MFR.EQ.1.OR.MFR.EQ.33) THEN 
  46 : *
  46 :            CALL ZERO (XGLOB,IDIM,IDIM)                                          
  47 :                                              
  48 : *                                                                               
  49 : *     CONTRAINTES PLANES
  50 : *            OU
  51 : *     DEFORMATIONS PLANES OU AXI OU FOURIER                                                       
  52 : *                                                                               
  53 :              IF(IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0
  54 :      1        .OR.IFOUR.EQ.1)THEN
  55 : *
  56 :               YG =  VALMAT(1)
  57 :               ALPH= VALMAT(2)
  58 :               XLOC(1,1)=VALMAT(3)
  59 :               XLOC(2,1)=VALMAT(4)
  60 :               XLOC(1,2)=-XLOC(2,1)                                              
  61 :               XLOC(2,2)=XLOC(1,1)                                               
  62 : C    DEFINITION DES AXES ORTHO./AXES GLOBAUX                                    
  63 :              DO 4310  K=1,IDIM
  64 :                DO 4310 J=1,IDIM
  65 :                  DO 4310 I=1,IDIM
  66 :                    XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)                     
  67 :  4310       CONTINUE
  68 :               CC=XGLOB(1,1)*XGLOB(1,1)                                          
  69 :               SS=XGLOB(2,1)*XGLOB(2,1)                                          
  70 :               CS=XGLOB(1,1)*XGLOB(2,1)                                          
  71 : *                                                                               
  72 : *  EN AXES D'ORTHOTROPIE                                                        
  73 : *                                                                               
  74 :                SIG1(1)=YG*ALPH
  75 : *                                                                               
  76 : *  CHGT D'AXES                                                                  
  77 : *                                                                               
  78 :                SIG2(1)=CC*SIG1(1)
  79 :                SIG2(2)=SS*SIG1(1)
  80 :                SIG2(3)=0.D0
  81 :                SIG2(4)=CS*SIG1(1)
  82 : *                                                                               
  83 :                RES(1)=SIG2(1)*TEMP                                            
  84 :                RES(2)=SIG2(2)*TEMP                                            
  85 :                RES(3)=0.D0                                                
  86 :                RES(4)=SIG2(4)*TEMP 
  87 :                IF(IFOUR.EQ.1) THEN
  88 :                  RES(5)=0.D0
  89 :                  RES(6)=0.D0
  90 :                ENDIF                                               
  91 : *                                                                               
  92 : *  TRIDIMENSIONNEL
  93 : *                                                                               
  94 :         ELSE 
  95 :               YG =  VALMAT(1)
  96 :               ALPH= VALMAT(2)
  97 :               XLOC(1,1)=VALMAT(3)
  98 :               XLOC(2,1)=VALMAT(4)
  99 :               XLOC(3,1)=VALMAT(5)                                              
 100 :               XLOC(1,2)=VALMAT(6)                                              
 101 :               XLOC(2,2)=VALMAT(7)                                              
 102 :               XLOC(3,2)=VALMAT(8)                                              
 102 :               CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR)                    
 103 : C    DEFINITION DES AXES ORTHO./AXES GLOBAUX                                    
 104 :              DO 2330  K=1,IDIM                                                  
 105 :                DO 2330 J=1,IDIM                                                 
 106 :                  DO 2330 I=1,IDIM                                               
 107 :                    XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K)                     
 108 :  2330       CONTINUE                                                            
 109 : *                                                                               
 110 : *         MATRICE DE TRANSFORMATION                                             
 111 : *                                                                               
 112 :            DO 2331 IC=1,3                                                       
 113 :            DO 2331 IL=1,3                                                       
 114 :            ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC)                                
 115 :  2331       CONTINUE                                                            
 116 : C                                                                               
 117 :           DO 2332 IL=1,3                                                        
 118 :            ROTS(IL,4)=2.D0*XGLOB(IL,1)*XGLOB(IL,2)                              
 119 :            ROTS(IL,5)=2.D0*XGLOB(IL,2)*XGLOB(IL,3)                              
 120 :            ROTS(IL,6)=2.D0*XGLOB(IL,1)*XGLOB(IL,3)                              
 121 :  2332       CONTINUE                                                            
 122 : C                                                                               
 123 :            DO 2333 IC=1,3                                                       
 124 :            ROTS(4,IC)=XGLOB(1,IC)*XGLOB(2,IC)                                   
 125 :            ROTS(5,IC)=XGLOB(2,IC)*XGLOB(3,IC)                                   
 126 :            ROTS(6,IC)=XGLOB(1,IC)*XGLOB(3,IC)                                   
 127 :  2333       CONTINUE                                                            
 128 : C                                                                               
 129 :           DO 2334 IL=4,6                                                        
 130 :           IL1=IL-3                                                              
 131 :           IL2=IL1+1                                                             
 132 :           IF(IL2.GT.3)IL2=IL2-3                                                 
 133 :            DO 2334 IC=4,6                                                       
 134 :             IC1=IC-3                                                            
 135 :             IC2=IC1+1                                                           
 136 :             IF(IC2.GT.3)IC2=IC2-3                                               
 137 :             ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+                          
 138 :      .                       XGLOB(IL1,IC2)*XGLOB(IL2,IC1)                      
 139 :  2334        CONTINUE                                                           
 140 :             DO 2335 IC=1,6                                                      
 141 :             AA=ROTS(6,IC)                                                       
 142 :             ROTS(6,IC)=ROTS(5,IC)                                               
 143 :             ROTS(5,IC)=AA                                                       
 144 :  2335        CONTINUE                                                           
 145 :             DO 2336 IL=1,6                                                      
 146 :             AA=ROTS(IL,6)                                                       
 147 :             ROTS(IL,6)=ROTS(IL,5)                                               
 148 :             ROTS(IL,5)=AA                                                       
 149 :  2336        CONTINUE                                                           
 150 : *                                                                               
 151 : *       EN AXES D'ORTHOTROPIE
 152 : *                                                                               
 153 :                SIG1(1)=YG*ALPH
 154 :               DO 2340 I=2,6                                                     
 155 :               SIG1(I)=0.D0           
 156 :  2340         CONTINUE                                                          
 157 : *                                                                               
 158 : *  CHGT D'AXES                                                                  
 159 : *  
 160 :              DO 2350 I=1,6                                                      
 161 :                  SIG2(I)=0.D0                                                   
 162 :                 DO 2350 J=1,6                                                   
 163 :                   SIG2(I)= SIG2(I) +ROTS(I,J)*SIG1(J)                           
 164 :  2350         CONTINUE                                                          
 165 : *                                                                               
 166 :             RES(1)=SIG2(1)*TEMP                                            
 167 :             RES(2)=SIG2(2)*TEMP                                            
 168 :             RES(3)=SIG2(3)*TEMP                                                 
 169 :             RES(4)=SIG2(4)*TEMP 
 170 :             RES(5)=SIG2(5)*TEMP 
 171 :             RES(6)=SIG2(6)*TEMP               
 172 :         ENDIF
 173 : *____________________________________________________________________           
 174 : *                                                                               
 175 : *     SECTEUR DE CALCUL POUR LES ELEMENTS JOINTS 2D JOI2 et JOI3              
 176 : *____________________________________________________________________           
 177 : *             
 178 :       ELSEIF (MELE.EQ.85.OR.MELE.EQ.86) THEN
 179 : *
 180 :          ZKN = VALMAT(2)
 181 :          ALPN= VALMAT(3)
 182 : C
 183 :          IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
 184 :             RES(1)=0.D0
 185 :             RES(2)=ALPN * ZKN * TEMP
 186 :          ELSE 
 187 :           KERRE=19                                                                        
 188 :           GOTO 99
 189 :          ENDIF
 190 : *____________________________________________________________________           
 191 : *                                                                               
 192 : *     SECTEUR DE CALCUL POUR LES ELEMENTS JOINTS 3D JOI4               
 193 : *____________________________________________________________________           
 194 : *
 195 :       ELSE IF (MELE.EQ.88) THEN 
 196 :           ZKN = VALMAT(3)
 197 :           ALPN= VALMAT(4)
 198 :          IF (IFOUR.EQ.2) THEN
 199 :             RES(1)=0.D0
 200 :             RES(2)=0.D0
 201 :             RES(3)=ALPN * ZKN * TEMP
 202 :          ELSE  
 203 :             KERRE=19                                                                       
 204 :             GOTO 99
 205 :          ENDIF
 206 : *____________________________________________________________________           
 207 : *                                                                               
 208 : *     SECTEUR DE CALCUL POUR LES ELEMENTS COQUES MINCES SAUF COQ2               
 209 : *____________________________________________________________________           
 210 : *                                                                               
 211 :        ELSE IF(MELE.EQ.27.OR.MELE.EQ.28.OR.                                           
 212 :      1                 MELE.EQ.49)THEN                            
 213 :                YG = VALMAT(1)
 214 :                ALPH=VALMAT(2)
 215 :                V1X= VALMAT(3)
 216 :                V1Y= VALMAT(4)
 217 :                CC=V1X*V1X                                                       
 218 :                SS=V1Y*V1Y                                                       
 219 :                CS=V1X*V1Y                                                       
 220 :                THMO=(THSU+THIF+4.D0*THM)/6.D0                                   
 221 :                THDI=THSU-THIF 
 222 :                EXCEN =0.D0                                                      
 223 :                EP2=EPAIST*EPAIST/12.D0                                          
 224 :                FACM=THMO*EPAIST                                                 
 225 :                FACF=THMO*EPAIST*EXCEN+THDI*EP2                                  
 226 : *                                                                               
 227 : *  EN AXES D'ORTHOTROPIE                                                        
 228 : *                                                                               
 229 :                SIG1(1)=YG*ALPH
 230 :                SIG1(2)=0.D0
 231 :                SIG1(3)=0.D0                                                     
 232 : *                                                                               
 233 : *  CHGT D'AXES                                                                  
 234 : *                                                                               
 235 :                 SIG2(1)=CC*SIG1(1)
 236 :                 SIG2(2)=SS*SIG1(1)
 237 :                 SIG2(3)=CS*SIG1(1)
 238 : *
 239 :                IF(IFOUR.GT.0) THEN 
 240 :                 RES(1)=SIG2(1)*FACM                                           
 241 :                 RES(2)=SIG2(2)*FACM                                           
 242 :                 RES(3)=SIG2(3)*FACM                                                  
 243 :                 RES(4)=SIG2(1)*FACF 
 244 :                 RES(5)=SIG2(2)*FACF  
 245 :                 RES(6)=SIG2(3)*FACF
 246 :                ELSE IF(IFOUR.LE.0) THEN                                         
 247 : *                                                                               
 248 : *                 PAS GRAND SENS DANS CE CAS                                    
 249 : * 
 250 :                 KERRE=19                                                                                 
 251 :                 GO TO 99                                                      
 252 :                ENDIF
 253 : C____________________________________________________________________           
 254 : C                                                                               
 255 : C              SECTEUR DE CALCUL POUR LES ELEMENTS COQ2                         
 256 : C____________________________________________________________________           
 257 : C                                                                               
 258 :       ELSEIF(MELE.EQ.44)THEN                                                    
 259 :                YG  =VALMAT(1)
 260 :                ALPH=VALMAT(2)
 261 :                V1X =VALMAT(3)
 262 :                V1Y =VALMAT(4)
 263 :                CC=V1X*V1X                                                       
 264 :                SS=V1Y*V1Y                                                       
 265 :                CS=V1X*V1Y                                                       
 266 :                THMO=(THSU+THIF+4.D0*THM)/6.D0                                   
 267 :                THDI=THSU-THIF                                                   
 268 :                EXCEN =0.D0                                                      
 269 :                EP2=EPAIST*EPAIST/12.D0                                          
 270 :                FACM=THMO*EPAIST                                                 
 271 :                FACF=THMO*EPAIST*EXCEN+THDI*EP2                                  
 272 : *                                                                               
 273 : *  EN AXES D'ORTHOTROPIE                                                        
 274 : *                                                                               
 275 :                SIG1(1)=YG*ALPH
 276 :                SIG1(2)=0.D0
 277 :                SIG1(3)=0.D0                                                     
 278 : *                                                                               
 279 : *  CHGT D'AXES                                                                  
 280 : *                                                                               
 281 :                SIG2(1)=CC*SIG1(1)
 282 :                SIG2(2)=SS*SIG1(1)
 283 :                SIG2(3)=CS*SIG1(1)
 284 : *
 285 :                IF(IFOUR.GT.0) THEN 
 286 :                 RES(1)=SIG2(1)*FACM                                           
 287 :                 RES(2)=SIG2(2)*FACM                                           
 288 :                 RES(3)=SIG2(3)*FACM                                                  
 289 :                 RES(4)=SIG2(1)*FACF 
 290 :                 RES(5)=SIG2(2)*FACF  
 291 :                 RES(6)=SIG2(3)*FACF
 292 :                ELSE IF(IFOUR.LE.0) THEN                                         
 293 :                 RES(1)=SIG2(1)*FACM                                           
 294 :                 RES(2)=SIG2(2)*FACM                                           
 295 :                 RES(3)=SIG2(1)*FACF                                                  
 296 :                 RES(4)=SIG2(2)*FACF
 297 :                ELSE  
 298 :                 KERRE=19                                                              
 299 :                 GO TO 99  
 300 :                ENDIF
 301 : *                                                                     
 302 : *____________________________________________________________________           
 303 : *                                                                               
 304 : *               ELEMENTS POUTRES ET TUYAUX                                      
 305 : *____________________________________________________________________           
 306 : *                                                                               
 307 :       ELSEIF(MELE.EQ.29.OR.MELE.EQ.42.OR.MELE.EQ.84)THEN
 308 :             YOU=VALMAT(1)                                                       
 309 :             ALPH=VALMAT(2)                                                      
 310 :             AUX = YOU*ALPH*SD  
 311 : *                                                 
 312 :             RES(1)= AUX*TEMP
 313 : *                                                                               
 314 : *____________________________________________________________________           
 315 : *                                                                               
 316 : *               ELEMENTS BARRES CERCES ET POINT
 317 : *____________________________________________________________________           
 318 : *                                                                               
 319 :       ELSEIF(MELE.EQ.46.OR.MELE.EQ.95.OR.MELE.EQ.45)THEN
 320 : *
 321 :        IF(MELE.EQ.45.AND.IFOUR.NE.-3) THEN
 322 :          KERRE=86
 323 :          GO TO 99
 324 :        ENDIF      
 325 :        IF(MELE.EQ.95.AND.IFOUR.NE.0) THEN
 326 :          KERRE=86   
 327 :          GO TO 99
 328 :        ENDIF
 329 : *
 330 :        YOU=VALMAT(1)                                                       
 331 :        ALPH=VALMAT(2)                                                      
 332 :        AUX = YOU*ALPH*SD
 333 :        RES(1)= AUX*TEMP
 334 :       ELSE
 335 :        KERRE=19   
 336 :       ENDIF  
 337 : *                                                                
 338 :  99   CONTINUE                                                                  
 339 :       RETURN                                                                    
 340 :       END                                                                       
 341 :  
 342 :  
 343 :  
 344 :  
 345 :  
 346 :  

© Cast3M 2003 - All rights reserved.
Disclaimer