1 : C ADVAN2 SOURCE CHAT 05/01/12 21:18:46 5004 2 : C ADVAN2 SOURCE PCP 90/01/12 11:07:40 3 : C---------------------------------------------------------------- 4 : SUBROUTINE ADVAN2(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1, 5 : & SIGPT,EPSVPT,VARPT,XMAT, 6 : & NSTRS,NVARI,IFOUR,INPLAS,NCOMAT ) 7 : C ----------------------------------------------------------------- 8 : IMPLICIT INTEGER(I-N) 9 : IMPLICIT REAL*8(A-H,O-Z) 10 : DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*) 11 : DIMENSION SIGPT(*),EPSVPT(*),VARPT(*),XMAT(*) 12 : C---------------------------------------------------------------- 13 : C THIS ROUTINE CALCULATES THE LATEST VALUES OF SIG,EPSV,VAR, 14 : C FROM THE INITIAL VALUES OF SIG,EPSV,VAR AND DERIVATIVES : 15 : C SIGPT,EPSVPT,VARPT 16 : C---------------------------------------------------------------- 17 : T1 = XMAT(1)/(1.0-XMAT(2)*XMAT(2)) 18 : T2 = T1 * XMAT(2) 19 : T3 = XMAT(1)/(1.0+XMAT(2)) 20 : NS = NSTRS/2 21 : C________________________________________________________________ 22 : C STRESS COMPONENTS 23 : C________________________________________________________________ 24 : IF(NS.EQ.2) THEN 25 : SIG1(1) = SIG(1) + TAU*(SIGPT(1)- T1*EPSVPT(1)-T2*EPSVPT(2)) 26 : SIG1(2) = SIG(2) + TAU*(SIGPT(2)- T1*EPSVPT(2)-T2*EPSVPT(1)) 27 : SIG1(3) = SIG(3) + TAU*(SIGPT(3)- T1*EPSVPT(3)-T2*EPSVPT(4)) 28 : SIG1(4) = SIG(4) + TAU*(SIGPT(4)- T1*EPSVPT(4)-T2*EPSVPT(3)) 29 : IF(IFOUR.EQ.-2) THEN 30 : SIG1(2)=0.0D0 31 : SIG1(4)=0.0D0 32 : ENDIF 33 : ELSE 34 : SIG1(1) = SIG(1) + TAU*(SIGPT(1)- T1*EPSVPT(1)-T2*EPSVPT(2)) 35 : SIG1(2) = SIG(2) + TAU*(SIGPT(2)- T1*EPSVPT(2)-T2*EPSVPT(1)) 36 : SIG1(3) = SIG(3) + TAU*(SIGPT(3)- T3*EPSVPT(3)) 37 : SIG1(4) = SIG(4) + TAU*(SIGPT(4)- T1*EPSVPT(4)-T2*EPSVPT(5)) 38 : SIG1(5) = SIG(5) + TAU*(SIGPT(5)- T1*EPSVPT(5)-T2*EPSVPT(4)) 39 : SIG1(6) = SIG(6) + TAU*(SIGPT(6)- T3*EPSVPT(6)) 40 : IF(IFOUR.EQ.-2) THEN 41 : SIG1(2)=0.0D0 42 : SIG1(5)=0.0D0 43 : ENDIF 44 : ENDIF 45 : C 46 : C________________________________________________________________ 47 : C STRAIN COMPONENTS 48 : C________________________________________________________________ 49 : DO 20 I =1,NSTRS 50 : EPSV1(I) = EPSV(I) + TAU*EPSVPT(I) 51 : 20 CONTINUE 52 : C 53 : C________________________________________________________________ 54 : C INTERNAL VARIABLES 55 : C________________________________________________________________ 56 : IF((INPLAS.GE.19.AND.INPLAS.LE.23).OR.INPLAS.EQ.61) THEN 57 : DO 30 I=1,2*NSTRS+3 58 : VAR1(I)=VARPT(I) 59 : 30 CONTINUE 60 : DO 40 I=2*NSTRS+4,NVARI 61 : VAR1(I)=VAR(I)+TAU*VARPT(I) 62 : 40 CONTINUE 63 : ELSE IF(INPLAS.EQ.24.OR.INPLAS.EQ.25.OR.INPLAS.EQ.53 64 : . .OR.INPLAS.EQ.76.OR.INPLAS.EQ.77) THEN 65 : DO 50 I=1,NVARI 66 : VAR1(I)=VAR(I)+TAU*VARPT(I) 67 : 50 CONTINUE 68 : ENDIF 69 : RETURN 70 : END 71 : 72 : 73 : 74 : 75 :
© Cast3M 2003 - All rights reserved.
Disclaimer