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 :
© Cast3M 2003 - All rights reserved.
Disclaimer