33
34
35
36#include "implicit_f.inc"
37
38
39
40
41
42
43 INTEGER, INTENT(IN) :: IINT
44 INTEGER NEL
46 . fhour(nel,3,4),jr0(*),js0(*),jt0(*) ,
47 . sigy(*) ,sig0(nel,6),svm1(*),svm2(*),nu(*)
48
49
50
51 INTEGER I, J,K,IKT
53 . s1,s2,s3,svm0,sr1,sr2,sr3,sr4,
54 . ss1,ss2,ss3,ss4,st1,st2,st3,st4,svmr,svms,svmt,
55 . svm,svmrst,coef,coef1, jr_1,js_1,jt_1,nu1,nu2,
56 . rs,st,rt,vt1(4),vt2(4),max1,min1,max2,min2,max0,min0
57
58 coef= threehundred24
59 coef1= onep333
60
61 ikt = iint
62 IF (ikt ==2) THEN
63 coef1= coef/(ten*ikt)
65 ELSEIF (ikt > 2) THEN
66 coef1= coef/(ten*ikt)
68 ENDIF
69 DO i=1,nel
70 svm1(i) = zero
71 svm2(i) = zero
72 IF (sigy(i)<zep9ep30) THEN
73 s1 =sig0(i,1)-sig0(i,2)
74 s2 =sig0(i,2)-sig0(i,3)
75 s3 =sig0(i,1)-sig0(i,3)
76 svm0 = (s1*s1+s2*s2+s3*s3)*half + three*(sig0(i,4)*sig0(i,4)
77 . +sig0(i,5)*sig0(i,5)+sig0(i,6)*sig0(i,6))
78 nu1 =one/(one - nu(i))
79 nu2 =nu(i)*nu1
80 jr_1 = one/
max(em20,jr0(i))
81 js_1 = one/
max(em20,js0(i))
82 jt_1 = one/
max(em20,jt0(i))
83 sr1 =nu1*fhour(i,1,3)+nu2*fhour(i,3,1)
84 sr2 =nu1*fhour(i,3,1)+nu2*fhour(i,1,3)
85 sr3 =fhour(i,1,3)-fhour(i,3,1)
86 sr4 =jt0(i)*jr_1*fhour(i,3,3)+jr0(i)*jt_1*fhour(i,1,1)
87 svmr = two*(sr1*sr1+sr2*sr2+sr3*sr3)+3*sr4*sr4
88 ss1 =fhour(i,1,2)-fhour(i,2,1)
89 ss2 =nu1*fhour(i,2,1)+nu2*fhour(i,1,2)
90 ss3 =nu1*fhour(i,1,2)+nu2*fhour(i,2,1)
91 ss4 =js0(i)*jr_1*fhour(i,2,2)+jr0(i)*js_1*fhour(i,1,1)
92 svms = two*(ss1*ss1+ss2*ss2+ss3*ss3) + three*ss4*ss4
93 st1 =nu1*fhour(i,2,3)+nu2*fhour(i,3,2)
94 st2 =fhour(i,2,3)-fhour(i,3,2)
95 st3 =nu1*fhour(i,3,2)+nu2*fhour(i,2,3)
96 st4 =js0(i)*jt_1*fhour(i,2,2)+jt0(i)*js_1*fhour(i,3,3)
97 svmt = two*(st1*st1+st2*st2+st3*st3) + three*st4*st4
98
99 rs =sr1*ss1
100 rt =sr1*st1
101 st =ss1*st1
102 vt2(1) = rs+rt+st
103 vt2(2) = rs-rt-st
104 vt2(3) = -rs+rt-st
105 vt2(4) = -rs-rt+st
106 max0 =
max(vt2(1),vt2(2),vt2(3),vt2(4))
107 min0 =
min(vt2(1),vt2(2),vt2(3),vt2(4))
108 rs =sr2*ss2
109 rt =sr2*st2
110 st =ss2*st2
111 vt2(1) = rs+rt+st
112 vt2(2) = rs-rt-st
113 vt2(3) = -rs+rt-st
114 vt2(4) = -rs-rt+st
115 max0 =max0+
max(vt2(1),vt2(2),vt2(3),vt2(4))
116 min0 =min0+
min(vt2(1),vt2(2),vt2(3),vt2(4))
117 rs =sr3*ss3
118 rt =sr3*st3
119 st =ss3*st3
120 vt2(1) = rs+rt+st
121 vt2(2) = rs-rt-st
122 vt2(3) = -rs+rt-st
123 vt2(4) = -rs-rt+st
124 max0 =max0+
max(vt2(1),vt2(2),vt2(3),vt2(4))
125 min0 =min0+
min(vt2(1),vt2(2),vt2(3),vt2(4))
126 svmrst = svm0+coef*(svmr+svms+svmt)
127 svm1(i) = sqrt(abs(svmrst+coef*max0))
128 svm2(i) = sqrt(
max(svmrst+coef*min0,zero))
129 svm2(i) =
min(svm2(i),svm0)
130 ENDIF
131 ENDDO
132
133 RETURN