Download incre3.eso

Back to the list

   1 : C INCRE3    SOURCE    PV        11/03/07    21:16:57     6885           
   2 : C______________________________________________________________________         
   3 :        SUBROUTINE INCRE3(DT,SIG,EPSV,VAR,XMAT,EPSVPT,VARPT,ALFA,                
   4 :      &                   NSTRS0,NVARI,INPLAS,NCOMAT)                           
   5 :       IMPLICIT INTEGER(I-N)
   6 :        IMPLICIT REAL*8(A-H,O-Z)                                                 
   7 :        DIMENSION SIG(*),EPSV(*),VAR(*),XMAT(*),EPSVPT(*),VARPT(*)               
   8 :        DIMENSION SM(4),SB(4),EM(4),EB(4),EPLU(8),EMIN(8),EPSCRP(8)              
   9 : C______________________________________________________________________         
  10 : C                                                                               
  11 : C    THIS ROUTINE COMPUTES INCREMENTAL STRAIN AND INTERNAL  VARIABLES           
  12 : C______________________________________________________________________         
  13 : C                                                                               
  14 : C  STEP-1 : SEPERATE OUT MEMBRANE AND BENDING CONTRIBUTIONS                     
  15 : C  ---------------------------------------------------------                    
  16 :        NSTRS=NSTRS0+2 
  17 :        NS  = NSTRS/2                                                            
  18 :        SM(1)=SIG(1) 
  19 :        SM(2)=SIG(2) 
  20 :        SM(3)=0.D0  
  21 :        SM(4)=0.D0 
  22 :        IF (NS.EQ.4) SM(4)=SIG(3)  
  23 :        SB(1)=SIG(NS) 
  24 :        SB(2)=SIG(NS+1) 
  25 :        SB(3)=0.D0 
  26 :        SB(4)=0.D0 
  27 :        IF (NS.EQ.4) SB(4)=SIG(NS+2) 
  28 :        EM(1)=EPSV(1) 
  29 :        EM(2)=EPSV(2) 
  30 :        EM(3)=-1.D0*(EM(1)+EM(2))       
  31 :        EM(4)=0.D0  
  32 :        IF (NS.EQ.4) EM(4)=EPSV(3) 
  33 :        EB(1)=EPSV(NS) 
  34 :        EB(2)=EPSV(NS+1) 
  35 :        EB(3)=-1.D0*(EB(1)+EB(2))      
  36 :        EB(4)=0.D0  
  37 :        IF (NS.EQ.4) EB(4)=EPSV(NS+2)  
  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 :        EPSH    = VAR (2*NSTRS+2)                                                
  45 :        LL      = nint(VAR (2*NSTRS+3))
  46 :        ENDIF                                                                    
  47 :        IF(INPLAS.EQ.19.OR.INPLAS.EQ.21) THEN                                                    
  48 :        DO 30 I=1,NS                                                          
  49 :   30   EPSCRP(I)= EM(I)                                                       
  50 :        DO 31 I=1,NS
  51 :   31   EPSCRP(NS+I)= EB(I) 
  52 :        DO 32 I=1,NSTRS0 
  53 :        EPSVPT(I)=0.D0 
  54 :   32   CONTINUE 
  55 :        ELSE IF(INPLAS.EQ.20.OR.INPLAS.EQ.22.OR.INPLAS.EQ.23.OR.
  56 :      &         INPLAS.EQ.61) THEN
  57 :        DO 40 I=1,NSTRS                                                          
  58 :   40   EPSCRP(I)=VAR(2*NSTRS+4+I)                                               
  59 :        DO 41 I=1,NSTRS0 
  60 :   41   EPSVPT(I)=0.D0 
  61 :        ENDIF                                                                    
  62 :        DO 50 I=1,NVARI                                                          
  63 :   50   VARPT(I)=0.0D0                                                           
  64 : C                                                                               
  65 : C  -------------------------------------------------------------                
  66 : C                                                                               
  67 : C  STEP-2 : COMPUTATION OF SMEMB,SBEND AND SEQUV                                
  68 : C  ---------------------------------------------                                
  69 :        FMEMB=SM(1)*SM(1)+SM(2)*SM(2)-SM(1)*SM(2)                              
  70 :        FBEND=SB(1)*SB(1)+SB(2)*SB(2)-SB(1)*SB(2)                              
  71 :        IF(NS.EQ.4) THEN                                                      
  72 :        FMEMB=FMEMB+3.0*SM(4)*SM(4)                                            
  73 :        FBEND=FBEND+3.0*SB(4)*SB(4)                                            
  74 :        ENDIF                                                                  
  75 :        SEQUV=SQRT(FMEMB+ALFA*ALFA*FBEND)                                        
  76 : C  -------------------------------------------------------------                
  77 : C                                                                               
  78 : C  STEP-3 : COMPUTATION OF INCREMENTS OF INTERNAL VARIABLES                     
  79 : C  ---------------------------------------------------------                    
  80 :        ALF1 = 1.0D0                                                             
  81 :        ALF2 = 1.0D0/ALFA/ALFA                                                   
  82 :        IF((INPLAS.GE.19.AND.INPLAS.LE.23).OR.INPLAS.EQ.61) THEN           
  82 :        CALL UPVAR2(SM,SB,EPSCRP,EPLU,EMIN,EEFF,EPSH,LL,ALF1,ALF2,NSTRS)        
  83 :        DO 60 I  = 1,NSTRS                                                       
  84 :        VARPT (      I)   =  EPLU(I)                                             
  85 :        VARPT (NSTRS+I)   =  EMIN(I)                                             
  86 :    60  CONTINUE                                                                 
  87 :        VARPT (2*NSTRS+1) =  EEFF                                                
  88 :        VARPT (2*NSTRS+2) =  EPSH                                                
  89 :        VARPT (2*NSTRS+3) =  LL                                                  
  90 :        ENDIF                                                                    
  91 : C  -------------------------------------------------------------                
  92 : C                                                                               
  93 : C  STEP-4 : COMPUTATION OF INCREMENTS OF INELASTIC STRAINS                      
  94 : C  -------------------------------------------------------                      
  95 :        DECT = 0.0D0                                                             
  96 :        IF(SEQUV.EQ.0.0D0) GO TO 100                                             
  97 :        IF(INPLAS.EQ.19.OR.INPLAS.EQ.21) THEN
  98 :        IF(INPLAS.EQ.19)
  98 :      .    CALL NORTON(SEQUV,EPSH,DT,XMAT(6),XMAT(7),XMAT(8),DECT)
  99 :        IF(INPLAS.EQ.21)
 100 :      .    DECT=XMAT(6)+XMAT(7)*(SEQUV**XMAT(8))+
 101 :      .                XMAT(9)*(SEQUV**XMAT(10)) +
 102 :      .                XMAT(11)*(SEQUV**XMAT(12))
 103 :        VARPT(2*NSTRS+4)=DECT                                                    
 104 :        CONS     = DECT/SEQUV                                                    
 105 :        IF(NS.EQ.3) THEN                                                         
 106 :        EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2))                                    
 107 :        EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1))                                    
 108 :        EPSVPT(3)= CONS*(SIG(3)-0.5D0*SIG(4)) * ALFA * ALFA                      
 109 :        EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(3)) * ALFA * ALFA                      
 110 :        ELSE                                                                     
 111 :        EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2))                                    
 112 :        EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1))                                    
 113 :        EPSVPT(3)= 1.5D0*CONS*SIG(3)                                             
 114 :        EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(5)) * ALFA * ALFA                      
 115 :        EPSVPT(5)= CONS*(SIG(5)-0.5D0*SIG(4)) * ALFA * ALFA                      
 116 :        EPSVPT(6)= 1.5D0*CONS*SIG(6) * ALFA * ALFA                               
 117 :        ENDIF                                                                    
 118 :        ELSE IF(INPLAS.EQ.20.OR.INPLAS.EQ.22.OR.
 119 :      .         INPLAS.EQ.23.OR.INPLAS.EQ.61)  THEN
 119 :        CALL SOLUTN(INPLAS,SEQUV,EPSH,XMAT,DT,TIME)                              
 119 :        CALL EQUATN(INPLAS,SEQUV,TIME,DT,XMAT,DECP,DECS)                         
 120 :        DECT     = DECP + DECS                                                   
 121 :        VARPT(2*NSTRS+4)=DECT                                                    
 122 :        CONS1    = DECT/SEQUV                                                    
 123 :        CONS2    = DECP/SEQUV                                                    
 124 :        IF(NS.EQ.3) THEN                                                         
 125 :        EPSVPT(1)= CONS1*(SIG(1)-0.5D0*SIG(2))                                   
 126 :        EPSVPT(2)= CONS1*(SIG(2)-0.5D0*SIG(1))                                   
 127 :        EPSVPT(3)= CONS1*(SIG(3)-0.5D0*SIG(4)) * ALFA * ALFA                     
 128 :        EPSVPT(4)= CONS1*(SIG(4)-0.5D0*SIG(3)) * ALFA * ALFA                     
 129 :        VARPT(2*NSTRS+5)= CONS2*(SIG(1)-0.5D0*SIG(2))                            
 130 :        VARPT(2*NSTRS+6)= CONS2*(SIG(2)-0.5D0*SIG(1))                            
 131 :        VARPT(2*NSTRS+7)= -1.D0*CONS2*(SIG(1)+SIG(2))*.5D0 
 132 :        VARPT(2*NSTRS+8)= CONS2*(SIG(3)-0.5D0*SIG(4)) * ALFA * ALFA             
 133 :        VARPT(2*NSTRS+9)= CONS2*(SIG(4)-0.5D0*SIG(3)) * ALFA * ALFA             
 134 :        VARPT(2*NSTRS+7)= -1.D0*CONS2*(SIG(3)+SIG(4))*.5D0
 135 :        ELSE                                                                     
 136 :        EPSVPT(1)= CONS1*(SIG(1)-0.5D0*SIG(2))                                   
 137 :        EPSVPT(2)= CONS1*(SIG(2)-0.5D0*SIG(1))                                   
 138 :        EPSVPT(3)= CONS1*SIG(3) * 1.5D0                                          
 139 :        EPSVPT(4)= CONS1*(SIG(4)-0.5D0*SIG(5)) * ALFA * ALFA                     
 140 :        EPSVPT(5)= CONS1*(SIG(5)-0.5D0*SIG(4)) * ALFA * ALFA                     
 141 :        EPSVPT(6)= CONS1*SIG(6) * ALFA * ALFA  * 1.5D0                           
 142 :        VARPT(2*NSTRS+5)= CONS2*(SIG(1)-0.5D0*SIG(2))                            
 143 :        VARPT(2*NSTRS+6)= CONS2*(SIG(2)-0.5D0*SIG(1))                 
 144 :        VARPT(2*NSTRS+7)= -1.D0*CONS2*(SIG(1)+SIG(2))*.5D0 
 145 :        VARPT(2*NSTRS+8)= CONS2*SIG(3) * 1.5D0               
 146 :        VARPT(2*NSTRS+9)= CONS2*(SIG(4)-0.5D0*SIG(5)) * ALFA * ALFA  
 147 :        VARPT(2*NSTRS+10)= CONS2*(SIG(5)-0.5D0*SIG(4)) * ALFA * ALFA 
 148 :        VARPT(2*NSTRS+11)= -1.D0*CONS2*(SIG(1)+SIG(2))*.5D0 
 149 :        VARPT(2*NSTRS+12)= CONS2*SIG(6) * ALFA * ALFA * 1.5D0    
 150 :        ENDIF                                                                    
 151 :        ELSE IF(INPLAS.EQ.24) THEN                                               
 151 :        CALL LEMAIT(SEQUV,VAR(1),DX,DT,XMAT,DECT)                                
 152 :        VARPT(1) =DX                                                             
 153 :        VARPT(2) =DECT                                                           
 154 :        CONS     =DECT/SEQUV                                                     
 155 :        IF(NS.EQ.2) THEN                                                         
 156 :        EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2))                                    
 157 :        EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1))                                    
 158 :        EPSVPT(3)= CONS*(SIG(3)-0.5D0*SIG(4)) * ALFA * ALFA                      
 159 :        EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(3)) * ALFA * ALFA                      
 160 :        ELSE                                                                     
 161 :        EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2))                                    
 162 :        EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1))                                    
 163 :        EPSVPT(3)= CONS*SIG(3)*1.5D0                                             
 164 :        EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(5)) * ALFA * ALFA                      
 165 :        EPSVPT(5)= CONS*(SIG(5)-0.5D0*SIG(4)) * ALFA * ALFA                      
 166 :        EPSVPT(6)= CONS*SIG(6) * ALFA * ALFA  * 1.5D0                            
 167 :        ENDIF                                                                    
 168 :        ENDIF                                                                    
 169 : C                                                                               
 170 :   100  RETURN                                                                   
 171 :        END                                                                      
 172 :  
 173 :  
 174 :  
 175 :  
 176 :  

© Cast3M 2003 - All rights reserved.
Disclaimer