1 : C INCR11 SOURCE PV 11/03/07 21:16:53 6885 2 : SUBROUTINE INCR11(DT,SIG,EPSV,VAR,EPSVPT,VARPT,XMAT,NSTRS0, 3 : & NVARI,MFR) 4 : IMPLICIT INTEGER(I-N) 5 : IMPLICIT REAL*8(A-H,O-Z) 6 : -INC CCOPTIO 7 : DIMENSION SIG(*),EPSV(*),VAR(*),XMAT(*),EPSVPT(*),VARPT(*) 8 : DIMENSION SS(6),EPLU(6),EMIN(6),EPSCRP(6) 9 : DIMENSION SIG0(6),EPSV0(6),EPS0(6) 10 : C 11 : C ICI : le modele est obligatoirement CERAMIQUE 12 : C _________________________________________________________________ 13 : C 14 : C THIS ROUTINE CALCULATES INCREMENTAL STRAINS & INTERNAL VARIABLES 15 : C _________________________________________________________________ 16 : C 17 : C STEP-1 : EXTRACT EPLUS , EMINUS & EPSCRP 18 : C ---------------------------------------- 19 : IF (MFR.EQ.5) THEN 20 : NSTRS=6 21 : SIG0(1)=SIG(1) 22 : SIG0(2)=SIG(2) 23 : SIG0(3)=0.D0 24 : SIG0(4)=SIG(3) 25 : SIG0(5)=SIG(4) 26 : SIG0(6)=SIG(5) 27 : EPSV0(1)=EPSV(1) 28 : EPSV0(2)=EPSV(2) 29 : EPSV0(3)=0.D0 30 : EPSV0(4)=EPSV(3) 31 : EPSV0(5)=EPSV(4) 32 : EPSV0(6)=EPSV(5) 33 : ELSE 34 : NSTRS=NSTRS0 35 : DO 10 I=1,NSTRS 36 : SIG0(I)=SIG(I) 37 : EPSV0(I)=EPSV(I) 38 : 10 CONTINUE 39 : ENDIF 40 : C 41 : CCC IF ((IFOUR.EQ.2.AND.MFR.EQ.3).OR.IFOUR.EQ.-2) THEN 42 : CCC IBID = 11 43 : CCC ELSE IF(IFOUR.EQ.-3.OR.IFOUR.EQ.-1 44 : CCC 1 .OR.IFOUR.EQ.0) THEN 45 : CCC IBID = 14 46 : CCC ELSE IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN 47 : CCC IBID = 19 48 : CCC ENDIF 49 : CCC Eloi : correction de IBID 50 : CCC de plus : ici on a obligatoirement MFR different de 3 51 : IBID=NVARI-(2*NSTRS)-5 52 : C 53 : DO 20 I=1,NSTRS 54 : EPLU(I)=VAR(I+IBID) 55 : EMIN(I)=VAR(NSTRS+I+IBID) 56 : 20 CONTINUE 57 : EEFF = VAR(2*NSTRS+1+IBID) 58 : LL = nint(VAR(2*NSTRS+3+IBID)) 59 : C 60 : DO 30 I=1,NSTRS 61 : EPS0(I)=0.0D0 62 : EPSCRP(I)=EPSV0(I) 63 : 30 CONTINUE 64 : C 65 : DO 40 I=1,NVARI 66 : VARPT(I)=0.D0 67 : 40 CONTINUE 68 : C_____________________________________________________________________ 69 : C 70 : C STEP-2 : COMPUTATION OF SEQUV 71 : C ------------------------------ 72 : SIGM=0.333333333333333D0*(SIG0(1)+SIG0(2)+SIG0(3)) 73 : DO 50 I=1,NSTRS 74 : A=0.D0 75 : IF(I.LE.3) A=1.D0 76 : SS(I)=SIG0(I)-A*SIGM 77 : 50 CONTINUE 78 : SEQUV = PROCON(SS,SS,NSTRS) 79 : SEQUV = SQRT(1.5D0*SEQUV) 80 : C_____________________________________________________________________ 81 : C 82 : C STEP-3 : UPDATING INTERNAL VARIABLES 83 : C ------------------------------------ 83 : CALL UPVAR1(SIG0,EPSCRP,EPLU,EMIN,EEFF,EPSH,LL,NSTRS) 84 : DO 60 I=1,NSTRS 85 : VARPT( I+IBID)=EPLU(I) 86 : VARPT(NSTRS+I+IBID)=EMIN(I) 87 : 60 CONTINUE 88 : VARPT(2*NSTRS+1+IBID)=EEFF 89 : VARPT(2*NSTRS+2+IBID)=EPSH 90 : VARPT(2*NSTRS+3+IBID)=LL 91 : C_____________________________________________________________________ 92 : C 93 : C STEP-4 : COMPUTATION OF INELASTIC STRAIN RATE 94 : C --------------------------------------------- 95 : IF(SEQUV.NE.0.D0) THEN 96 : IF(MFR.EQ.1.AND.IFOMOD.EQ.2) THEN 97 : IBIDI = 15 98 : ELSE 99 : IBIDI = 10 100 : ENDIF 101 : IBID1 = IBIDI + 1 102 : IBID2 = IBIDI + 2 103 : IBID3 = IBIDI + 3 103 : CALL NORTON(SEQUV,EPSH,DT,XMAT(IBID1),XMAT(IBID2),XMAT(IBID3), 104 : & DECT) 105 : VARPT(1)=DECT 106 : VARPT(NVARI) = DECT 107 : CONS=1.5D0*DECT/SEQUV 108 : DO 70 I=1,NSTRS 109 : EPS0(I)=CONS*SS(I) 110 : 70 CONTINUE 111 : C 112 : C_______________________________________________________________________ 113 : ENDIF 114 : C 115 : IF (MFR.EQ.5) THEN 116 : EPSVPT(1)=EPS0(1) 117 : EPSVPT(2)=EPS0(2) 118 : EPSVPT(3)=EPS0(4) 119 : EPSVPT(4)=EPS0(5) 120 : EPSVPT(5)=EPS0(6) 121 : ELSE 122 : DO 80 I=1,NSTRS 123 : EPSVPT(I)=EPS0(I) 124 : 80 CONTINUE 125 : ENDIF 126 : C 127 : RETURN 128 : END 129 : 130 : 131 :
© Cast3M 2003 - All rights reserved.
Disclaimer