29
30
31
32#include "implicit_f.inc"
33
34
35
36#include "mvsiz_p.inc"
37
38
39
40 INTEGER G_PLA,NEL
41
42 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: defp
43 my_real ,
DIMENSION(NEL,6) ,
INTENT(IN) :: sig
44 my_real ,
DIMENSION(MVSIZ) ,
INTENT(IN) :: e0
45 my_real ,
DIMENSION(MVSIZ) ,
INTENT(OUT) :: fac
46
47
48
49 INTEGER I
50
52 . s1,s2,s3,sigy,deft,rfac,base,fmax
53
54 rfac = one/fifteen
55 fmax = zep995
56 IF (g_pla == 0) THEN
57 fac(1:nel)=zero
58 ELSE
59 DO i=1,nel
60 IF (defp(i) <= zero) THEN
61 fac(i)=zero
62 ELSE
63 s1 =sig(i,1)-sig(i,2)
64 s2 =sig(i,2)-sig(i,3)
65 s3 =sig(i,1)-sig(i,3)
66 sigy = (s1*s1+s2*s2+s3*s3)*half +three*(sig(i,4)*sig(i,4)
67 . +sig(i,5)*sig(i,5)+sig(i,6)*sig(i,6))
68 deft = sqrt(sigy)/e0(i)+defp(i)
69 base = defp(i)/deft
70 fac(i) =exp(rfac*log(base))
71 fac(i) =
min(fmax,fac(i))
72 ENDIF
73 ENDDO
74 ENDIF
75
76 RETURN