solutn
C SOLUTN SOURCE FD218221 19/12/04 21:15:34 10398 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION XMAT(*) IF(INPLAS.EQ.20.OR.INPLAS.EQ.61) THEN F1 = XMAT(6)*EXP(XMAT(7)*SIG) F2 = XMAT(8)*SIG**XMAT(9) FS = F1 + F2 R1 = XMAT(10)*EXP(XMAT(11)*SIG) R2 = XMAT(12)*SIG**XMAT(13) RS = R1 + R2 CONS = (1.0D0-EPSC/FS) IF(CONS.GT.0.0D0) THEN X =-LOG(CONS)/RS RETURN ELSE X = 1.0D20 RETURN ENDIF ELSE IF(INPLAS.EQ.22) THEN X = (EPSC/XMAT(6)/SIG**XMAT(8))**(1.0D0/XMAT(7)) RETURN ELSE IF(INPLAS.EQ.23) THEN CON1 = XMAT(7)*SIG/XMAT(8) EPSM = XMAT(6)*(0.5D0*(EXP(CON1)-EXP(-CON1)))**XMAT(8) CON2 = XMAT(10)*SIG/XMAT(11) R = XMAT(9)*(0.5D0*(EXP(CON2)-EXP(-CON2)))**XMAT(11) EPST = XMAT(12)*EPSM/R S = XMAT(13)/XMAT(9)*R EPSX = 0.0D0 IF(SIG.GT.XMAT(16)) EPSX= XMAT(14)+XMAT(15)*SIG CON1 = EPST+EPSX-EPSC IF(CON1.GT.0.0D0) GOTO 7 X=1.0D20 RETURN ENDIF 7 XO = 0.0D0 NIT=0 2 CONTINUE F1 = CON1-EPST*EXP(-R*XO)-EPSX*EXP(-S*XO) F2 = EPST*R*EXP(-R*XO)+EPSX*S*EXP(-S*XO) IF(ABS(F2).LT.1.0D-10) GOTO 5 XN = XO - F1/F2 IF(XN.LT.1.0D-10) THEN XO = 0.0 GOTO 5 ENDIF DE = ABS(XN) IF(DE.EQ.0.0D0) DE=1.0 ERR= ABS(XN-XO)/DE IF(ERR.LT.1.0D-4) GOTO 5 NIT= NIT+1 XO = XN IF(NIT.LT.200) GOTO 2 WRITE(*,6) 6 FORMAT(5X,'** NON-CONVERGENCY IN SOLUTION OF CREEP EQUATION**') STOP 5 X=XO RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales