129
130
131
132#include "implicit_f.inc"
133#include "mvsiz_p.inc"
134
135
136
137 INTEGER JFT ,JLT,NEL
139 . thk(*) ,
area(*) ,px1(*) ,py1(*) ,
140 . py2(*) ,f11(*) ,f12(*) ,f13(*) ,
141 . f21(*) ,f22(*) ,f23(*) ,wxy(*) ,
142 . vstre(nel,5),vsrz(nel,5) ,vmz(mvsiz,3),
143 . bm0rz(mvsiz,3,2),b0rz(mvsiz,3),bkrz(mvsiz,2),berz(mvsiz,2),krz(*),
144 . rlz(mvsiz,3),dt1c,eint(nel,2),off(*),vol(*)
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173 INTEGER I ,J ,NG,NPG
174 parameter(npg = 3)
176 . s1, c2, erz,off05(mvsiz),brz(mvsiz,3),vrlz(mvsiz),
177 . fx1,fx2,fy1,srzm(mvsiz),a_hammer(npg,2),a05(mvsiz),
178 . thk_6(mvsiz),bn1rz,bn2rz,bn3rz
179 DATA a_hammer /
180 1 0.166666666666667,0.666666666666667,0.166666666666667,
181 2 0.166666666666667,0.166666666666667,0.666666666666667/
182
183 DO i=jft,jlt
184 vmz(i,1)=(bm0rz(i,1,1)*vstre(i,1)+bm0rz(i,2,1)*vstre(i,2)
185 . +bm0rz(i,3,1)*vstre(i,3))*thk(i)
186 vmz(i,2)=(bm0rz(i,1,2)*vstre(i,1)+bm0rz(i,2,2)*vstre(i,2)
187 . +bm0rz(i,3,2)*vstre(i,3))*thk(i)
188 vmz(i,3)=-vmz(i,1)-vmz(i,2)
189 ENDDO
190
191 DO i=jft,jlt
192 srzm(i)=zero
193 off05(i)=one_over_6*off(i)*vol(i)
195 thk_6(i)=one_over_6*thk(i)
196 ENDDO
197
198 DO ng =1,npg
199 DO i=jft,jlt
200 bn1rz=bkrz(i,1)*a_hammer(ng,1)+berz(i,1)*a_hammer(ng,2)
201 bn2rz=bkrz(i,2)*a_hammer(ng,1)+berz(i,2)*a_hammer(ng,2)
202 bn3rz=-bn1rz-bn2rz
203 brz(i,1)=b0rz(i,1)+bn1rz
204 brz(i,2)=b0rz(i,2)+bn2rz
205 brz(i,3)=b0rz(i,3)+bn3rz
206 vrlz(i)= wxy(i)+(brz(i,1)*rlz(i,1)+
207 1 brz(i,2)*rlz(i,2)+brz(i,3)*rlz(i,3))*a05(i)
208 ENDDO
209 DO i=jft,jlt
210 erz= vrlz(i)*dt1c
211 eint(i,1) = eint(i,1)+ vsrz(i,ng)*erz*off05(i)
212 vsrz(i,ng)= vsrz(i,ng)+krz(i)*erz*off(i)
213 eint(i,1) = eint(i,1)+ vsrz(i,ng)*erz*off05(i)
214 srzm(i)=srzm(i)+vsrz(i,ng)
215 ENDDO
216
217 DO j=1,3
218 DO i=jft,jlt
219 c2=thk_6(i)*vsrz(i,ng)
220 vmz(i,j)= vmz(i,j)+brz(i,j)*c2
221 ENDDO
222 ENDDO
223 END DO
224
225
226
227 DO i=jft,jlt
228 c2=thk(i)*srzm(i)*one_over_6
229 fx1=-c2*py1(i)
230 fx2=-c2*py2(i)
231
232 f11(i) = f11(i) + fx1
233 f12(i) = f12(i) + fx2
234 f13(i) = f13(i) - fx1 - fx2
235
236 fy1=c2*px1(i)
237 f21(i) = f21(i) + fy1
238 f22(i) = f22(i) - fy1
239
240 ENDDO
241
242 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)