Download incrb4.eso

Back to the list

   1 : C INCRB4    SOURCE    CHAT      05/01/13    00:35:06     5004           
   2 : C INCRB4    SOURCE    AC2       96/01/19    21:29:40     1995           
   3 :        SUBROUTINE INCRB4(SIG,VAR,EPSVPT,VARPT,XMAT,ALFA,NSTRS0,               
   4 :      &                                          NVARI,NCOMAT)           
   5 :       IMPLICIT INTEGER(I-N)
   6 :        IMPLICIT REAL*8(A-H,O-Z)                                                 
   7 :        DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*)                       
   8 :        DIMENSION SM(4),SB(4),XXM1(4),XXB1(4),XXM2(4),XXB2(4)                    
   9 :        DIMENSION EPMM(4),EPBB(4),XXM(4),XXB(4)                  
  10 :        DIMENSION ANSM(4),ANSB(4),ANM(4),ANB(4)                                  
  11 :        DIMENSION EPS0(8)  
  12 :        PARAMETER (AMAX = 1.0E20)                                                
  13 :        DETIER=2.0D0/3.0D0                                                       
  14 :        ROOT=SQRT(1.5D0)                                                         
  15 : C-------------------------------------------------------------------|           
  16 : C STEP-1  SEPARATING MEMBRANE & BENDING PARTS                       |           
  17 : C-------------------------------------------------------------------I           
  18 :        NSTRS = NSTRS0+2 
  19 :        NS    = NSTRS/2                                                          
  20 :        SM(1)=SIG(1) 
  21 :        SM(2)=SIG(2)  
  22 :        SM(3)=0.0D0  
  23 :        IF (NS.EQ.4) SM(4)=SIG(3) 
  24 :        SB(1)=SIG(NS) 
  25 :        SB(2)=SIG(NS+1) 
  26 :        SB(3)=0.0D0 
  27 :        IF (NS.EQ.4) SB(4)=SIG(NS+2)  
  28 :        DO 20 I=1,NS                                                             
  29 :        XXM1(I) = DETIER * XMAT(9) * VAR(     I)                                                    
  30 :        XXM2(I) = DETIER * XMAT(12) * VAR(2*NS+I)                                                    
  31 :        XXB1(I) = DETIER * XMAT(9) * VAR(  NS+I)                                                    
  32 :        XXB2(I) = DETIER * XMAT(12) * VAR(3*NS+I)                                                    
  33 :        EPMM(I) = VAR(4*NS+I)                                                    
  34 :        EPBB(I) = VAR(5*NS+I)                                                    
  35 :    20  CONTINUE                                                                 
  36 : C-------------------------------------------------------------------|           
  37 : C STEP-2: EVALUATION OF J2 SIGMA - X                                |           
  38 : C-------------------------------------------------------------------I           
  39 :        XXM(1)= (2.D0*SM(1) -SM(2))/3.D0 -XXM1(1) -XXM2(1)                     
  40 :        XXM(2)= (2.D0*SM(2) -SM(1))/3.D0 -XXM1(2) -XXM2(2)                     
  41 :        XXM(3)= -1.D0*(SM(1)+SM(2))/3.D0 -XXM1(3) -XXM2(3) 
  42 :        XXM(4)=0.0D0 
  43 :        IF(NS.EQ.4) XXM(4)= SM(4) -XXM1(4) -XXM2(4)                         
  44 :        XXB(1)= (2.D0*SB(1) -SB(2))/3.D0 -XXB1(1) -XXB2(1)                     
  45 :        XXB(2)= (2.D0*SB(2) -SB(1))/3.D0 -XXB1(2) -XXB2(2)                     
  46 :        XXB(3)= -1.D0*(SB(1)+SB(2))/3.D0 -XXB1(3) -XXB2(3) 
  47 :        XXB(4)=0.0D0  
  48 :        IF(NS.EQ.4) XXB(4)= SB(4) -XXB1(4) -XXB2(4)                         
  49 :        T1 = PROCON(XXM,XXM,NS) 
  50 :        AJM2 = 3.0D0*T1/2.D0                                                
  51 :        T1 = PROCON(XXB,XXB,NS) 
  52 :        AJB2 = 3.0D0*T1/2.D0                                        
  53 :        AJ2  = SQRT( AJM2 + ALFA*ALFA*AJB2 )                                     
  54 : C--------------------------------------------------------------------|          
  55 : C STEP-3: CALCUL OF SIGV/K                                           |          
  56 : C -------------------------------------------------------------------I          
  57 :        RISOT = XMAT(17) -
  58 :      . ((XMAT(17) - XMAT(7)) * DEXP (-XMAT(18) * VAR(3*NSTRS+1)))
  59 :        SK = (AJ2 - RISOT)/ XMAT(8)                         
  60 : C--------------------------------------------------------------------|          
  61 : C STEP-4: CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P)    |          
  62 : C -------------------------------------------------------------------I          
  63 :        IF (SK.GT.0.0D0) THEN                                                    
  64 :          PPT1= XPUISS(SK,XMAT(6)  ,AMAX)                                          
  65 :          PPT2= XPUISS(SK,XMAT(6)+1,AMAX)                                          
  66 :        ELSE                                                                     
  67 :          PPT1= 0.0D0                                                              
  68 :          PPT2= 0.0D0                                                              
  69 :        ENDIF                                                                    
  70 :        T1  = XMAT(5)*PPT2                                                       
  71 :        PPT2=1.0D20                                                              
  72 :        IF(DABS(T1).LT.40.0D0) PPT2= DEXP(T1)                                    
  73 :        PPT = PPT1 * PPT2                                                        
  74 :        VARPT(3*NSTRS+1) = PPT                                                   
  75 : C---------------------------------------------------------------------|         
  76 : C*******  CALCULATION OF INELASTIC STRAIN INCREMENTS  (EPSV0)         |         
  77 : C---------------------------------------------------------------------I         
  78 :        IF(AJ2.EQ.0.0D0) AJ2=1.0D-20                                             
  79 :        T1      = 1.5D0*PPT/AJ2                                                
  80 :        EPS0(1) = T1*XXM(1)                                                    
  81 :        EPS0(2) = T1*XXM(2)                                                    
  82 :        EPS0(3) = T1*XXM(3)  
  83 :        IF(NS.EQ.4) EPS0(4)= T1*XXM(4)                                         
  84 :        EPS0(NS+1) = T1*XXB(1) *ALFA *ALFA                                     
  85 :        EPS0(NS+2) = T1*XXB(2) *ALFA *ALFA                                    
  86 :        EPS0(NS+3) = T1*XXB(3) *ALFA *ALFA  
  87 :        IF(NS.EQ.4) EPS0(NS+4)= T1*XXB(4) *ALFA*ALFA                            
  88 :        DO 30 I=1,NSTRS                                                          
  89 :          VARPT(2*NSTRS+I)=EPS0(I)                                               
  90 :  30    CONTINUE
  91 : C----------------------------------------------------------------|              
  92 : C ******* CALCULATION OF PI(P)                                   |              
  93 : C----------------------------------------------------------------I              
  94 :        P  = VAR(3*NSTRS+1)                                                      
  95 :        T1 = XMAT(14)*P                                                          
  96 :        T2 = DEXP(-T1)                                                           
  97 :        PIP= XMAT(11)+(1.0D0-XMAT(11)) * T2                                      
  98 : C----------------------------------------------------------------|              
  99 : C*******  CALCULATION OF XII                                     |              
 100 : C----------------------------------------------------------------I              
 101 :        T1=PROCON(XXM1,XXM1,NS)  
 102 :        T1=3.D0*T1/2.D0  
 103 :        T2=PROCON(XXB1,XXB1,NS)  
 104 :        T2=3.D0*T2/2.D0 
 105 : C
 106 :        X1II = SQRT(T1+ALFA*ALFA*T2)
 107 :        X1IISM = 0.0D0
 108 :        IF(XMAT(15).NE.0.D0)   X1IISM = X1II/XMAT(15)
 109 : C
 110 :        T1=PROCON(XXM2,XXM2,NS)  
 111 :        T1=3.D0*T1/2.D0 
 112 :        T2=PROCON(XXB2,XXB2,NS)  
 113 :        T2=3.D0*T2/2.D0 
 114 : C
 115 :        COX1 = 0.D0
 116 :        IF ((X1II.NE.0.D0).AND.(X1IISM.GT.0.D0))
 117 :      . COX1 = XPUISS(X1IISM,XMAT(16),AMAX)  / X1II                         
 118 : C ----------------------------------------------------------------|             
 119 : C*******  CALCULATION OF DX1 AND DX2                              |             
 120 : C-----------------------------------------------------------------I             
 121 :        DO 74 I=1,NSTRS                                                          
 122 :          T1  =  EPS0(I)                         
 123 :          T2  =  XMAT(10) * PIP *  VAR(I) * PPT                                    
 124 :          T3  =  XMAT(9) * COX1 *  VAR(I)                                                    
 125 :          VARPT(I)= T1 - T2 -T3                                                    
 126 :          T2  =  XMAT(13) * PIP *  VAR(NSTRS+I) * PPT                              
 127 :          VARPT(NSTRS+I)= T1 - T2                                              
 128 :   74   CONTINUE
 129 : C-----------------------------------------------------------------|             
 130 :        EPSVPT(1)=EPS0(1)  
 131 :        EPSVPT(2)=EPS0(2)  
 132 :        IF (NS.EQ.4) EPSVPT(3)=EPS0(4)  
 133 :        EPSVPT(NS)=EPS0(NS+1) 
 134 :        EPSVPT(NS+1)=EPS0(NS+2) 
 135 :        IF (NS.EQ.4) EPSVPT(6)=EPS0(8)  
 136 : C  
 137 :        RETURN                                                                   
 138 :        END                                                                      
 139 :  
 140 :  
 141 :  
 142 :  
 143 :  
 144 :  

© Cast3M 2003 - All rights reserved.
Disclaimer