Download adva22.eso

Back to the list

   1 : C ADVA22    SOURCE    CHAT      05/01/12    21:18:38     5004           
   2 :        SUBROUTINE ADVA22(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,SIGPT,EPSVPT,                      
   3 :      &                   VARPT,XMAT,NSTRS,NVARI)                  
   4 : C -----------------------------------------------------------------             
   5 :       IMPLICIT INTEGER(I-N)
   6 :        IMPLICIT REAL*8(A-H,O-Z)       
   7 : -INC CCOPTIO                                                    
   8 :        DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)                 
   9 :        DIMENSION SIGPT(*),EPSVPT(*),VARPT(*),XMAT(*)                            
  10 : C
  11 : C ICI : le modele est obligatoirement CERAMIQUE
  12 : C----------------------------------------------------------------               
  13 : C  THIS ROUTINE CALCULATES THE LATEST VALUES OF SIG,EPSV,VAR,                   
  14 : C  FROM THE INITIAL VALUES OF SIG,EPSV,VAR AND DERIVATIVES :                    
  15 : C  SIGPT,EPSVPT,VARPT                                                           
  16 : C----------------------------------------------------------------                  
  17 : C        
  18 :        T1 = XMAT(1)/(1.D0-XMAT(2)*XMAT(2))                                      
  19 :        T2 = T1 * XMAT(2)                                                       
  20 :        T3 = XMAT(1)/(1.D0+XMAT(2))                                              
  21 :        NS = NSTRS/2          
  22 : C                                                                               
  23 : C________________________________________________________________               
  24 : C        STRAIN COMPONENTS                                                      
  25 : C________________________________________________________________           
  26 :        DO 10 I =1,NSTRS                                                         
  27 :          EPSV1(I) = EPSV(I) + TAU*EPSVPT(I)                                                     
  28 :   10   CONTINUE                                                                 
  29 : C                                                                                                                                 
  30 : C________________________________________________________________               
  31 : C        STRESS COMPONENTS                                                      
  32 : C________________________________________________________________               
  33 :        IF(NS.EQ.2) THEN                                                         
  34 :          SIG1(1) = SIG(1) + TAU*(SIGPT(1)- T1*EPSVPT(1)-T2*EPSVPT(2))             
  35 :          SIG1(2) = SIG(2) + TAU*(SIGPT(2)- T1*EPSVPT(2)-T2*EPSVPT(1))             
  36 :          SIG1(3) = SIG(3) + TAU*(SIGPT(3)- T1*EPSVPT(3)-T2*EPSVPT(4))             
  37 :          SIG1(4) = SIG(4) + TAU*(SIGPT(4)- T1*EPSVPT(4)-T2*EPSVPT(3))             
  38 :          IF(IFOUR.EQ.-2) THEN                                                     
  39 :            SIG1(2)=0.D0                                                            
  40 :            SIG1(4)=0.D0                                                            
  41 :          ENDIF                                              
  42 :        ELSE                                                                     
  43 :          SIG1(1) = SIG(1) + TAU*(SIGPT(1)- T1*EPSVPT(1)-T2*EPSVPT(2))             
  44 :          SIG1(2) = SIG(2) + TAU*(SIGPT(2)- T1*EPSVPT(2)-T2*EPSVPT(1))             
  45 :          SIG1(3) = SIG(3) + TAU*(SIGPT(3)- T3*EPSVPT(3))                          
  46 :          SIG1(4) = SIG(4) + TAU*(SIGPT(4)- T1*EPSVPT(4)-T2*EPSVPT(5))             
  47 :          SIG1(5) = SIG(5) + TAU*(SIGPT(5)- T1*EPSVPT(5)-T2*EPSVPT(4))             
  48 :          SIG1(6) = SIG(6) + TAU*(SIGPT(6)- T3*EPSVPT(6))                          
  49 :          IF(IFOUR.EQ.-2) THEN                                                     
  50 :            SIG1(2)=0.D0                                                            
  51 :            SIG1(5)=0.D0                                                            
  52 :          ENDIF                                                                        
  53 :        ENDIF                                                                    
  54 : C________________________________________________________________               
  55 : C        INTERNAL VARIABLES                                                     
  56 : C________________________________________________________________               
  57 : C  La première variable interne qui était la derniere dans advan2 correspond à EPSE 
  58 :        VAR1(1) = VAR(1)+TAU*VARPT(1)    
  59 : C  La dernière variable interne  correspond à EPSE fluage
  60 :        VAR1(NVARI) = VAR1(NVARI)+TAU*VARPT(NVARI)    
  61 : C l'avant dernière variable interne correspond à l'endommagement 
  62 : C on n'y touche pas ici 
  63 :        VAR1(NVARI-1) = VAR(NVARI-1)
  64 : CCC        IF ((IFOUR.EQ.2.AND.MFR.EQ.3).OR.IFOUR.EQ.-2) THEN 
  65 : CCC        IBID = 11
  66 : CCC        ELSE IF(IFOUR.EQ.-3.OR.IFOUR.EQ.-1
  67 : CCC     1 .OR.IFOUR.EQ.0) THEN 
  68 : CCC        IBID = 14
  69 : CCC        ELSE IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN 
  70 : CCC        IBID = 19
  71 : CCC        ENDIF
  72 : CCC Eloi : correction de IBID
  73 : CCC        de plus : ici on a obligatoirement MFR = 3
  74 :        IBID=NVARI-(2*NSTRS)-5
  75 : C de 2 à IBID on a les variables d'ottosen qu'on ne touche pas 
  76 : C     On ne change pas les variables de OTTOSEN 
  77 :        DO 20 I=2,IBID                                                   
  78 :          VAR1(I)=VAR(I)                                                               
  79 :   20   CONTINUE    
  80 : C   de IBID + 1 à  IBID + 2*NSTRS+3
  81 :        DO 30 I=(IBID+1),(IBID+2*NSTRS+3)                                                      
  82 :          VAR1(I)=VARPT(I)                                                         
  83 :   30   CONTINUE                                                                                                                          
  84 :        RETURN                                                                   
  85 :        END      
  86 : C pour mémoire voici ce qu'il y avait dans advan2
  87 : **************************************************
  88 : C
  89 : C       IF((INPLAS.GE.19.AND.INPLAS.LE.23).OR.INPLAS.EQ.61) THEN                                   
  90 : C       DO 30 I=1,2*NSTRS+3                                                      
  91 : C       VAR1(I)=VARPT(I)                                                         
  92 : C   30  CONTINUE  
  93 : C       en fait dans IDVAR1 on a  2*NSTRS+4 = NVARI 
  94 : C       il s'agit donc de la variable EPSE qu'on met à jour                                                               
  95 : C       DO 40 I=2*NSTRS+4,NVARI                                                  
  96 : C       VAR1(I)=VAR(I)+TAU*VARPT(I)                                              
  97 : C   40  CONTINUE                                  
  98 : ***********************************************                                                                
  99 :  
 100 :  
 101 :  
 102 :  
 103 :  
 104 :  
 105 :  

© Cast3M 2003 - All rights reserved.
Disclaimer