Download avan1.eso

Back to the list

   1 : C AVAN1     SOURCE    CHAT      05/01/12    21:29:47     5004           
   2 : C----------------------------------------------------------------               
   3 :        SUBROUTINE AVAN1(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,                       
   4 :      +              EPSVPT,VARPT,XPM,DSPT,                                      
   5 :      +              XMAT,NSTRS0,NVARI,NCOMAT,IFOUR,IVTEST, 
   6 :      +              MFR)                       
   7 : C                                                                               
   8 :       IMPLICIT INTEGER(I-N)
   9 :        IMPLICIT REAL*8(A-H,O-Z)                                                 
  10 :        DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)                 
  11 :        DIMENSION EPSVPT(*),VARPT(*),XPM(*),DSPT(*),XMAT(*)                      
  12 :        DIMENSION XX(6),EPSV0(6),EPSV00(6)                                                 
  13 : C----------------------------------------------------------------               
  14 : C  ====> connaissant l'{tat, c'est @ dire SIG, EPSV et VAR                      
  15 : C        ainsi que les deriv{es EPSVPT, VARPT et DSPT                           
  16 : C        on calcule l'{tat SIG1, EPSV1, VAR1 au temps T + TAU                   
  17 : C----------------------------------------------------------------               
  18 : C                                                                               
  19 :        NSTRS=NSTRS0 
  20 : C 
  21 : C------ AFFECTATION DE QUELQUES VARIABLES                                       
  22 :        YOU = XMAT(1)                                                            
  23 :        XNU = XMAT(2)                                                            
  24 :        XM  = XMAT(10)                                                           
  25 :        AN  = XMAT(17)                                                           
  26 : C                                                                               
  27 : C------- MAJ DE EPSV                                                            
  28 :        DO 30 I =1,NSTRS                                                         
  29 :           EPSV1(I) = EPSV(I) + TAU*EPSVPT(I)                                    
  30 :   30   CONTINUE                                                                 
  31 : C                                                                               
  32 : C------- MAJ DE SIG                                                             
  33 : C        SIG1 = SIG + T.(E:EPSPT - E:EPSVPT ) , DSPT = E:EPSPT                  
  34 : C      cas des contraintes planes                                               
  35 :        IF (IFOUR.EQ.-2) THEN                                                    
  36 :           SIG(3) = 0.0                                                          
  37 :           X2MU = YOU/(1.+XNU)                                                   
  38 :           XCO  = X2MU/(1.-XNU)                                                  
  39 :        SIG1(1) =SIG(1) + TAU*(DSPT(1)- XCO*(EPSVPT(1)+XNU*EPSVPT(2)))           
  40 :        SIG1(2) =SIG(2) + TAU*(DSPT(2)- XCO*(EPSVPT(2)+XNU*EPSVPT(1)))           
  41 :        SIG1(4) =SIG(4) + TAU*(DSPT(4)- X2MU*EPSVPT(4))                          
  42 :           SIG1(3) = 0.0                                                         
  43 : C      cas tri dim                                                              
  44 :        ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.
  45 :      &         IFOUR.EQ.1.OR.IFOUR.EQ.-3) THEN
  46 :        IF (MFR.EQ.5) THEN
  47 :          X2MU=YOU/(1.0+XNU)
  48 :          XCO = X2MU/(1.0-XNU)
  49 :          SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  50 :          SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  51 :          SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3))
  52 :          SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))
  53 :          SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5))
  54 :        ELSE
  55 :          TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)                                  
  56 :          X2MU = YOU/(1+XNU)                                                     
  57 :          XLAMB = X2MU*XNU/(1-2*XNU)                                             
  58 :          DO 31 I=1,NSTRS                                                        
  59 :            A = 0.0                                                              
  60 :            IF (I.LE.3) A=1.0                                                    
  61 :        SIG1(I) = SIG(I) + TAU*(DSPT(I)-XLAMB*A*TRACE-X2MU*EPSVPT(I))            
  62 :   31     CONTINUE                                                               
  63 :        ENDIF  
  64 : C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ)
  65 :        ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN
  66 :          SIG(3) = 0.
  67 :          XCO = YOU/(1.-XNU*XNU)
  68 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  69 :          SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  70 :          SIG1(3) = 0.
  71 : C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et
  72 : C=                 1D axisymetrique contraintes axiales nulles (AXCZ)
  73 :        ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
  74 :          SIG(2) = 0.
  75 :          XCO = YOU/(1.-XNU*XNU)
  76 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3)))
  77 :          SIG1(2) = 0.
  78 :          SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1)))
  79 : C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ)
  80 :        ELSE IF (IFOUR.EQ.6) THEN
  81 :          SIG(2) = 0.
  82 :          SIG(3) = 0.
  83 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1))
  84 :          SIG1(2) = 0.
  85 :          SIG1(3) = 0.
  86 : C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ)
  87 : C=                        1D axisymetrique (AXDZ AXGZ) et 1D spherique
  88 :        ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11
  89 :      .      .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN
  90 :          X2MU = YOU/(1.+XNU)
  91 :          TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
  92 :          XCO = X2MU*XNU*TRACE/(1.-XNU)
  93 :          SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO)
  94 :          SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO)
  95 :          SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO)
  96 :        ELSE                                                                     
  97 :          WRITE(*,*) 'CAS NON PREVU DANS AVAN1 (GUIONNET)'                     
  98 :          STOP                                                                   
  99 :        ENDIF                                                                    
 100 : C                                                                               
 101 : C------ SAUVEGARDE DE VAR, MEMOIRE COMPRISE                                     
 102 :        DO 32 I=1,NVARI,1                                                        
 103 :          VAR1(I) = VAR(I)                                                       
 104 :   32   CONTINUE                                                                 
 105 : C                                                                               
 106 : C il n'y a que 4+NSTRS valeurs dans VARPT,                                      
 107 : C                                                                               
 108 : C------ MAJ DE VAR(1..4)                                                        
 109 :        IF (MFR.EQ.5) THEN 
 110 :           NSTRS=NSTRS0+1  
 111 :           EPSV0(1)=EPSV1(1) 
 112 :           EPSV0(2)=EPSV1(2) 
 113 :           EPSV0(3)=-1.*(EPSV0(1)+EPSV0(2))  
 114 :           EPSV0(4)=EPSV1(3) 
 115 :           EPSV0(5)=EPSV1(4)  
 116 :           EPSV0(6)=EPSV1(5)
 117 :           EPSV00(1)=EPSV(1) 
 118 :           EPSV00(2)=EPSV(2) 
 119 :           EPSV00(3)=-1.*(EPSV00(1)+EPSV00(2))  
 120 :           EPSV00(4)=EPSV(3) 
 121 :           EPSV00(5)=EPSV(4)  
 122 :           EPSV00(6)=EPSV(5)  
 123 :        ELSE 
 124 :           NSTRS=NSTRS0 
 125 :           DO 01 I=1,NSTRS  
 126 :            EPSV0(I)=EPSV1(I)
 127 :            EPSV00(I)=EPSV(I) 
 128 :  01       CONTINUE  
 129 :        ENDIF   
 130 :        VAR1(1) = VAR(1) + TAU*VARPT(1)                                          
 131 :        VAR1(2) = VAR(2) + TAU*VARPT(2)                                          
 132 : C      Chargement cyclique ?                                                    
 133 :        IF (VAR(2).LT.VAR(5+NSTRS)) THEN                                         
 134 :           VAR1(3) = VAR(3) + TAU*VARPT(3)                                       
 135 :           VAR1(4) = VAR(4) + TAU*VARPT(4)                                       
 136 :        ELSE                                                                     
 137 :          DPN = VAR1(2)**AN - VAR(2)**AN                                         
 138 :          VAR1(3) = VAR(3) + DPN                                                 
 139 :          VAR1(4) = VAR(4) + DPN                                                 
 140 :        ENDIF                                                                    
 141 : C                                                                               
 142 : C------ MAJ DE VAR(4+1..NSTRS)                                                  
 143 : C         D X = XPM  * D P**XM + XPT * D T                                      
 144 : C         P1 = VAR(2)                                                           
 145 :        DPM = VAR1(2)**XM - VAR(2)**XM                                           
 146 :        DO 34 I=1,NSTRS,1                                                        
 147 :          VAR1(4+I) = VAR(4+I) + XPM(I)*DPM + VARPT(4+I)*TAU                     
 148 :   34   CONTINUE                                                                 
 149 : C                                                                               
 150 : C     CRITERE D'INVERSION : EXTREMUM D'UNE DES COMPOSANTES DU TENSEUR
 151 : C                           DES DEFORMATIONS VISCOPLASTIQUES
 152 : C
 152 :       CALL GIOCRT(EPSV0,EPSV00,NSTRS,VAR1,NVARI,IVTEST)
 153 : C                                                                          
 154 :        RETURN                                                            
 155 :        END
 156 : 
 157 :  
 158 :  
 159 :  
 160 : 
 161 : 
 162 :  
 163 :  
 164 :  

© Cast3M 2003 - All rights reserved.
Disclaimer