Download elast4.eso

Back to the list

   1 : C ELAST4    SOURCE    AM        08/12/19    21:16:35     6237           
   2 :       SUBROUTINE ELAST4(ISENS,IFOUR,VAR,NNVARI,XMATT,NCOMAT,
   3 :      &   YUNGV,XNUV,XCAR,ICARA,MFR,NSTRS,DD,DDV,KERRE,INDIC,ITHHER)                                         
   4 : C                                                                               
   5 : C----------------------------------------------------------------------------          
   6 : C Objet: Calcul de la matrice de Hooke endommagee(ISENS=1) 
   7 : C        ou son inverse(ISENS=2) dans le cas de la viscoplasticite avec 
   8 : C        endommagement anisotrope (materiau 142) en regime isotherme. 
   9 : C        La matrice est calculée à partir de l'expression de la loi de Hooke            
  10 : C----------------------------------------------------------------------------
  11 : C
  12 : C----------------------------------------------------------------------------
  13 : C Entree: ISENS= 1  DD en sortie est la matrice de Hooke endommagee
  14 : C           d'ou SIG=DD*EPSELAS           
  15 : C              = 2  DD en sortie est la matrice de Hooke inverse
  16 : C            endommagee d'ou EPSELAS=DD*SIG                        
  17 : C           avec SIG contraintes et EPSELAS deformations elastiques              
  18 : C         IFOUR= -2 EN CONTR. PLANES                                             
  19 : C                -1 EN DEFORM. PLANES                                            
  20 : C                 0 EN AXISYMETRIE                                               
  21 : C                 1 EN SERIE DE FOURIER                                          
  22 : C                 2 EN TRIDIM                                                    
  23 : C         NSTRS nombre de composantes des contraintes ou 
  24 : C           des deformations
  25 : C         NNVARI nombre de variables internes pilotant les 
  26 : C           equations du modele                                                 
  27 : C         VAR(NVARI) tableau des variables internes 
  28 : C         XMATT(NCOMAT) tableau des parametres scalaires du materiau
  29 : C           a une temperature T donnee
  30 : C           dont XMATT(1) module d'Young et XMATT(2) coeff de Poisson
  31 : C         YUNGV derivee /T du module d'Young a T
  32 : C         XNUV derivee /T du coeff de Poisson a T
  33 : C         MFR indice de la formulation mecanique(seulement massif 
  34 : C           pour les materiaux endommageables)
  35 : C         ICARA nombre de caracteristiques geometriques des elements
  36 : C           finis
  37 : C         XCAR(ICARA) tableau des caracteristiques geometriques des
  38 : C           elements finis
  39 : C         INDIC=0, 1 OU -1 pour plasticite avec endommagement
  40 : C              =2 OU -2 pour viscoplasticite avec endommagement
  41 : C         ITHHER = 0 pas de chargement thermique et materiau constant
  42 : C                = 1 chargement thermique et materiau constant
  43 : C                = 2 chargement thermique et materiau(T)
  44 : C--------------------------------------------------------------------------------
  45 : C 
  46 : C--------------------------------------------------------------------------------                                                                              
  47 : C Sortie: DD(NSTRS,NSTRS) matrice de Hooke 
  48 : C                          endommagee si ISENS=1
  49 : C                         son inverse si ISENS=2 
  50 : C         DDV(NSTRS,NSTRS) derivee de la matrice de Hooke 
  51 : C                          endommagee si ISENS=1
  52 : C                         son inverse si ISENS=2    
  53 : C         KERRE indice qui regit les erreurs
  54 : C          Il vaut 99 si la formulation mecanique n'est pas disponible ou
  55 : C          s'il y a incompatibilite entre MFR et IFOUR
  56 : C _______________________________________________________________________________
  57 : C       
  58 :       IMPLICIT INTEGER(I-N)
  59 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  60 :       DIMENSION VAR(*),XCAR(*),XMATT(*)                                         
  61 :       DIMENSION DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS)                                              
  62 : C                                                                       
  62 :       CALL ZERO(DD,NSTRS,NSTRS) 
  62 :       CALL ZERO(DDV,NSTRS,NSTRS)                                              
  63 :       KERRE=0                                                                   
  64 : C
  65 : C--------------------------------------------------------------------------------
  66 : C TERMES DU TENSEUR D'ENDOMMAGEMENT
  67 : C--------------------------------------------------------------------------------
  68 : C
  69 :       YUNG=XMATT(1)
  70 :       XNU=XMATT(2)  
  71 :       D11=VAR(2)
  72 :       D22=VAR(3)
  73 :       D33=VAR(4)
  74 :       D12=VAR(5)
  75 :       D13=VAR(6)
  76 :       D23=VAR(7)
  77 : 
  78 :       IF (D11.LE.1.D0) THEN 
  79 :         DEN1 = 1.D0-D11
  80 :       ELSE
  81 :         DEN1 = 1.D-6
  82 :       ENDIF
  83 :       IF (D22.LE.1.D0) THEN 
  84 :         DEN2 = 1.D0-D22
  85 :       ELSE
  86 :         DEN2 = 1.D-6
  87 :       ENDIF
  88 :       IF (D33.LE.1.D0) THEN 
  89 :         DEN3 = 1.D0-D33
  90 :       ELSE
  91 :         DEN3 = 1.D-6
  92 :       ENDIF
  93 : 
  94 : C --- Déterminant de la matrice I - D ---
  95 :        det=(DEN1)*(DEN2)*(DEN3)
  96 :      &    - 2.D0*D12*D13*D23-D12*D12*(DEN3)
  97 :      &    - D23*D23*(DEN1)-D13*D13*(DEN2)
  98 : C
  99 :        det2=det*det
 100 :        det4=det2*det2
 101 : C
 102 : C --- Expression des cofacteurs de la matrice I - D ---
 103 :        A11=(DEN2)*(DEN3)-D23*D23
 104 :        A22=(DEN1)*(DEN3)-D13*D13
 105 :        A33=(DEN2)*(DEN1)-D12*D12
 106 :        A12=D12*(DEN3)+D23*D13
 107 :        A13=D13*(DEN2)+D23*D12
 108 :        A23=D23*(DEN1)+D13*D12
 109 : C                                     
 110 :        COEFF1=(1.D0+XNU)/YUNG
 111 :        COEFF2=XNU/YUNG
 112 :        COEFF3=1.D0/YUNG
 113 : C               
 114 :       IF (MFR.NE.1) GOTO 40                                                     
 115 : C                                                                               
 116 : C------------                                                                       
 117 : C MASSIFS                                                                       
 118 : C------------              
 119 :       IF (IFOUR.EQ.-2) GOTO 40                                                  
 120 : C
 121 : C-------------------                                                            
 122 : C EPSELAS=DD*SIG                                                                
 123 : C------------------- 
 124 : 
 125 :       DD(1,1)=COEFF3*(A11*A11/det2)
 126 :       DD(1,2)=(COEFF1*A12*A12-COEFF2*A11*A22)/det2
 127 :       DD(1,3)=(COEFF1*A13*A13-COEFF2*A11*A33)/det2
 128 :       DD(1,4)=2.D0*COEFF3*A11*A12/det2
 129 :       IF (IFOUR.GT.0) THEN                                                    
 130 :       DD(1,5)=2.D0*COEFF3*A11*A13/det2
 131 :       DD(1,6)=2.D0*(COEFF1*A12*A13-COEFF2*A11*A23)/det2
 132 :       ENDIF 
 133 : 
 134 :       DD(2,1)=DD(1,2)
 135 :       DD(2,2)=COEFF3*A22*A22/det2
 136 :       DD(2,3)=(COEFF1*A23*A23-COEFF2*A22*A33)/det2
 137 :       DD(2,4)=2.D0*COEFF3*A12*A22/det2
 138 :       IF (IFOUR.GT.0) THEN                                                    
 139 :       DD(2,5)=2.D0*(COEFF1*A12*A23-COEFF2*A13*A22)/det2
 140 :       DD(2,6)=2.D0*COEFF3*A22*A23/det2
 141 :       ENDIF 
 142 : 
 143 :       DD(3,1)=DD(1,3)
 144 :       DD(3,2)=DD(2,3)
 145 :       DD(3,3)=COEFF3*A33*A33/det2
 146 :       DD(3,4)=2.D0*(COEFF1*A13*A23-COEFF2*A33*A12)/det2
 147 :       IF (IFOUR.GT.0) THEN                                                    
 148 :       DD(3,5)=2.D0*COEFF3*A13*A33/det2
 149 :       DD(3,6)=2.D0*COEFF3*A33*A23/det2
 150 :       ENDIF 
 151 : 
 152 :       DD(4,1)=DD(1,4)
 153 :       DD(4,2)=DD(2,4)
 154 :       DD(4,3)=DD(3,4)
 155 :       DD(4,4)=2.D0*(COEFF1*(A12*A12+A11*A22)-COEFF2*2.D0*A12*A12)/det2
 156 :       IF (IFOUR.GT.0) THEN                                                    
 157 :       DD(4,5)=2.D0*(COEFF1*(A12*A13+A11*A23)-COEFF2*2.D0*A13*A12)/det2
 158 :       DD(4,6)=2.D0*(COEFF1*(A12*A23+A22*A13)-COEFF2*2.D0*A23*A12)/det2
 159 :       ENDIF 
 160 : 
 161 :       IF (IFOUR.GT.0) THEN                                                  
 162 :       DD(5,1)=DD(1,5)
 163 :       DD(5,2)=DD(2,5)
 164 :       DD(5,3)=DD(3,5)
 165 :       DD(5,4)=DD(4,5)
 166 :       DD(5,5)=2.D0*(COEFF1*(A13*A13+A11*A33)-COEFF2*2.D0*A13*A13)/det2
 167 :       DD(5,6)=2.D0*(COEFF1*(A13*A23+A33*A12)-COEFF2*2.D0*A23*A13)/det2
 168 :       ENDIF 
 169 : 
 170 : 
 171 :       IF (IFOUR.GT.0) THEN                                                    
 172 :       DD(6,1)=DD(1,6)
 173 :       DD(6,2)=DD(2,6)
 174 :       DD(6,3)=DD(3,6)
 175 :       DD(6,4)=DD(4,6)
 176 :       DD(6,5)=DD(5,6)
 177 :       DD(6,6)=2.D0*(COEFF1*(A23*A23+A33*A22)-COEFF2*2.D0*A23*A23)/det2
 178 :       ENDIF 
 179 : C                                                                              
 180 :       IF (ISENS.EQ.2) GOTO 500
 181 : C
 182 : C----------------                                                                
 183 : C SIG=DD*EPSELAS                                                                
 184 : C---------------- 
 184 :       CALL INVALM (DD, NSTRS , NSTRS , KER, 1.D-12)
 185 :       GOTO 500                                         
 186 : C                                                                            
 187 : C FORMULATION NON DISPONIBLE   
 188 : 40    KERRE=99                                                                 
 189 : 500   CONTINUE                                                         
 190 :       RETURN                                                                    
 191 :       END            
 192 : 
 193 : 
 194 : 
 195 : 
 196 : 
 197 : 
 198 : 
 199 : 
 200 : 
 201 : 
 202 : 
 203 : 
 204 :   
 205 :  

© Cast3M 2003 - All rights reserved.
Disclaimer