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