1 : C SOLUTN SOURCE CHAT 05/01/13 03:21:51 5004 2 : SUBROUTINE SOLUTN(INPLAS,SIG,EPSC,XMAT,DX,X) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : DIMENSION XMAT(*) 6 : IF(INPLAS.EQ.20.OR.INPLAS.EQ.61) THEN 7 : F1 = XMAT(6)*DEXP(XMAT(7)*SIG) 8 : F2 = XMAT(8)*SIG**XMAT(9) 9 : FS = F1 + F2 10 : R1 = XMAT(10)*DEXP(XMAT(11)*SIG) 11 : R2 = XMAT(12)*SIG**XMAT(13) 12 : RS = R1 + R2 13 : CONS = (1.0D0-EPSC/FS) 14 : IF(CONS.GT.0.0D0) THEN 15 : X =-DLOG(CONS)/RS 16 : RETURN 17 : ELSE 18 : X = 1.0D20 19 : RETURN 20 : ENDIF 21 : ELSE IF(INPLAS.EQ.22) THEN 22 : X = (EPSC/XMAT(6)/SIG**XMAT(8))**(1.0D0/XMAT(7)) 23 : RETURN 24 : ELSE IF(INPLAS.EQ.23) THEN 25 : CON1 = XMAT(7)*SIG/XMAT(8) 26 : EPSM = XMAT(6)*(0.5D0*(DEXP(CON1)-DEXP(-CON1)))**XMAT(8) 27 : CON2 = XMAT(10)*SIG/XMAT(11) 28 : R = XMAT(9)*(0.5D0*(DEXP(CON2)-DEXP(-CON2)))**XMAT(11) 29 : EPST = XMAT(12)*EPSM/R 30 : S = XMAT(13)/XMAT(9)*R 31 : EPSX = 0.0D0 32 : IF(SIG.GT.XMAT(16)) EPSX= XMAT(14)+XMAT(15)*SIG 33 : CON1 = EPST+EPSX-EPSC 34 : IF(CON1.GT.0.0D0) GO TO 7 35 : X=1.0D20 36 : RETURN 37 : ENDIF 38 : 7 XO = 0.0D0 39 : NIT=0 40 : 2 CONTINUE 41 : F1 = CON1-EPST*DEXP(-R*XO)-EPSX*DEXP(-S*XO) 42 : F2 = EPST*R*DEXP(-R*XO)+EPSX*S*DEXP(-S*XO) 43 : IF(DABS(F2).LT.1.0D-10) GO TO 5 44 : XN = XO - F1/F2 45 : IF(XN.LT.1.0D-10) THEN 46 : XO = 0.0 47 : GO TO 5 48 : ENDIF 49 : DE = DABS(XN) 50 : IF(DE.EQ.0.0D0) DE=1.0 51 : ERR= DABS(XN-XO)/DE 52 : IF(ERR.LT.1.0D-4) GO TO 5 53 : NIT= NIT+1 54 : XO = XN 55 : IF(NIT.LT.200) GO TO 2 56 : WRITE(*,6) 57 : 6 FORMAT(5X,'** NON-CONVERGENCY IN SOLUTION OF CREEP EQUATION**') 58 : STOP 59 : 5 X=XO 60 : RETURN 61 : END 62 : 63 :
© Cast3M 2003 - All rights reserved.
Disclaimer