39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50 INTEGER, INTENT(IN) :: ISMSTR
51 INTEGER ICP,NEL,I_SH,IDEGE(*)
52
54 . sig(nel,6),
55 . dn_x(mvsiz,8),dn_y(mvsiz,8),dn_z(mvsiz,8),
56 . f11(*),f21(*),f31(*),f12(*),f22(*),f32(*),
57 . f13(*),f23(*),f33(*),f14(*),f24(*),f34(*),
58 . f15(*),f25(*),f35(*),f16(*),f26(*),f36(*),
59 . f17(*),f27(*),f37(*),f18(*),f28(*),f38(*),
60 . vol(*),qvis(*),jfac(*),bb(6,24,mvsiz)
61 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
62
63
64
65 INTEGER I, J,IB
66
68 . s1(mvsiz), s2(mvsiz), s3(mvsiz),
69 . s4(mvsiz), s5(mvsiz), s6(mvsiz),
70 . p(mvsiz),coef,fvol
71
72
73 IF (icp==1.AND.(ismstr==10.OR.ismstr==12)) THEN
74 DO i=1,nel
75 fvol=jfac(i)*vol(i)
76 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*fvol
77 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*fvol
78 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*fvol
79 s4(i)=(sig(i,4)+svis(i,4))*fvol
80 s5(i)=(sig(i,5)+svis(i,5))*fvol
81 s6(i)=(sig(i,6)+svis(i,6))*fvol
82 ENDDO
83 ELSEIF (icp==1) THEN
84 coef=zep3
85 DO i=1,nel
86 p(i) =coef*(sig(i,1)+sig(i,2)+sig(i,3)
87 . +svis(i,1)+svis(i,2)+svis(i,3))
88 IF (
idege(i)>10) p(i) =qvis(i)
89 s1(i)=(sig(i,1)+svis(i,1)-p(i))*vol(i)
90 s2(i)=(sig(i,2)+svis(i,2)-p(i))*vol(i)
91 s3(i)=(sig(i,3)+svis(i,3)-p(i))*vol(i)
92 s4(i)=(sig(i,4)+svis(i,4))*vol(i)
93 s5(i)=(sig(i,5)+svis(i,5))*vol(i)
94 s6(i)=(sig(i,6)+svis(i,6))*vol(i)
95 ENDDO
96 ELSE
97 DO i=1,nel
98 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*vol(i)
99 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*vol(i)
100 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*vol(i)
101 s4(i)=(sig(i,4)+svis(i,4))*vol(i)
102 s5(i)=(sig(i,5)+svis(i,5))*vol(i)
103 s6(i)=(sig(i,6)+svis(i,6))*vol(i)
104 ENDDO
105 ENDIF
106
107 DO i=1,nel
108 f11(i)=f11(i)-(s1(i)*bb(1,1,i)+s2(i)*bb(2,1,i)+s3(i)*bb(3,1,i)
109 . +s4(i)*bb(4,1,i)+s6(i)*bb(5,1,i)+s5(i)*bb(6,1,i))
110 f21(i)=f21(i)-(s1(i)*bb(1,2,i)+s2(i)*bb(2,2,i)+s3(i)*bb(3,2,i)
111 . +s4(i)*bb(4,2,i)+s6(i)*bb(5,2,i)+s5(i)*bb(6,2,i))
112 f31(i)=f31(i)-(s1(i)*bb(1,3,i)+s2(i)*bb(2,3,i)+s3(i)*bb(3,3,i)
113 . +s4(i)*bb(4,3,i)+s6(i)*bb(5,3,i)+s5(i)*bb(6,3,i))
114
115 f12(i)=f12(i)-(s1(i)*bb(1,4,i)+s2(i)*bb(2,4,i)+s3(i)*bb(3,4,i)
116 . +s4(i)*bb(4,4,i)+s6(i)*bb(5,4,i)+s5(i)*bb(6,4,i))
117 f22(i)=f22(i)-(s1(i)*bb(1,5,i)+s2(i)*bb(2,5,i)+s3(i)*bb(3,5,i)
118 . +s4(i)*bb(4,5,i)+s6(i)*bb(5,5,i)+s5(i)*bb(6,5,i))
119 f32(i)=f32(i)-(s1(i)*bb(1,6,i)+s2(i)*bb(2,6,i)+s3(i)*bb(3,6,i)
120 . +s4(i)*bb(4,6,i)+s6(i)*bb(5,6,i)+s5(i)*bb(6,6,i))
121
122 f13(i)=f13(i)-(s1(i)*bb(1,7,i)+s2(i)*bb(2,7,i)+s3(i)*bb(3,7,i)
123 . +s4(i)*bb(4,7,i)+s6(i)*bb(5,7,i)+s5(i)*bb(6,7,i))
124 f23(i)=f23(i)-(s1(i)*bb(1,8,i)+s2(i)*bb(2,8,i)+s3(i)*bb(3,8,i)
125 . +s4(i)*bb(4,8,i)+s6(i)*bb(5,8,i)+s5(i)*bb(6,8,i))
126 f33(i)=f33(i)-(s1(i)*bb(1,9,i)+s2(i)*bb(2,9,i)+s3(i)*bb(3,9,i)
127 . +s4(i)*bb(4,9,i)+s6(i)*bb(5,9,i)+s5(i)*bb(6,9,i))
128
129 f14(i)=f14(i)-(s1(i)*bb(1,10,i)+s2(i)*bb(2,10,i)+s3(i)*bb(3,10,i)
130 . +s4(i)*bb(4,10,i)+s6(i)*bb(5,10,i)+s5(i)*bb(6,10,i))
131 f24(i)=f24(i)-(s1(i)*bb(1,11,i)+s2(i)*bb(2,11,i)+s3(i)*bb(3,11,i)
132 . +s4(i)*bb(4,11,i)+s6(i)*bb(5,11,i)+s5(i)*bb(6,11,i))
133 f34(i)=f34(i)-(s1(i)*bb(1,12,i)+s2(i)*bb(2,12,i)+s3(i)*bb(3,12,i)
134 . +s4(i)*bb(4,12,i)+s6(i)*bb(5,12,i)+s5(i)*bb(6,12,i))
135
136 f15(i)=f15(i)-(s1(i)*bb(1,13,i)+s2(i)*bb(2,13,i)+s3(i)*bb(3,13,i)
137 . +s4(i)*bb(4,13,i)+s6(i)*bb(5,13,i)+s5(i)*bb(6,13,i))
138 f25(i)=f25(i)-(s1(i)*bb(1,14,i)+s2(i)*bb(2,14,i)+s3(i)*bb(3,14,i)
139 . +s4(i)*bb(4,14,i)+s6(i)*bb(5,14,i)+s5(i)*bb(6,14,i))
140 f35(i)=f35(i)-(s1(i)*bb(1,15,i)+s2(i)*bb(2,15,i)+s3(i)*bb(3,15,i)
141 . +s4(i)*bb(4,15,i)+s6(i)*bb(5,15,i)+s5(i)*bb(6,15,i))
142
143 f16(i)=f16(i)-(s1(i)*bb(1,16,i)+s2(i)*bb(2,16,i)+s3(i)*bb(3,16,i)
144 . +s4(i)*bb(4,16,i)+s6(i)*bb(5,16,i)+s5(i)*bb(6,16,i))
145 f26(i)=f26(i)-(s1(i)*bb(1,17,i)+s2(i)*bb(2,17,i)+s3(i)*bb(3,17,i)
146 . +s4(i)*bb(4,17,i)+s6(i)*bb(5,17,i)+s5(i)*bb(6,17,i))
147 f36(i)=f36(i)-(s1(i)*bb(1,18,i)+s2(i)*bb(2,18,i)+s3(i)*bb(3,18,i)
148 . +s4(i)*bb(4,18,i)+s6(i)*bb(5,18,i)+s5(i)*bb(6,18,i))
149
150 f17(i)=f17(i)-(s1(i)*bb(1,19,i)+s2(i)*bb(2,19,i)+s3(i)*bb(3,19,i)
151 . +s4(i)*bb(4,19,i)+s6(i)*bb(5,19,i)+s5(i)*bb(6,19,i))
152 f27(i)=f27(i)-(s1(i)*bb(1,20,i)+s2(i)*bb(2,20,i)+s3(i)*bb(3,20,i)
153 . +s4(i)*bb(4,20,i)+s6(i)*bb(5,20,i)+s5(i)*bb(6,20,i))
154 f37(i)=f37(i)-(s1(i)*bb(1,21,i)+s2(i)*bb(2,21,i)+s3(i)*bb(3,21,i)
155 . +s4(i)*bb(4,21,i)+s6(i)*bb(5,21,i)+s5(i)*bb(6,21,i))
156
157 f18(i)=f18(i)-(s1(i)*bb(1,22,i)+s2(i)*bb(2,22,i)+s3(i)*bb(3,22,i)
158 . +s4(i)*bb(4,22,i)+s6(i)*bb(5,22,i)+s5(i)*bb(6,22,i))
159 f28(i)=f28(i)-(s1(i)*bb(1,23,i)+s2(i)*bb(2,23,i)+s3(i)*bb(3,23,i)
160 . +s4(i)*bb(4,23,i)+s6(i)*bb(5,23,i)+s5(i)*bb(6,23,i))
161 f38(i)=f38(i)-(s1(i)*bb(1,24,i)+s2(i)*bb(2,24,i)+s3(i)*bb(3,24,i)
162 . +s4(i)*bb(4,24,i)+s6(i)*bb(5,24,i)+s5(i)*bb(6,24,i))
163
164 ENDDO
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202 RETURN
subroutine idege(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, a, amax, fac, it4, it, indx, n_indx)