Download endom1.eso

Back to the list

   1 : C ENDOM1    SOURCE    CHAT      05/01/12    23:39:05     5004           
   2 :       SUBROUTINE ENDOM1(SIGG,NSTRS,VARR,XMAT,NCOMAT,XCAR,ICARA,
   3 :      1NCOURB,TRAC,NNVARI,MFR,IFOURB,DD,DDINV,BB,R,S,XMU,
   4 :      2QSI,KERRE,SIGGD,W,F,INDIC,ITHHER,YUNGV,XNUV)
   5 : C
   6 : C
   7 : C ===================================================================
   8 : C CE SOUS-PROGRAMME EST APPELE DANS "LOIS".           
   9 : C IL CALCULE LES MATR. DD ET BB, LES VECT. R,S,XMU ET QSI DS.                   
  10 : C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMMAGEMENT ISOTROPES.
  11 : C EN REGIME ANISOTHERME.                      
  12 : C                                                                               
  13 : C ENTREES:                                                                      
  14 : C -------                                                                       
  15 : C NSTRS        = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM.                  
  16 : C SIGG(NSTRS)  = CONTR.                                                         
  17 : C NNVARI       =  NBR. DE VARIABLES INTERNES PILOTANT LES EQUATIONS             
  18 : C                DU MODELE (VAUT 2)                                                      
  19 : C VARR(2)...   = VARIABLES INTERNES PILOTANT LES EQUATIONS DU MODELE            
  20 : C ...VARR(1+NNVARI) (r ET D)                                                            
  21 : C NCOMAT       = NBR. DE CARACTERISTIQUES MECANIQUES DU MATERIAU                
  22 : C XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU                        
  23 : C MFR          = INDICE DE LA FORMULATION MECANIQUE; SEULEMENT                  
  24 : C                MASSIF OU COQUE POUR LES MATERIAUX ENDOMMAGEABLES              
  25 : C ICARA        = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS                
  26 : C XCAR(ICARA)  = CARACT. GEOMETRIQUES DES ELEMENTS FINIS                        
  27 : C NCOURB       = NBR. DE PTS. DE LA COURBE DE TRACTION                          
  28 : C TRAC(2NCOURB)= COURBE DE TRACTION
  29 : C YUNGV        = DERIVEE DU MODULE D'YOUNG / TEMPERATURE
  30 : C XNUV         = DERIVEE DU COEFFICIENT DE POISSON / TEMPERATURE
  31 : C                                                                               
  32 : C SORTIES:                                                                      
  33 : C -------                                                                       
  34 : C DD(NSTRS,NSTRS) = MATRICE DE HOOK ENDOMMAGEE
  35 : C BB(NSTRS,NNVARI)= MATRICE DEFINIE DS. LA RELATION SUIVANTE:                   
  36 : C                    .          .         .                                     
  37 : C                   SIG = DD*EPSELAS + BB*Q   AVEC:                             
  38 : C                   - SIG     = CONTR.                                          
  39 : C                   - EPSELAS = DEFORM. ELASTIQUES                              
  40 : C                   - Q       = VAR. INT. PILOTANT LES LOIS DU MODELE           
  41 : C R(NSTRS)        = LOI D'ECOULEMENT PLASTIQUE                                  
  42 : C S(NNVARI)       = LOIS D'EVOLUTION DES VARIABLES Q                            
  43 : C XMU(NSTRS)      = DERIVEE DU CRITERE PAR RAPPORT AUX CONTR.                   
  44 : C QSI(NNVARI)     = DERIVEE DU CRITERE PAR RAPPORT AUX VARIABLES Q
  45 : C KERRE           = INDICE QUI REGIT LES ERREURS                                      
  46 : C                 = 99 SI LA FORMULATION MECANIQUE N'EST PAS                    
  47 : C                      DISPONIBLE POUR LE MODELE CONSIDERE OU S'IL Y            
  48 : C                      A INCOMPATIBILITE ENTRE MFR ET IFOUR                     
  49 : C ====================================================================          
  50 :       IMPLICIT INTEGER(I-N)
  51 :       IMPLICIT REAL*8 (A-H,O-Z)
  52 : 
  53 : -INC CCOPTIO
  54 : C 
  55 :       DIMENSION SIGG(*),VARR(*),XMAT(*),XCAR(*),TRAC(*),R(*),S(*),
  56 :      1XMU(*),QSI(*),SIGGD(*),W(*)
  57 :       DIMENSION DD(NSTRS,NSTRS),BB(NSTRS,NNVARI),F(NCOURB,2)
  58 :       DIMENSION DDINV(NSTRS,NSTRS)
  59 : C                                                      
  60 : C =================================                                                
  61 : C REMPLISSAGE DES MATRICES DD(HOOK)                                                 
  62 : C =================================
  63 : C                                                  
  63 :       CALL ELAST1(1,IFOURB,VARR,NNVARI,XMAT,NCOMAT,YUNGV,XNUV,
  64 :      1          XCAR,ICARA,MFR,NSTRS,DD,DDINV,KERRE,INDIC,ITHHER)
  65 : C
  66 : C                                                                               
  67 : C (SI LA FORMULATION MECANIQUE EST NON DISPONIBLE OU S'IL Y A                   
  68 : C  INCOMPATIBILITE ENTRE IFOUR ET MFR, KERRE EST NON NUL:)
  69 :       IF (KERRE.NE.0) GOTO 100                                         
  70 : C                                                                               
  71 : C =======================                                                       
  72 : C CALCUL DE LA MATRICE BB                                                       
  73 : C =======================                                                       
  73 :       CALL ZERO(BB,NSTRS,NNVARI)                      
  74 :       XD=VARR(3)
  75 :       DO 10 I=1,NSTRS                                                           
  76 :    10                BB(I,2)=-SIGG(I)/(1.D0-XD)                               
  77 : C                                                                               
  78 : C =========================                                                     
  79 : C CALCUL DES VECT. R ET XMU                                                     
  80 : C =========================                                                     
  81 : C                                                                               
  82 :       XNU=XMAT(2)                                                               
  83 :       EPSD=XMAT(6)                                                              
  84 :       DC=XMAT(7)                                                                
  85 :       EPSR=XMAT(8)                                                              
  86 :       P=VARR(1)                                                                 
  87 : C --------------------                                                          
  88 : C DEVIATEUR DES CONTR.                                                          
  89 : C --------------------                                                          
  90 :       TRACE=SIGG(1)+SIGG(2)+SIGG(3)                                             
  91 :       DO 30 I=1,NSTRS                                                           
  92 :                       A=0.D0                                                    
  93 :                       IF (I.LE.3) A=1.D0/3.D0                                   
  94 :                       SIGGD(I)=SIGG(I)-A*TRACE                                  
  95 :    30 CONTINUE                                                                  
  96 : C                                                                               
  97 : C -----------------------------------                                           
  98 : C CONTRAINTE EQUIVALENTE DE VON MISES                                           
  99 : C -----------------------------------                                           
 100 :       SIGEQI=PROCON(SIGGD,SIGGD,NSTRS)                                          
 101 :       SIGEQI=DSQRT((3.D0/2.D0)*SIGEQI)                                          
 102 :       DO 50 I=1,NSTRS                                                           
 103 :                 A=1.D0                                                          
 104 :                 IF (I.GT.3) A=2.D0                                              
 105 :                 R(I)=((3.D0*SIGGD(I))/(2.D0*(1.D0-XD)*SIGEQI))*A                
 106 :                 XMU(I)=R(I)                                                     
 107 :    50 CONTINUE                                                                  
 108 : C                                                                               
 109 : C =================                                                             
 110 : C CALCUL DU VECT. S                                                             
 111 : C =================                                                             
 112 : C                                                                               
 113 :       S(1)=1.D0                                                                 
 114 : C                                                                               
 115 :       TRIAXI=TRACE/(3.D0*SIGEQI)                                                
 116 :       TRIAXI=TRIAXI*TRIAXI                                                      
 117 :       TRIAXI=3.D0*(1.D0-2.D0*XNU)*TRIAXI+(2.D0*(1.D0+XNU))/3.D0                 
 118 : C                                                                               
 119 : C --------------------------------------                                        
 120 : C CALCUL DE LA CONSTANTE MATERIAU S0PRIM                                        
 121 : C --------------------------------------                                        
 122 : C                                                                               
 123 : C ..........................................................                    
 124 : C CALCUL DES COEFF. K ET M A PARTIR DE LA COURBE DE TRACTION
 125 : C XKM ATTEND LA COURBE DE TRACTION (SIGMA,EPSILON_PLASTIQUE)
 126 : C OR TRAC CONTIENT (EPSILON_PLASTIQUE,SIGMA)                   
 127 : C ..........................................................
 128 :       DO 70 I=1,NCOURB
 129 :                        XTRAC=TRAC(2*I-1)
 130 :                        TRAC(2*I-1)=TRAC(2*I)
 131 :                        TRAC(2*I)=XTRAC
 132 :    70 CONTINUE                   
 132 :       CALL XKM(NCOURB,TRAC,XK,XM,W,F)
 133 :       DO 80 I=1,NCOURB
 134 :                        XTRAC=TRAC(2*I-1)
 135 :                        TRAC(2*I-1)=TRAC(2*I)
 136 :                        TRAC(2*I)=XTRAC
 137 :    80 CONTINUE                                           
 138 :       SIGY=TRAC(2)                                                              
 139 :       XM2=(2.D0+XM)/XM                                                          
 140 :       XM1=(1.D0+XM)/XM                                                          
 141 :       S0PRI1=(EPSR**XM2)-(EPSD**XM2)                                            
 142 :       S0PRI1=(XK*XK*S0PRI1)/XM2                                                 
 143 :       S0PRI2=(EPSR**XM1)-(EPSD**XM1)                                            
 144 :       S0PRI2=(2.D0*SIGY*XK*S0PRI2)/XM1                                          
 145 :       S0PRI3=SIGY*SIGY*(EPSR-EPSD)                                              
 146 :       S0PRIM=(S0PRI1+S0PRI2+S0PRI3)/DC
 147 : C
 148 : C -----------------------------------------------------------                   
 149 : C "DERTRA" CALCULE LA DERIVEE DE LA COURBE DE TRACTION EN VIR                   
 150 : C -----------------------------------------------------------                                                                               
 151 :       VIR=VARR(2)
 152 :       N2COUR=2*NCOURB                                                               
 152 :       CALL DERTRA(N2COUR,TRAC,VIR,Y,RPRIM,RINF,RSUP)                                
 153 : C                                                                                                                                 
 154 : C                                                                               
 155 :       S(2)=((Y**2.D0)*TRIAXI)/(S0PRIM*(1.D0-XD))
 156 : C                                                                               
 157 : C ---------------------------------------------                                                                     
 158 : C SI LE SEUIL D'ENDOMMAGEMENT N'EST PAS ATTEINT                                                                     
 159 : C ---------------------------------------------                                                                     
 160 :       IF (INDIC.EQ.0) S(2)=0.D0                                                 
 161 : C                                                                               
 162 : C ===================                                                           
 163 : C CALCUL DU VECT. QSI                                                           
 164 : C ===================                                                           
 165 : C                                                                                                  
 166 :       QSI(1)=-RPRIM                                                              
 167 :       QSI(2)=Y/(1.D0-XD)
 168 : C
 169 :   100 CONTINUE
 170 :       RETURN
 171 :       END
 172 :  
 173 :  
 174 :  
 175 :  

© Cast3M 2003 - All rights reserved.
Disclaimer