Download dohdst.eso

Back to the list

   1 : C DOHDST    SOURCE    CHAT      05/01/12    22:53:30     5004           
   2 :       SUBROUTINE DOHDST(VELA,MATE,IFOU,LHOOK,DDHOOK,IRET)                       
   3 : C                                                                               
   4 : C=======================================================================        
   5 : C                                                                               
   6 : C  MATRICE DE HOOKE DES COQUES MINCES AVEC CISAILLEMENT TRANSVERSE              
   7 : C  POUR L'ELEMENT DST                                                                             
   8 : C  ENTREES                                                                      
   9 : C     VELA() = materiau dans un tableau de travail                              
  10 : C     MATE   = Nom du materiau                                                  
  11 : C     IFOU   = num{ro d'harmonique de  fourier: IFOUR de CCOPTIO                
  12 : C     LHOOK  = taille de la matrice de hooke                                    
  13 : C                                                                               
  14 : C  SORTIES                                                                      
  15 : C     DDHOOK(LHOOK,LHOOK) = matrice de hooke                                    
  16 : C     IRET = 1 si option existante 0 SINON                                      
  17 : C                                                                               
  18 : C=======================================================================        
  19 : C                                                                               
  20 :       IMPLICIT INTEGER(I-N)
  21 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  22 :       PARAMETER(UNDEMI=.5D0,XZER=0.0D0,XK=1.2D0)                                
  23 :       PARAMETER(UN=1.D0,DEUX=2.D0)                                              
  24 :       CHARACTER*8 MATE                                                          
  25 : C                                                                               
  26 :       DIMENSION VELA(*),DDHOOK(LHOOK,*)                                         
  27 : C                                                                               
  28 :       IRET=1                                                                    
  28 :       CALL ZERO(DDHOOK,LHOOK,LHOOK)                                             
  29 : C                                                                               
  30 : C     MATERIAU ISOTROPE                                                         
  31 : C                                                                               
  32 :       IF(MATE.EQ.'ISOTROPE') THEN                                               
  33 : C                                                                               
  34 : C     CAS TRIDIMENSIONNEL                                                       
  35 : C                                                                               
  36 :       IF(IFOU.EQ.2) THEN                                                        
  37 :       YOU =VELA(1)                                                              
  38 :       XNU =VELA(2)                                                              
  39 :       AUX=YOU/(UN-XNU*XNU)                                                      
  40 :       AUX1=AUX*XNU                                                              
  41 :       GEGE=YOU*UNDEMI/(UN+XNU)                                                  
  42 : C                                                                               
  43 :       DDHOOK(1,1)=AUX                                                           
  44 :       DDHOOK(2,1)=AUX1                                                          
  45 :       DDHOOK(1,2)=AUX1                                                          
  46 :       DDHOOK(2,2)=AUX                                                           
  47 :       DDHOOK(3,3)=GEGE                                                          
  48 : C                                                                               
  49 :       DDHOOK(4,4)=AUX                                                           
  50 :       DDHOOK(5,4)=AUX1                                                          
  51 :       DDHOOK(4,5)=AUX1                                                          
  52 :       DDHOOK(5,5)=AUX                                                           
  53 :       DDHOOK(6,6)=GEGE                                                          
  54 : C                                                                               
  55 :       DDHOOK(7,7)=GEGE/XK                                                       
  56 :       DDHOOK(8,8)=GEGE/XK                                                       
  57 :       ELSE                                                                      
  58 :       IRET=0                                                                    
  59 :       ENDIF                                                                     
  60 : C                                                                               
  61 : C     MATERIAU ORTHOTROPE OU UNIDIRECTIONNEL                                    
  62 : C                                                                               
  63 :       ELSE IF(MATE.EQ.'ORTHOTRO'.OR.                                            
  64 :      1            MATE.EQ.'UNIDIREC')THEN                                       
  65 : C                                                                               
  66 : C     CAS TRIDIMENSIONNEL                                                       
  67 : C                                                                               
  68 :          IF(IFOU.EQ.2)THEN                                                      
  69 : C                                                                               
  70 :            IF(MATE.EQ.'ORTHOTRO')THEN                                           
  71 :             YG1 = VELA(1)                                                       
  72 :             YG2 = VELA(2)                                                       
  73 :             XNU12 = VELA(3)                                                     
  74 :             G12 = VELA(4)                                                       
  75 :             G23 = VELA(5)                                                       
  76 :             G13 = VELA(6)                                                       
  77 : C                                                                               
  78 :              X1NUNU = UN - (XNU12**2) * YG2 / YG1                               
  79 :              DDHOOK(1,1) = YG1 / X1NUNU                                         
  80 :              DDHOOK(2,2) = YG2 / X1NUNU                                         
  81 :              DDHOOK(1,2) = XNU12 * DDHOOK(2,2)                                  
  82 :              DDHOOK(2,1) = DDHOOK(1,2)                                          
  83 :              DDHOOK(3,3) = G12                                                  
  84 :              DDHOOK(1,3) = XZER                                                 
  85 :              DDHOOK(2,3) = XZER                                                 
  86 :              DDHOOK(3,1) = XZER                                                 
  87 :              DDHOOK(3,2) = XZER                                                 
  88 : C                                                                               
  89 :              DO 100 IC=1,3
  90 :                IC3=IC+3
  91 :                DO 100 IL=1,3
  92 :                  IL3=IL+3
  93 :                  DDHOOK(IL3,IC3)=DDHOOK(IL,IC)
  94 :  100          CONTINUE                   
  95 :              DDHOOK(7,7) = G13/XK                                               
  96 :              DDHOOK(8,8) = G23/XK                                               
  97 :             ELSE                                                                  
  98 :               DDHOOK(1,1)=VELA(1)
  99 :               DDHOOK(4,4)=VELA(1)
 100 :             ENDIF                                                                 
 101 :           ELSE
 102 :             IRET=0                                                                    
 103 :           ENDIF
 104 :       ELSE
 105 :           IRET=0                                                                    
 106 :       ENDIF
 107 :       RETURN
 108 :       END 
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer