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