Télécharger funk.eso

Retour à la liste

Numérotation des lignes :

funk
  1. C FUNK SOURCE CHAT 05/01/13 00:11:42 5004
  2. c*****************************************************************************
  3. c sous rouine utilisee dans l'ecoulement plastique de la loi
  4. c de GURSON
  5. c*********************************************************************
  6. subroutine funk(xi,f,wrkgur)
  7. c
  8. c this subroutine compute f for a given xi
  9. c
  10. c--- variables
  11. IMPLICIT INTEGER(I-N)
  12. IMPLICIT REAL*8 (A-H,O-Z)
  13. segment wrkgur
  14. real*8 sigbar, sy0,phi0,rho0,g,b,h
  15. real*8 epn,phin,sqrtj2,rho,sig(6)
  16. real*8 e(7),dt
  17. real*8 conv,tol1,tol2
  18. endsegment
  19. * common/prop/sigbar,sy0,phi0,rho0,g,b,h
  20. * common/state/epn,phin,sqrtj2,rho,sig(6)
  21. c e is the strain rate:
  22. c e(1-6) is the deviatoric part
  23. c e(7) is the trace/3
  24. c dt ist the time increment
  25. * common /delta/ e(7),dt
  26. * common /toler/ conv,tol1,tol2
  27. dimension s(6)
  28. c
  29. c--- executable
  30.  
  31. p=(1.d0-phi0)*b*(1.d0-rho0/rho)+
  32. & (1.d0-xi)*(1.d0-phi0)*b*3.d0*e(7)*dt
  33. syn=sy0+h*epn
  34. syp=abs(1.d0+phi0**2-2.d0*phi0*cosh(-1.5d0*p/sigbar))
  35. c
  36. c--- plastic strain increment
  37. if (syp .ge. tol1*tol1 ) then
  38. a=1.5d0*phi0*(1.d0-phi0)*sinh(-1.5d0*p/sigbar)/sqrt(syp)
  39. ratio=syn/(2.d0*h)
  40. dep=sqrt(ratio**2+abs((phi0-phin)*sigbar/a)/h)-ratio
  41. else
  42. dep=0.d0
  43. endif
  44. c
  45. c--- equivalent trial stress
  46. sum=0.d0
  47. do 10 i=1,6
  48. s(i)=sig(i)-2.d0*g*dt*(1.d0-xi)*e(i)
  49. sum=sum+s(i)**2
  50. if (i .gt. 3) then
  51. sum=sum+s(i)**2
  52. endif
  53. 10 continue
  54. seqtr=sqrt(1.5d0*sum)
  55. c
  56. f=(syn+h*dep)*sqrt(syp) + 3.d0*g*dep - seqtr
  57. f=f/sy0
  58. c
  59. return
  60. end
  61. c*******************************************************************************
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  

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