39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50#include "com01_c.inc"
51
52
53
54 INTEGER, INTENT(IN) :: JHBE
55 INTEGER, INTENT(IN) :: JCVT
56 INTEGER ICP,NEL
57
59 . sig(nel,6),ay(*),fay(*),faz(*),
60 . py1(*),py2(*),py3(*),py4(*),
61 . pz1(*),pz2(*),pz3(*),pz4(*),
62 . byz1(*),byz2(*),byz3(*),byz4(*),
63 . bzy1(*),bzy2(*),bzy3(*),bzy4(*),
64 . fy1(*),fz1(*),fy2(*),fz2(*),
65 . fy3(*),fz3(*),fy4(*),fz4(*),
66 . r22(*),r23(*),r32(*),r33(*),
67 . air(*),vol(*),qvis(*)
68 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 INTEGER I
87
89 . s1(mvsiz),s2(mvsiz),s3(mvsiz),s4(mvsiz),
90 . fac(mvsiz),p(mvsiz),t1,t2,t3,t4
91
92
93
94 IF(n2d==1 .AND. jhbe==17) THEN
95 DO i=1,nel
96 fac(i) = air(i)
97 ENDDO
98 ELSE
99 DO i=1,nel
100 fac(i) = vol(i)
101 ENDDO
102 ENDIF
103
104
105
106 IF(icp==1) THEN
107 DO i=1,nel
108 p(i)=third*(sig(i,1)+sig(i,2)+sig(i,3)+
109 . svis(i,1)+svis(i,2)+svis(i,3))
110 s1(i)=(sig(i,1)+svis(i,1)-p(i))*fac(i)
111 s2(i)=(sig(i,2)+svis(i,2)-p(i))*fac(i)
112 ENDDO
113 ELSE
114 DO i=1,nel
115 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*fac(i)
116 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*fac(i)
117 ENDDO
118 ENDIF
119
120 DO i=1,nel
121 fy1(i) = fy1(i) - s1(i)*py1(i)- s2(i)*bzy1(i)
122 fy2(i) = fy2(i) - s1(i)*py2(i)- s2(i)*bzy2(i)
123 fy3(i) = fy3(i) - s1(i)*py3(i)- s2(i)*bzy3(i)
124 fy4(i) = fy4(i) - s1(i)*py4(i)- s2(i)*bzy4(i)
125 fz1(i) = fz1(i) - s2(i)*pz1(i)- s1(i)*byz1(i)
126 fz2(i) = fz2(i) - s2(i)*pz2(i)- s1(i)*byz2(i)
127 fz3(i) = fz3(i) - s2(i)*pz3(i)- s1(i)*byz3(i)
128 fz4(i) = fz4(i) - s2(i)*pz4(i)- s1(i)*byz4(i)
129 ENDDO
130
131 IF(n2d==1.AND.jhbe==17) THEN
132 IF(icp==1) THEN
133 DO i=1,nel
134 s3(i)=(sig(i,3)+svis(i,3)-p(i))*fac(i)
135 s4(i)=(sig(i,4)+svis(i,4))*fac(i)
136 ENDDO
137 ELSE
138 DO i=1,nel
139 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*fac(i)
140 s4(i)=(sig(i,4)+svis(i,4))*fac(i)
141 ENDDO
142 END IF
143 IF(jcvt/=0) THEN
144 DO i=1,nel
145 t1=s1(i)*r22(i)+s4(i)*r23(i)
146 t2=s4(i)*r32(i)+s2(i)*r33(i)
147 t3=s1(i)*r32(i)+s4(i)*r33(i)
148 t4=s4(i)*r22(i)+s2(i)*r23(i)
149 s1(i)=r22(i)*t1+r23(i)*t4
150 s2(i)=r32(i)*t3+r33(i)*t2
151 s4(i)=r22(i)*t3+r23(i)*t2
152 ENDDO
153 ENDIF
154 DO i=1,nel
155 fay(i) = fay(i) + (s1(i)-s3(i))*ay(i)
156 faz(i) = faz(i) + s4(i)*ay(i)
157 ENDDO
158 ENDIF
159
160 RETURN