Download incre1.eso

Back to the list

   1 : C INCRE1    SOURCE    PV        11/03/07    21:16:56     6885           
   2 :        SUBROUTINE  INCRE1(DT,SIG,EPSV,VAR,EPSVPT,VARPT,XMAT,NSTRS0,
   3 :      &                    NVARI,INPLAS,NCOMAT,MFR,PHI1,PHITAU,TTAU)             
   4 :       IMPLICIT INTEGER(I-N)
   5 :        IMPLICIT REAL*8(A-H,O-Z)                                                 
   6 :        DIMENSION SIG(*),EPSV(*),VAR(*),XMAT(*),EPSVPT(*),VARPT(*)               
   7 :        DIMENSION SS(6),EPLU(6),EMIN(6),EPSCRP(6)                                
   8 :        DIMENSION SIG0(6),EPSV0(6),EPS0(6),EPS0V(6)      
   9 : C _________________________________________________________________             
  10 : C                                                                               
  11 : C  THIS ROUTINE CALCULATES INCREMENTAL STRAINS & INTERNAL VARIABLES             
  12 : C _________________________________________________________________             
  13 : C                                                                               
  14 : C STEP-1 : EXTRACT EPLUS , EMINUS & EPSCRP                                      
  15 : C ----------------------------------------                                    
  16 :        IF (MFR.EQ.5) THEN 
  17 :          NSTRS=6   
  18 :          SIG0(1)=SIG(1) 
  19 :          SIG0(2)=SIG(2) 
  20 :          SIG0(3)=0.D0  
  21 :          SIG0(4)=SIG(3) 
  22 :          SIG0(5)=SIG(4) 
  23 :          SIG0(6)=SIG(5)  
  24 :          EPSV0(1)=EPSV(1)
  25 :          EPSV0(2)=EPSV(2)
  26 :          EPSV0(3)=0.D0
  27 :          EPSV0(4)=EPSV(3)
  28 :          EPSV0(5)=EPSV(4)
  29 :          EPSV0(6)=EPSV(5) 
  30 :        ELSE  
  31 :          NSTRS=NSTRS0  
  32 :          DO 10 I=1,NSTRS  
  33 :            SIG0(I)=SIG(I) 
  34 :            EPSV0(I)=EPSV(I) 
  35 :  10      CONTINUE  
  36 :        ENDIF  
  37 : C  
  38 :        IF((INPLAS.GE.19.AND.INPLAS.LE.23).OR.INPLAS.EQ.61) THEN       
  39 :          DO 20 I=1,NSTRS                                                          
  40 :            EPLU(I)=VAR(I)                                                           
  41 :            EMIN(I)=VAR(NSTRS+I)                                                     
  42 :  20      CONTINUE
  43 :          EEFF   =VAR(2*NSTRS+1)                                                   
  44 :          LL     =nint(VAR(2*NSTRS+3))
  45 :        ENDIF                                                                    
  46 :        IF(INPLAS.EQ.19.OR.INPLAS.EQ.21) THEN
  47 :          DO 30   I=1,NSTRS                                                        
  48 :            EPS0(I)=0.0D0                                                          
  49 :            EPSCRP(I)=EPSV0(I)                                                     
  50 :  30      CONTINUE
  51 :        ELSE IF(INPLAS.EQ.20.OR.INPLAS.EQ.22.OR.INPLAS.EQ.23.OR.
  52 :      &         INPLAS.EQ.61) THEN
  53 :          DO 40   I=1,NSTRS                                                        
  54 :            EPS0(I)=0.0D0                                                          
  55 :            EPSCRP(I)=VAR(2*NSTRS+4+I)                                               
  56 :  40      CONTINUE 
  57 :        ENDIF                                                                    
  58 :        DO 50 I=1,NVARI                                                          
  59 :          VARPT(I)=0.0D0                                                           
  60 :  50    CONTINUE 
  61 : C_____________________________________________________________________          
  62 : C                                                                               
  63 : C STEP-2 : COMPUTATION OF SEQUV                                                 
  64 : C ------------------------------                                                
  65 :        SIGM=0.333333333333333D0*(SIG0(1)+SIG0(2)+SIG0(3))                      
  66 :        DO 60 I=1,NSTRS                                                          
  67 :          A=0.0D0                                                          
  68 :          IF(I.LE.3) A=1.0D0                                                       
  69 :          SS(I)=SIG0(I)-A*SIGM                                                    
  70 :  60    CONTINUE                                                                 
  71 :        SEQUV =PROCON(SS,SS,NSTRS)                                              
  72 :        SEQUV =SQRT(1.5D0*SEQUV) 
  73 : C_____________________________________________________________________
  74 : C gatt :
  75 :        IF (INPLAS.EQ.107) THEN
  75 :          CALL GATT(DT,SEQUV,SIGM,SS,EPSV,VAR,XMAT,NSTRS,PHI1,PHITAU,
  76 :      &             TTAU,EPS0,VARPT)
  77 :          GOTO 1000
  78 :        ENDIF
  79 : C gatt.                                                
  80 : C_____________________________________________________________________          
  81 : C                                                                               
  82 : C STEP-3 : UPDATING INTERNAL VARIABLES                                          
  83 : C ------------------------------------                                          
  84 :        IF((INPLAS.GE.19.AND.INPLAS.LE.23).OR.INPLAS.EQ.61) THEN        
  84 :          CALL UPVAR1(SIG0,EPSCRP,EPLU,EMIN,EEFF,EPSH,LL,NSTRS)                   
  85 :          DO 90 I=1,NSTRS                                                          
  86 :            VARPT(      I)=EPLU(I)                                                   
  87 :            VARPT(NSTRS+I)=EMIN(I)                                                   
  88 :  90      CONTINUE                                                                 
  89 :          VARPT(2*NSTRS+1)=EEFF                                                    
  90 :          VARPT(2*NSTRS+2)=EPSH                                                    
  91 :          VARPT(2*NSTRS+3)=LL                                                      
  92 :        ENDIF                          
  93 : C_____________________________________________________________________          
  94 : C                                                                               
  95 : C STEP-4 : COMPUTATION OF INELASTIC STRAIN RATE                                 
  96 : C ---------------------------------------------                                 
  97 :        IF(SEQUV.LE.1.D-10) GO TO 1000                                             
  98 :        IF(INPLAS.EQ.19) THEN                                                    
  98 :          CALL NORTON(SEQUV,EPSH,DT,XMAT(6),XMAT(7),XMAT(8),DECT)
  99 :          VARPT(2*NSTRS+4)=DECT
 100 :        ELSE IF(INPLAS.EQ.21) THEN
 101 :          DECT=XMAT(6)+XMAT(7)*(SEQUV**XMAT(8))+
 102 :      .                XMAT(9)*(SEQUV**XMAT(10)) +
 103 :      .                XMAT(11)*(SEQUV**XMAT(12))
 104 :          VARPT(2*NSTRS+4)=DECT
 105 :        ELSE IF(INPLAS.EQ.20.OR.INPLAS.EQ.22.OR.
 106 :      .         INPLAS.EQ.23.OR.INPLAS.EQ.61) THEN
 106 :          CALL SOLUTN(INPLAS,SEQUV,EPSH,XMAT,DT,TIME)                              
 106 :          CALL EQUATN(INPLAS,SEQUV,TIME,DT,XMAT,DECP,DECS)                         
 107 :          DECT=DECP+DECS                                                           
 108 :          CONS=1.5D0*DECP/SEQUV                                                    
 109 :          DO 100 I=1,NSTRS                                                          
 110 :            VARPT(2*NSTRS+4+I)=CONS*SS(I)                                            
 111 : 100      CONTINUE
 112 :          VARPT(2*NSTRS+4)=DECT                                                  
 113 :        ELSE IF(INPLAS.EQ.24) THEN                                               
 113 :          CALL LEMAIT(SEQUV,VAR(1),DX,DT,XMAT,DECT)                                
 114 :          VARPT(1)=DX                                                              
 115 :          VARPT(2)=DECT                                                            
 116 :        ENDIF                                                                    
 117 :        CONS=1.5D0*DECT/SEQUV                                                    
 118 :        DO 110 I=1,NSTRS                                                          
 119 :          EPS0(I)=CONS*SS(I)                                                     
 120 : 110    CONTINUE
 121 : C                                                                               
 122 : C_______________________________________________________________________        
 123 : 1000   CONTINUE  
 124 : C  
 125 :        IF (MFR.EQ.5) THEN  
 126 :          EPSVPT(1)=EPS0(1)  
 127 :          EPSVPT(2)=EPS0(2) 
 128 :          EPSVPT(3)=EPS0(4) 
 129 :          EPSVPT(4)=EPS0(5) 
 130 :          EPSVPT(5)=EPS0(6) 
 131 :        ELSE 
 132 :          DO 120 I=1,NSTRS 
 133 :            EPSVPT(I)=EPS0(I) 
 134 : 120      CONTINUE 
 135 :        ENDIF   
 136 : C        
 137 :        RETURN                                      
 138 :        END                                                                      
 139 :  
 140 :  
 141 :  
 142 :  
 143 :  
 144 :  
 145 :  
 146 :  
 147 :  
 148 :  

© Cast3M 2003 - All rights reserved.
Disclaimer