Télécharger solutn.eso

Retour à la liste

Numérotation des lignes :

solutn
  1. C SOLUTN SOURCE FD218221 19/12/04 21:15:34 10398
  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)*EXP(XMAT(7)*SIG)
  8. F2 = XMAT(8)*SIG**XMAT(9)
  9. FS = F1 + F2
  10. R1 = XMAT(10)*EXP(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 =-LOG(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*(EXP(CON1)-EXP(-CON1)))**XMAT(8)
  27. CON2 = XMAT(10)*SIG/XMAT(11)
  28. R = XMAT(9)*(0.5D0*(EXP(CON2)-EXP(-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) GOTO 7
  35. X=1.0D20
  36. RETURN
  37. ENDIF
  38. 7 XO = 0.0D0
  39. NIT=0
  40. 2 CONTINUE
  41. F1 = CON1-EPST*EXP(-R*XO)-EPSX*EXP(-S*XO)
  42. F2 = EPST*R*EXP(-R*XO)+EPSX*S*EXP(-S*XO)
  43. IF(ABS(F2).LT.1.0D-10) GOTO 5
  44. XN = XO - F1/F2
  45. IF(XN.LT.1.0D-10) THEN
  46. XO = 0.0
  47. GOTO 5
  48. ENDIF
  49. DE = ABS(XN)
  50. IF(DE.EQ.0.0D0) DE=1.0
  51. ERR= ABS(XN-XO)/DE
  52. IF(ERR.LT.1.0D-4) GOTO 5
  53. NIT= NIT+1
  54. XO = XN
  55. IF(NIT.LT.200) GOTO 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.  
  64.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales