Download adva11.eso

Back to the list

   1 : C ADVA11    SOURCE    CHAT      05/01/12    21:18:34     5004           
   2 :        SUBROUTINE ADVA11(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,DSPT,EPSVPT,                 
   3 :      &                   VARPT,XMAT,NSTRS,NVARI,MFR)   
   4 :       IMPLICIT INTEGER(I-N)
   5 :        IMPLICIT REAL*8(A-H,O-Z)
   6 : -INC CCOPTIO               
   7 :                                                       
   8 :        DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)                 
   9 :        DIMENSION DSPT(*),EPSVPT(*),VARPT(*),XMAT(*)                             
  10 : C
  11 : C ICI : le modele est obligatoirement CERAMIQUE
  12 : C ____________________________________________________________________          
  13 : C                                                                               
  14 : C    THIS ROUTINE UPDATES THE STRAINS ,STRESSES & INTERNAL VARIABLES            
  15 : C ____________________________________________________________________                                                    
  16 : C  STEP-1 : UPDATING STRAINS                                                    
  17 : C ----------------------------                                                  
  18 :        YOU = XMAT(1)                                                            
  19 :        XNU = XMAT(2)                                                        
  20 :        DO 10 I=1,NSTRS                                                          
  21 :          EPSV1(I)=EPSV(I)+TAU*EPSVPT(I)       
  22 :   10   CONTINUE                                                                 
  23 : C                                                                               
  24 : C  STEP-2 : UPDATING STESSES                                                    
  25 : C ----------------------------                                                  
  26 :        IF(IFOUR.EQ.-2) THEN                                                     
  27 :          SIG(3)=0.D0                                                             
  28 :          X2MU=YOU/(1.D0+XNU)                                                       
  29 :          XCO=X2MU/(1.D0-XNU)                                                     
  30 :          SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))               
  31 :          SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))               
  32 :          SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))                              
  33 :          SIG1(3)=0.D0        
  34 :        ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1) THEN       
  35 :          X2MU = YOU/(1.D0+XNU)
  36 :          ALMB = X2MU*XNU/(1.D0-2.D0*XNU)
  37 :          IF (MFR.EQ.5) THEN 
  38 :            X2MU=YOU/(1.D0+XNU)
  39 :            XCO=X2MU/(1.D0-XNU) 
  40 :            SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  41 :            SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) 
  42 :            SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3)) 
  43 :            SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4)) 
  44 :            SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5)) 
  45 :          ELSE 
  46 :            TRACE=EPSVPT(1)+EPSVPT(2)+EPSVPT(3)                                
  47 :            DO 20 I=1,NSTRS                                                       
  48 :              A = 0.D0                                                                
  49 :              IF (I.LE.3) A=1.D0                                                       
  50 :              SIG1(I) = SIG(I) + 
  51 :      &         TAU*(DSPT(I)-ALMB*A*TRACE-X2MU*EPSVPT(I))    
  52 :    20      CONTINUE                                 
  53 :          ENDIF 
  54 :        ENDIF                                                        
  55 : C                                                                               
  56 : C  STEP-3 : UPDATING THE INTERNAL VARIABLES                                     
  57 : C------------------------------------------                                     
  58 :        IF (MFR.EQ.5) THEN 
  59 :          NSTRS0=NSTRS+1  
  60 :        ELSE 
  61 :          NSTRS0=NSTRS 
  62 :        ENDIF  
  63 :        VAR1(1) = VAR(1)+TAU*VARPT(1)  
  64 : C On met la variable de déformation de fluage égale à la variable de déformation 
  65 :        VAR1(NVARI) = VAR(NVARI)+TAU*VARPT(1)
  66 : C On conserve la variable interne qui correspond à l'endommagement généralisé
  67 :        VAR1(NVARI-1) = VAR(NVARI-1) 
  68 : CCC        IF ((IFOUR.EQ.2.AND.MFR.EQ.3).OR.IFOUR.EQ.-2) THEN 
  69 : CCC        IBID = 11
  70 : CCC        ELSE IF(IFOUR.EQ.-3.OR.IFOUR.EQ.-1
  71 : CCC     1 .OR.IFOUR.EQ.0) THEN 
  72 : CCC        IBID = 14
  73 : CCC        ELSE IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN 
  74 : CCC        IBID = 19
  75 : CCC        ENDIF
  76 : CCC Eloi : correction de IBID
  77 : CCC        de plus : ici on a obligatoirement MFR different de 3 
  78 :        IBID=NVARI-(2*NSTRS)-5 
  79 : C
  80 : C     On ne change pas les variables de OTTOSEN de 2 à IBID 
  81 :        DO 30 I=2,IBID                                                   
  82 :          VAR1(I)=VAR(I)                                                               
  83 :    30  CONTINUE    
  84 : C    
  85 : C On met les variables internes à VARPT de IBID+1 à IBID+ 2*NSTRS0+3                                     
  86 :        DO 40 I=1,2*NSTRS0+3                                                     
  87 :          VAR1(I+IBID)=VARPT(I+IBID)                                      
  88 :    40  CONTINUE
  89 : C _____________________________________________________________________         
  90 :        RETURN                                                                   
  91 :        END     
  92 : C     Pour mémoire ce qu'il y avait dans advan1
  93 : C       DO 30 I=1,2*NSTRS0+3                                                     
  94 : C   30  VAR1(I)=VARPT(I)                                                         
  95 : C       NSUB=2*NSTRS0+4                                                          
  96 : C       VAR1(NSUB)=VAR(NSUB)+TAU*VARPT(NSUB)   
  97 : C       cette variable correspond à EPSE                                                                                                    
  98 :  
  99 :  
 100 :  
 101 :  
 102 :  
 103 :  
 104 :  
 105 :  
 106 :  

© Cast3M 2003 - All rights reserved.
Disclaimer