45
46
47
48#include "implicit_f.inc"
49#include "param_c.inc"
50#include "mvsiz_p.inc"
51
52
53
54 INTEGER NEL,IMAT,IOUTPRT
55 INTEGER IPM(NPROPMI,*),SOLID_ID(*)
56
58 . time,dt,offg(nel),areap(mvsiz,4),q(nel,9),
59 . rxx(nel),ryy(nel),rzz(nel),
60 . x1(nel) ,x2(nel),x3(nel),x4(nel),
61 . x5(nel) ,x6(nel),x7(nel),x8(nel),
62 . y1(nel) ,y2(nel),y3(nel),y4(nel),
63 . y5(nel) ,y6(nel),y7(nel),y8(nel),
64 . z1(nel) ,z2(nel),z3(nel),z4(nel),
65 . z5(nel) ,z6(nel),z7(nel),z8(nel),
66 . vx1(nel), vx2(nel), vx3(nel), vx4(nel),
67 . vx5(nel), vx6(nel), vx7(nel), vx8(nel),
68 . vy1(nel), vy2(nel), vy3(nel), vy4(nel),
69 . vy5(nel), vy6(nel), vy7(nel), vy8(nel),
70 . vz1(nel), vz2(nel), vz3(nel), vz4(nel),
71 . vz5(nel), vz6(nel), vz7(nel), vz8(nel),
72 . vxloc(mvsiz,8),vyloc(mvsiz,8),vzloc(mvsiz,8),
73 . r1x(nel),r2x(nel),r3x(nel),r4x(nel),
74 . r5x(nel),r6x(nel),r7x(nel),r8x(nel),
75 . r1y(nel),r2y(nel),r3y(nel),r4y(nel),
76 . r5y(nel),r6y(nel),r7y(nel),r8y(nel),
77 . r1z(nel),r2z(nel),r3z(nel),r4z(nel),
78 . r5z(nel),r6z(nel),r7z(nel),r8z(nel),
79 . vgax(*), vgay(*), vgaz(*), vga2(*),
80 . e1x(*),e2x(*),e3x(*),e1y(*),e2y(*),e3y(*),e1z(*),e2z(*),e3z(*),
81 . xloc(nel,8), yloc(nel,8), zloc(nel,8)
82
83
84
85 INTEGER I,IREP1,MTN
86
88 . off_l,cs,sn,ksi,nr,x0,y0,z0,vx0,vy0,vz0,dti,cc,cosin
90 . p1x(nel), p2x(nel), p3x(nel), p4x(nel),
91 . p1y(nel), p2y(nel), p3y(nel), p4y(nel),
92 . p1z(nel), p2z(nel), p3z(nel), p4z(nel),
93 . rx(nel),ry(nel),rz(nel),sx(nel),sy(nel),sz(nel),
94 .
area(nel),det(nel),rv(3),mrot(9),norme(nel),sym(nel),
95 . a1x(nel), a1y(nel), a1z(nel), b1x(nel), b1y(nel), b1z(nel),
96 . a2x(nel), a2y(nel), a2z(nel), b2x(nel), b2y(nel), b2z(nel),
97 . n1x(nel), n1y(nel), n1z(nel), n2x(nel), n2y(nel), n2z(nel)
98
99 off_l = zero
100 dti = one/
max(dt,em20)
101 mtn = ipm(2,imat)
102
103
104
105 DO i=1,nel
106
107 p1x(i)=(x1(i)+x5(i))*half
108 p1y(i)=(y1(i)+y5(i))*half
109 p1z(i)=(z1(i)+z5(i))*half
110 p2x(i)=(x2(i)+x6(i))*half
111 p2y(i)=(y2(i)+y6(i))*half
112 p2z(i)=(z2(i)+z6(i))*half
113 p3x(i)=(x3(i)+x7(i))*half
114 p3y(i)=(y3(i)+y7(i))*half
115 p3z(i)=(z3(i)+z7(i))*half
116 p4x(i)=(x4(i)+x8(i))*half
117 p4y(i)=(y4(i)+y8(i))*half
118 p4z(i)=(z4(i)+z8(i))*half
119 rx(i) = p2x(i) + p3x(i) - p1x(i) - p4x(i)
120 ry(i) = p2y(i) + p3y(i) - p1y(i) - p4y(i)
121 rz(i) = p2z(i) + p3z(i) - p1z(i) - p4z(i)
122 sx(i) = p3x(i) + p4x(i) - p1x(i) - p2x(i)
123 sy(i) = p3y(i) + p4y(i) - p1y(i) - p2y(i)
124 sz(i) = p3z(i) + p4z(i) - p1z(i) - p2z(i)
125 ENDDO
126 IF (mtn==83) THEN
127 DO i=1,nel
128
129
130 a1x(i) = x6(i) + x7(i) - x5(i) - x8(i)
131 a1y(i) = y6(i) + y7(i) - y5(i) - y8(i)
132 a1z(i) = z6(i) + z7(i) - z5(i) - z8(i)
133 b1x(i) = x7(i) + x8(i) - x6(i) - x5(i)
134 b1y(i) = y7(i) + y8(i) - y6(i) - y5(i)
135 b1z(i) = z7(i) + z8(i) - z6(i) - z5(i)
136
137 n1x(i) = a1y(i) * b1z(i) - a1z(i) * b1y(i)
138 n1y(i) = a1z(i) * b1x(i) - a1x(i) * b1z(i)
139 n1z(i) = a1x(i) * b1y(i) - a1y(i) * b1x(i)
140 norme(i) = sqrt(n1x(i)*n1x(i) + n1y(i)*n1y(i) + n1z(i)*n1z(i))
141 norme(i)=
max(em20,norme(i))
142 cc = one / norme(i)
143 n1x(i) = n1x(i) * cc
144 n1y(i) = n1y(i) * cc
145 n1z(i) = n1z(i) * cc
146
147 a2x(i) = x2(i) + x3(i) - x1(i) - x4(i)
148 a2y(i) = y2(i) + y3(i) - y1(i) - y4(i)
149 a2z(i) = z2(i) + z3(i) - z1(i) - z4(i)
150 b2x(i) = x3(i) + x4(i) - x2(i) - x1(i)
151 b2y(i) = y3(i) + y4(i) - y2(i) - y1(i)
152 b2z(i) = z3(i) + z4(i) - z2(i) - z1(i)
153
154 n2x(i) = a2y(i) * b2z(i) - a2z(i) * b2y(i)
155 n2y(i) = a2z(i) * b2x(i) - a2x(i) * b2z(i)
156 n2z(i) = a2x(i) * b2y(i) - a2y(i) * b2x(i)
157 norme(i) = sqrt(n2x(i)*n2x(i) + n2y(i)*n2y(i) + n2z(i)*n2z(i))
158 norme(i)=
max(em20,norme(i))
159 cc = one / norme(i)
160 n2x(i) = n2x(i) * cc
161 n2y(i) = n2y(i) * cc
162 n2z(i) = n2z(i) * cc
163
164 cosin = n1x(i)*n2x(i) + n1y(i)*n2y(i) + n1z(i)*n2z(i)
165 cosin =
max(-one,
min(one, cosin))
166 sym(i)= acos(cosin)
167 ENDDO
168 ENDIF
169
170
171
172 irep1 = 0
174 . rx, ry, rz,sx, sy, sz,
175 . e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,det,offg)
176 DO i=1,nel
177 area(i) = fourth*det(i)
178 ENDDO
179
180
181
182 IF (ioutprt == 1) THEN
183 DO i=1,nel
184 vgax(i)=vx1(i)+vx2(i)+vx3(i)+vx4(i)+vx5(i)+vx6(i)+vx7(i)+vx8(i)
185 vgay(i)=vy1(i)+vy2(i)+vy3(i)+vy4(i)+vy5(i)+vy6(i)+vy7(i)+vy8(i)
186 vgaz(i)=vz1(i)+vz2(i)+vz3(i)+vz4(i)+vz5(i)+vz6(i)+vz7(i)+vz8(i)
187 vga2(i)=vx1(i)*vx1(i)+vx2(i)*vx2(i)+vx3(i)*vx3(i)+vx4(i)*vx4(i)
188 . +vx5(i)*vx5(i)+vx6(i)*vx6(i)+vx7(i)*vx7(i)+vx8(i)*vx8(i)
189 . +vy1(i)*vy1(i)+vy2(i)*vy2(i)+vy3(i)*vy3(i)+vy4(i)*vy4(i)
190 . +vy5(i)*vy5(i)+vy6(i)*vy6(i)+vy7(i)*vy7(i)+vy8(i)*vy8(i)
191 . +vz1(i)*vz1(i)+vz2(i)*vz2(i)+vz3(i)*vz3(i)+vz4(i)*vz4(i)
192 . +vz5(i)*vz5(i)+vz6(i)*vz6(i)+vz7(i)*vz7(i)+vz8(i)*vz8(i)
193 ENDDO
194 ENDIF
195
196
197
198 DO i=1,nel
199 xloc(i,1) = e1x(i)*x1(i)+e1y(i)*y1(i)+e1z(i)*z1(i)
200 yloc(i,1) = e2x(i)*x1(i)+e2y(i)*y1(i)+e2z(i)*z1(i)
201 zloc(i,1) = e3x(i)*x1(i)+e3y(i)*y1(i)+e3z(i)*z1(i)
202 xloc(i,2) = e1x(i)*x2(i)+e1y(i)*y2(i)+e1z(i)*z2(i)
203 yloc(i,2) = e2x(i)*x2(i)+e2y(i)*y2(i)+e2z(i)*z2(i)
204 zloc(i,2) = e3x(i)*x2(i)+e3y(i)*y2(i)+e3z(i)*z2(i)
205 xloc(i,3) = e1x(i)*x3(i)+e1y(i)*y3(i)+e1z(i)*z3(i)
206 yloc(i,3) = e2x(i)*x3(i)+e2y(i)*y3(i)+e2z(i)*z3(i)
207 zloc(i,3) = e3x(i)*x3(i)+e3y(i)*y3(i)+e3z(i)*z3(i)
208 xloc(i,4) = e1x(i)*x4(i)+e1y(i)*y4(i)+e1z(i)*z4(i)
209 yloc(i,4) = e2x(i)*x4(i)+e2y(i)*y4(i)+e2z(i)*z4(i)
210 zloc(i,4) = e3x(i)*x4(i)+e3y(i)*y4(i)+e3z(i)*z4(i)
211 xloc(i,5) = e1x(i)*x5(i)+e1y(i)*y5(i)+e1z(i)*z5(i)
212 yloc(i,5) = e2x(i)*x5(i)+e2y(i)*y5(i)+e2z(i)*z5(i)
213 zloc(i,5) = e3x(i)*x5(i)+e3y(i)*y5(i)+e3z(i)*z5(i)
214 xloc(i,6) = e1x(i)*x6(i)+e1y(i)*y6(i)+e1z(i)*z6(i)
215 yloc(i,6) = e2x(i)*x6(i)+e2y(i)*y6(i)+e2z(i)*z6(i)
216 zloc(i,6) = e3x(i)*x6(i)+e3y(i)*y6(i)+e3z(i)*z6(i)
217 xloc(i,7) = e1x(i)*x7(i)+e1y(i)*y7(i)+e1z(i)*z7(i)
218 yloc(i,7) = e2x(i)*x7(i)+e2y(i)*y7(i)+e2z(i)*z7(i)
219 zloc(i,7) = e3x(i)*x7(i)+e3y(i)*y7(i)+e3z(i)*z7(i)
220 xloc(i,8) = e1x(i)*x8(i)+e1y(i)*y8(i)+e1z(i)*z8(i)
221 yloc(i,8) = e2x(i)*x8(i)+e2y(i)*y8(i)+e2z(i)*z8(i)
222 zloc(i,8) = e3x(i)*x8(i)+e3y(i)*y8(i)+e3z(i)*z8(i)
223
224 x0 = (xloc(i,1)+xloc(i,2)+xloc(i,3)+xloc(i,4)+
225 . xloc(i,5)+xloc(i,6)+xloc(i,7)+xloc(i,8))*one_over_8
226 y0 = (yloc(i,1)+yloc(i,2)+yloc(i,3)+yloc(i,4)+
227 . yloc(i,5)+yloc(i,6)+yloc(i,7)+yloc(i,8))*one_over_8
228 z0 = (zloc(i,1)+zloc(i,2)+zloc(i,3)+zloc(i,4)+
229 . zloc(i,5)+zloc(i,6)+zloc(i,7)+zloc(i,8))*one_over_8
230
231 xloc(i,1) = xloc(i,1) - x0
232 xloc(i,2) = xloc(i,2) - x0
233 xloc(i,3) = xloc(i,3) - x0
234 xloc(i,4) = xloc(i,4) - x0
235 xloc(i,5) = xloc(i,5) - x0
236 xloc(i,6) = xloc(i,6) - x0
237 xloc(i,7) = xloc(i,7) - x0
238 xloc(i,8) = xloc(i,8) - x0
239 yloc(i,1) = yloc(i,1) - y0
240 yloc(i,2) = yloc(i,2) - y0
241 yloc(i,3) = yloc(i,3) - y0
242 yloc(i,4) = yloc(i,4) - y0
243 yloc(i,5) = yloc(i,5) - y0
244 yloc(i,6) = yloc(i,6) - y0
245 yloc(i,7) = yloc(i,7) - y0
246 yloc(i,8) = yloc(i,8) - y0
247 zloc(i,1) = zloc(i,1) - z0
248 zloc(i,2) = zloc(i,2) - z0
249 zloc(i,3) = zloc(i,3) - z0
250 zloc(i,4) = zloc(i,4) - z0
251 zloc(i,5) = zloc(i,5) - z0
252 zloc(i,6) = zloc(i,6) - z0
253 zloc(i,7) = zloc(i,7) - z0
254 zloc(i,8) = zloc(i,8) - z0
255 ENDDO
256
257
258
259 DO i=1,nel
260 vxloc(i,1) = e1x(i)*vx1(i)+e1y(i)*vy1(i)+e1z(i)*vz1(i)
261 vyloc(i,1) = e2x(i)*vx1(i)+e2y(i)*vy1(i)+e2z(i)*vz1(i)
262 vzloc(i,1) = e3x(i)*vx1(i)+e3y(i)*vy1(i)+e3z(i)*vz1(i)
263 vxloc(i,2) = e1x(i)*vx2(i)+e1y(i)*vy2(i)+e1z(i)*vz2(i)
264 vyloc(i,2) = e2x(i)*vx2(i)+e2y(i)*vy2(i)+e2z(i)*vz2(i)
265 vzloc(i,2) = e3x(i)*vx2(i)+e3y(i)*vy2(i)+e3z(i)*vz2(i)
266 vxloc(i,3) = e1x(i)*vx3(i)+e1y(i)*vy3(i)+e1z(i)*vz3(i)
267 vyloc(i,3) = e2x(i)*vx3(i)+e2y(i)*vy3(i)+e2z(i)*vz3(i)
268 vzloc(i,3) = e3x(i)*vx3(i)+e3y(i)*vy3(i)+e3z(i)*vz3(i)
269 vxloc(i,4) = e1x(i)*vx4(i)+e1y(i)*vy4(i)+e1z(i)*vz4(i)
270 vyloc(i,4) = e2x(i)*vx4(i)+e2y(i)*vy4(i)+e2z(i)*vz4(i)
271 vzloc(i,4) = e3x(i)*vx4(i)+e3y(i)*vy4(i)+e3z(i)*vz4(i)
272 vxloc(i,5) = e1x(i)*vx5(i)+e1y(i)*vy5(i)+e1z(i)*vz5(i)
273 vyloc(i,5) = e2x(i)*vx5(i)+e2y(i)*vy5(i)+e2z(i)*vz5(i)
274 vzloc(i,5) = e3x(i)*vx5(i)+e3y(i)*vy5(i)+e3z(i)*vz5(i)
275 vxloc(i,6) = e1x(i)*vx6(i)+e1y(i)*vy6(i)+e1z(i)*vz6(i)
276 vyloc(i,6) = e2x(i)*vx6(i)+e2y(i)*vy6(i)+e2z(i)*vz6(i)
277 vzloc(i,6) = e3x(i)*vx6(i)+e3y(i)*vy6(i)+e3z(i)*vz6(i)
278 vxloc(i,7) = e1x(i)*vx7(i)+e1y(i)*vy7(i)+e1z(i)*vz7(i)
279 vyloc(i,7) = e2x(i)*vx7(i)+e2y(i)*vy7(i)+e2z(i)*vz7(i)
280 vzloc(i,7) = e3x(i)*vx7(i)+e3y(i)*vy7(i)+e3z(i)*vz7(i)
281 vxloc(i,8) = e1x(i)*vx8(i)+e1y(i)*vy8(i)+e1z(i)*vz8(i)
282 vyloc(i,8) = e2x(i)*vx8(i)+e2y(i)*vy8(i)+e2z(i)*vz8(i)
283 vzloc(i,8) = e3x(i)*vx8(i)+e3y(i)*vy8(i)+e3z(i)*vz8(i)
284 vx0 = (vxloc(i,1)+vxloc(i,2)+vxloc(i,3)+vxloc(i,4)+
285 . vxloc(i,5)+vxloc(i,6)+vxloc(i,7)+vxloc(i,8))*one_over_8
286 vy0 = (vyloc(i,1)+vyloc(i,2)+vyloc(i,3)+vyloc(i,4)+
287 . vyloc(i,5)+vyloc(i,6)+vyloc(i,7)+vyloc(i,8))*one_over_8
288 vz0 = (vzloc(i,1)+vzloc(i,2)+vzloc(i,3)+vzloc(i,4)+
289 . vzloc(i,5)+vzloc(i,6)+vzloc(i,7)+vzloc(i,8))*one_over_8
290 vxloc(i,1) = vxloc(i,1) - vx0
291 vyloc(i,1) = vyloc(i,1) - vy0
292 vzloc(i,1) = vzloc(i,1) - vz0
293 vxloc(i,2) = vxloc(i,2) - vx0
294 vyloc(i,2) = vyloc(i,2) - vy0
295 vzloc(i,2) = vzloc(i,2) - vz0
296 vxloc(i,3) = vxloc(i,3) - vx0
297 vyloc(i,3) = vyloc(i,3) - vy0
298 vzloc(i,3) = vzloc(i,3) - vz0
299 vxloc(i,4) = vxloc(i,4) - vx0
300 vyloc(i,4) = vyloc(i,4) - vy0
301 vzloc(i,4) = vzloc(i,4) - vz0
302 vxloc(i,5) = vxloc(i,5) - vx0
303 vyloc(i,5) = vyloc(i,5) - vy0
304 vzloc(i,5) = vzloc(i,5) - vz0
305 vxloc(i,6) = vxloc(i,6) - vx0
306 vyloc(i,6) = vyloc(i,6) - vy0
307 vzloc(i,6) = vzloc(i,6) - vz0
308 vxloc(i,7) = vxloc(i,7) - vx0
309 vyloc(i,7) = vyloc(i,7) - vy0
310 vzloc(i,7) = vzloc(i,7) - vz0
311 vxloc(i,8) = vxloc(i,8) - vx0
312 vyloc(i,8) = vyloc(i,8) - vy0
313 vzloc(i,8) = vzloc(i,8) - vz0
314 ENDDO
315
316 DO i=1,nel
317 r1x(i) = xloc(i,1)
318 r2x(i) = xloc(i,2)
319 r3x(i) = xloc(i,3)
320 r4x(i) = xloc(i,4)
321 r5x(i) = xloc(i,5)
322 r6x(i) = xloc(i,6)
323 r7x(i) = xloc(i,7)
324 r8x(i) = xloc(i,8)
325 r1y(i) = yloc(i,1)
326 r2y(i) = yloc(i,2)
327 r3y(i) = yloc(i,3)
328 r4y(i) = yloc(i,4)
329 r5y(i) = yloc(i,5)
330 r6y(i) = yloc(i,6)
331 r7y(i) = yloc(i,7)
332 r8y(i) = yloc(i,8)
333 r1z(i) = zloc(i,1)
334 r2z(i) = zloc(i,2)
335 r3z(i) = zloc(i,3)
336 r4z(i) = zloc(i,4)
337 r5z(i) = zloc(i,5)
338 r6z(i) = zloc(i,6)
339 r7z(i) = zloc(i,7)
340 r8z(i) = zloc(i,8)
341
342 rxx(i) = r2x(i)+r3x(i)+r6x(i)+r7x(i)-r1x(i)-r4x(i)-r5x(i)-r8x(i)
343 ryy(i) = r3y(i)+r4y(i)+r7y(i)+r8y(i)-r1y(i)-r2y(i)-r5y(i)-r6y(i)
344 rzz(i) = r5z(i)+r6z(i)+r7z(i)+r8z(i)-r1z(i)-r2z(i)-r3z(i)-r4z(i)
345 rxx(i) = abs(rxx(i))
346 ryy(i) = abs(ryy(i))
347 rzz(i) = abs(rzz(i))
348 ENDDO
349
350 IF (time == zero) THEN
351 DO i=1,nel
352 q(i,1) = e1x(i)
353 q(i,2) = e1y(i)
354 q(i,3) = e1z(i)
355 q(i,4) = e2x(i)
356 q(i,5) = e2y(i)
357 q(i,6) = e2z(i)
358 q(i,7) = e3x(i)
359 q(i,8) = e3y(i)
360 q(i,9) = e3z(i)
361 ENDDO
362 ENDIF
363
364 DO i=1,nel
365
366 mrot(1) = q(i,1)*e1x(i) +q(i,2)*e1y(i) +q(i,3)*e1z(i)
367 mrot(2) = q(i,4)*e1x(i) +q(i,5)*e1y(i) +q(i,6)*e1z(i)
368 mrot(3) = q(i,7)*e1x(i) +q(i,8)*e1y(i) +q(i,9)*e1z(i)
369 mrot(4) = q(i,1)*e2x(i) +q(i,2)*e2y(i) +q(i,3)*e2z(i)
370 mrot(5) = q(i,4)*e2x(i) +q(i,5)*e2y(i) +q(i,6)*e2z(i)
371 mrot(6) = q(i,7)*e2x(i) +q(i,8)*e2y(i) +q(i,9)*e2z(i)
372 mrot(7) = q(i,1)*e3x(i) +q(i,2)*e3y(i) +q(i,3)*e3z(i)
373 mrot(8) = q(i,4)*e3x(i) +q(i,5)*e3y(i) +q(i,6)*e3z(i)
374 mrot(9) = q(i,7)*e3x(i) +q(i,8)*e3y(i) +q(i,9)*e3z(i)
375
376 q(i,1) = e1x(i)
377 q(i,2) = e1y(i)
378 q(i,3) = e1z(i)
379 q(i,4) = e2x(i)
380 q(i,5) = e2y(i)
381 q(i,6) = e2z(i)
382 q(i,7) = e3x(i)
383 q(i,8) = e3y(i)
384 q(i,9) = e3z(i)
385
386
387
388 cs = half * (mrot(1)+mrot(5)+mrot(9)-one)
389 IF (cs >= one) THEN
390 rv(1) = (mrot(6) - mrot(8)) * half
391 rv(2) = (mrot(7) - mrot(3)) * half
392 rv(3) = (mrot(2) - mrot(4)) * half
393 ELSEIF (cs <= -one) THEN
394 rv(1) = pi*sqrt((mrot(1)+one)*half)
395 rv(2) = pi*sqrt((mrot(5)+one)*half)
396 rv(3) = pi*sqrt((mrot(9)+one)*half)
397 IF (mrot(2) < zero .AND. mrot(6) < zero) THEN
398 rv(2) = -rv(2)
399 ELSEIF (mrot(6) < zero .AND. mrot(7) < zero) THEN
400 rv(3) = -rv(3)
401 ELSEIF (mrot(7) < zero .AND. mrot(2) < zero) THEN
402 rv(1) = -rv(1)
403 ELSEIF (mrot(2) < zero) THEN
404 rv(3) = -rv(3)
405 ELSEIF (mrot(6) < zero) THEN
406 rv(1) = -rv(1)
407 ELSEIF (mrot(7) < zero) THEN
408 rv(2) = -rv(2)
409 ENDIF
410 ELSE
411 ksi = acos(cs)
412 sn = half*ksi/sin(ksi)
413 rv(1) = (mrot(6) - mrot(8)) * sn
414 rv(2) = (mrot(7) - mrot(3)) * sn
415 rv(3) = (mrot(2) - mrot(4)) * sn
416 ENDIF
417
418
419 vxloc(i,1) = vxloc(i,1) - (rv(2)*r1z(i) - rv(3)*r1y(i))*dti
420 vyloc(i,1) = vyloc(i,1) - (rv(3)*r1x(i) - rv(1)*r1z(i))*dti
421 vzloc(i,1) = vzloc(i,1) - (rv(1)*r1y(i) - rv(2)*r1x(i))*dti
422 vxloc(i,2) = vxloc(i,2) - (rv(2)*r2z(i) - rv(3)*r2y(i))*dti
423 vyloc(i,2) = vyloc(i,2) - (rv(3)*r2x(i) - rv(1)*r2z(i))*dti
424 vzloc(i,2) = vzloc(i,2) - (rv(1)*r2y(i) - rv(2)*r2x(i))*dti
425 vxloc(i,3) = vxloc(i,3) - (rv(2)*r3z(i) - rv(3)*r3y(i))*dti
426 vyloc(i,3) = vyloc(i,3) - (rv(3)*r3x(i) - rv(1)*r3z(i))*dti
427 vzloc(i,3) = vzloc(i,3) - (rv(1)*r3y(i) - rv(2)*r3x(i))*dti
428 vxloc(i,4) = vxloc(i,4) - (rv(2)*r4z(i) - rv(3)*r4y(i))*dti
429 vyloc(i,4) = vyloc(i,4) - (rv(3)*r4x(i) - rv(1)*r4z(i))*dti
430 vzloc(i,4) = vzloc(i,4) - (rv(1)*r4y(i) - rv(2)*r4x(i))*dti
431 vxloc(i,5) = vxloc(i,5) - (rv(2)*r5z(i) - rv(3)*r5y(i))*dti
432 vyloc(i,5) = vyloc(i,5) - (rv(3)*r5x(i) - rv(1)*r5z(i))*dti
433 vzloc(i,5) = vzloc(i,5) - (rv(1)*r5y(i) - rv(2)*r5x(i))*dti
434 vxloc(i,6) = vxloc(i,6) - (rv(2)*r6z(i) - rv(3)*r6y(i))*dti
435 vyloc(i,6) = vyloc(i,6) - (rv(3)*r6x(i) - rv(1)*r6z(i))*dti
436 vzloc(i,6) = vzloc(i,6) - (rv(1)*r6y(i) - rv(2)*r6x(i))*dti
437 vxloc(i,7) = vxloc(i,7) - (rv(2)*r7z(i) - rv(3)*r7y(i))*dti
438 vyloc(i,7) = vyloc(i,7) - (rv(3)*r7x(i) - rv(1)*r7z(i))*dti
439 vzloc(i,7) = vzloc(i,7) - (rv(1)*r7y(i) - rv(2)*r7x(i))*dti
440 vxloc(i,8) = vxloc(i,8) - (rv(2)*r8z(i) - rv(3)*r8y(i))*dti
441 vyloc(i,8) = vyloc(i,8) - (rv(3)*r8x(i) - rv(1)*r8z(i))*dti
442 vzloc(i,8) = vzloc(i,8) - (rv(1)*r8y(i) - rv(2)*r8x(i))*dti
443 ENDDO
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
477 . xloc ,yloc ,zloc ,
area ,areap,offg ,solid_id,
478 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z )
479
480 RETURN
subroutine clskew3(jft, jlt, irep, rx, ry, rz, sx, sy, sz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, det)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine sdet43(nel, x, y, z, area, areap, off, solid_id, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)