Télécharger func.eso

Retour à la liste

Numérotation des lignes :

  1. C FUNC SOURCE CHAT 05/01/13 00:11:36 5004
  2. c*****************************************************************************
  3. c sous rouine utilisee dans l'ecoulement plastique de la loi
  4. c de GURSON
  5. c**********************************************************************
  6. subroutine func(f,q,wrkgur)
  7. c this subroutine compute the value of the function
  8. c which zero is the increment of phi
  9. c
  10. c--- variables
  11. IMPLICIT INTEGER(I-N)
  12. IMPLICIT REAL*8 (A-H,O-Z)
  13.  
  14. segment wrkgur
  15. real*8 sigbar, sy0,phi0,rho0,g,b,h
  16. real*8 epn,phin,sqrtj2,rho,sig(6)
  17. real*8 e(7),dt
  18. real*8 conv,tol1,tol2
  19. endsegment
  20.  
  21. * common/prop/sigbar,sy0,phi0,rho0,g,b,h
  22. * common/state/epn,phin,sqrtj2,rho,sig(6)
  23. c
  24. * common /toler/ conv,tol1,tol2
  25. c
  26. c*** evaluate function -- q is dphi
  27. phi=phin+q
  28. syn=sy0+h*epn
  29. p=(1.d0-phi)*b*(1.d0-(1.d0-phi)*rho0/((1.d0-phi0)*rho))
  30. syp=abs(1.d0+phi**2-2.d0*phi*cosh(-1.5d0*p/sigbar))
  31. c
  32. if (syp .ge. tol1*tol1 ) then
  33. a=1.5d0*phi*(1.d0-phi)*sinh(-1.5d0*p/sigbar)/sqrt(syp)
  34. c
  35. if ( abs(a) .le. (1.d-2 * tol2) ) then
  36. c this is not consistent but this speeds up the convergence
  37. dep=(sqrtj2-syn*(1-phi))/(3*g+h*(1-phi))
  38. else
  39. ratio=syn/(2.d0*h)
  40. dep=sqrt(ratio**2+abs(q/a)*sigbar/h)-ratio
  41. endif
  42. c
  43. else
  44. dep=0.d0
  45. endif
  46. c
  47. syn1p=(syn+h*dep)*sqrt(syp)
  48. f=syn1p+3.d0*g*dep-sqrtj2
  49. f=f/sy0
  50. c
  51. return
  52. end
  53. c*****************************************************************************
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  

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