55 use element_mod , only : nixs
56
57
58
59#include "implicit_f.inc"
60
61
62
63#include "mvsiz_p.inc"
64
65
66
67#include "vect01_c.inc"
68#include "scr05_c.inc"
69#include "scr18_c.inc"
70#include "impl1_c.inc"
71#include "com08_c.inc"
72
73
74
75 INTEGER NEL
76
78 . x(3,*),v(3,*),w(3,*), vis(*),
79 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
80 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
81 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
82 . vx1(*), vx2(*), vx3(*), vx4(*), vx5(*), vx6(*), vx7(*), vx8(*),
83 . vy1(*), vy2(*), vy3(*), vy4(*), vy5(*), vy6(*), vy7(*), vy8(*),
84 . vz1(*), vz2(*), vz3(*), vz4(*), vz5(*), vz6(*), vz7(*), vz8(*),
85 . vd2(*), offg(*), off(*), rho(*), rhoo(*),
86 . r(3,3,mvsiz),
87
88 . rd11(mvsiz),rd12(mvsiz),rd13(mvsiz),
89 . rd21(mvsiz),rd22(mvsiz),rd23(mvsiz),
90 . rd31(mvsiz),rd32(mvsiz),rd33(mvsiz),
91 . rr11,rr12,rr13,
92 . rr21,rr22,rr23,
93 . rr31,rr32,rr33,
94
95 . gama0(nel,6),gama(mvsiz,6) ,vgax(*), vgay(*), vgaz(*), vga2(*),
96 . xgax(*), xgay(*), xgaz(*),
97 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz),
98 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz)
99 INTEGER IXS(NIXS,*), MXT(*), NGL(*),NGEO(*),IPARG(*),
100 . NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*)
101 INTEGER IOUTPRT
102
103 DOUBLE PRECISION
104 . XDP(3,*),SAV(NEL,21),X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),
105 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
106 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), (MVSIZ),
107 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
108 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
109 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
110 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
111 . ULX1(MVSIZ), ULX2(MVSIZ), ULX3(), ULX4(MVSIZ),
112 . ULX5(MVSIZ), ULX6(MVSIZ), ULX7(MVSIZ), ULX8(MVSIZ),
113 . ULY1(MVSIZ), ULY2(MVSIZ), ULY3(MVSIZ), ULY4(MVSIZ),
114 . ULY5(MVSIZ), ULY6(MVSIZ), ULY7(MVSIZ), ULY8(MVSIZ),
115 . ULZ1(MVSIZ), ULZ2(MVSIZ), ULZ3(MVSIZ), ULZ4(MVSIZ),
116 . ULZ5(MVSIZ), ULZ6(MVSIZ), ULZ7(MVSIZ), ULZ8(MVSIZ),
117 . TRM(NEL,24,24), UL, VL, WL, UG, VG, WG, XREF(NEL,21)
118
119
120
121 INTEGER I,j
122
123 double precision
124 . xdl, ydl, zdl, invj(mvsiz,9),
125 . v1(mvsiz,9), v2(mvsiz,9), v3(mvsiz,9), v4(mvsiz,9),
126 . v5(mvsiz,9), v6(mvsiz,9), v7(mvsiz,9), v8(mvsiz,9)
127
128
130 . dt05
132 . g11,g12,g13,
133 . g21,g22,g23,
134 . g31,g32,g33,
135 . t11,t12,t13,
136 . t21,t22,t23,
137 . t31,t32,t33,
138 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
139 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
140 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz)
142 . xl(mvsiz),yl(mvsiz),zl(mvsiz)
144 . off_l
145
146
147
148 off_l = zero
149
150 DO i=lft,llt
151 vis(i)=zero
152 ngeo(i)=ixs(10,i)
153 ngl(i)=ixs(11,i)
154 mxt(i)=ixs(1,i)
155 nc1(i)=ixs(2,i)
156 nc2(i)=ixs(3,i)
157 nc3(i)=ixs(4,i)
158 nc4(i)=ixs(5,i)
159 nc5(i)=ixs(6,i)
160 nc6(i)=ixs(7,i)
161 nc7(i)=ixs(8,i)
162 nc8(i)=ixs(9,i)
163 rhoo(i)=rho(i)
164 ENDDO
165
166
167
168 IF(iresp==1)THEN
169 DO i=lft,llt
170 xd1(i)=xdp(1,nc1(i))
171 yd1(i)=xdp(2,nc1(i))
172 zd1(i)=xdp(3,nc1(i))
173 xd2(i)=xdp(1,nc2(i))
174 yd2(i)=xdp(2,nc2(i))
175 zd2(i)=xdp(3,nc2(i))
176 xd3(i)=xdp(1,nc3(i))
177 yd3(i)=xdp(2,nc3(i))
178 zd3(i)=xdp(3,nc3(i))
179 xd4(i)=xdp(1,nc4(i))
180 yd4(i)=xdp(2,nc4(i))
181 zd4(i)=xdp(3,nc4(i))
182 xd5(i)=xdp(1,nc5(i))
183 yd5(i)=xdp(2,nc5(i))
184 zd5(i)=xdp(3,nc5(i))
185 xd6(i)=xdp(1,nc6(i))
186 yd6(i)=xdp(2,nc6(i))
187 zd6(i)=xdp(3,nc6(i))
188 xd7(i)=xdp(1,nc7(i))
189 yd7(i)=xdp(2,nc7(i))
190 zd7(i)=xdp(3,nc7(i))
191 xd8(i)=xdp(1,nc8(i))
192 yd8(i)=xdp(2,nc8(i))
193 zd8(i)=xdp(3,nc8(i))
194 ENDDO
195 ELSE
196 DO i=lft,llt
197 xd1(i)=x(1,nc1(i))
198 yd1(i)=x(2,nc1(i))
199 zd1(i)=x(3,nc1(i))
200 xd2(i)=x(1,nc2(i))
201 yd2(i)=x(2,nc2(i))
202 zd2(i)=x(3,nc2(i))
203 xd3(i)=x(1,nc3(i))
204 yd3(i)=x(2,nc3(i))
205 zd3(i)=x(3,nc3(i))
206 xd4(i)=x(1,nc4(i))
207 yd4(i)=x(2,nc4(i))
208 zd4(i)=x(3,nc4(i))
209 xd5(i)=x(1,nc5(i))
210 yd5(i)=x(2,nc5(i))
211 zd5(i)=x(3,nc5(i))
212 xd6(i)=x(1,nc6(i))
213 yd6(i)=x(2,nc6(i))
214 zd6(i)=x(3,nc6(i))
215 xd7(i)=x(1,nc7(i))
216 yd7(i)=x(2,nc7(i))
217 zd7(i)=x(3,nc7(i))
218 xd8(i)=x(1,nc8(i))
219 yd8(i)=x(2,nc8(i))
220 zd8(i)=x(3,nc8(i))
221 ENDDO
222 ENDIF
223
224 DO i=lft,llt
225 vx1(i)=v(1,nc1(i))
226 vy1(i)=v(2,nc1(i))
227 vz1(i)=v(3,nc1(i))
228 vx2(i)=v(1,nc2(i))
229 vy2(i)=v(2,nc2(i))
230 vz2(i)=v(3,nc2(i))
231 vx3(i)=v(1,nc3(i))
232 vy3(i)=v(2,nc3(i))
233 vz3(i)=v(3,nc3(i))
234 vx4(i)=v(1,nc4(i))
235 vy4(i)=v(2,nc4(i))
236 vz4(i)=v(3,nc4(i))
237 vx5(i)=v(1,nc5(i))
238 vy5(i)=v(2,nc5(i))
239 vz5(i)=v(3,nc5(i))
240 vx6(i)=v(1,nc6(i))
241 vy6(i)=v(2,nc6(i))
242 vz6(i)=v(3,nc6(i))
243 vx7(i)=v(1,nc7(i))
244 vy7(i)=v(2,nc7(i))
245 vz7(i)=v(3,nc7(i))
246 vx8(i)=v(1,nc8(i))
247 vy8(i)=v(2,nc8(i))
248 vz8(i)=v(3,nc8(i))
249 ENDDO
250
251
252
253 IF (ioutprt /= 0) THEN
254 DO i=lft,llt
255 vgax(i)=vx1(i)+vx2(i)+vx3(i)+vx4(i)+vx5(i)+vx6(i)+vx7(i)+vx8(i)
256 vgay(i)=vy1(i)+vy2(i)+vy3(i)+vy4(i)+vy5(i)+vy6(i)+vy7(i)+vy8(i)
257 vgaz(i)=vz1(i)+vz2(i)+vz3(i)+vz4(i)+vz5(i)+vz6(i)+vz7(i)+vz8(i)
258 vga2(i)=vx1(i)*vx1(i)+vx2(i)*vx2(i)+vx3(i)*vx3(i)+vx4(i)*vx4(i)
259 1 +vx5(i)*vx5(i)+vx6(i)*vx6(i)+vx7(i)*vx7(i)+vx8(i)*vx8(i)
260 2 +vy1(i)*vy1(i)+vy2(i)*vy2(i)+vy3(i)*vy3(i)+vy4(i)*vy4(i)
261 3 +vy5(i)*vy5(i)+vy6(i)*vy6(i)+vy7(i)*vy7(i)+vy8(i)*vy8(i)
262 4 +vz1(i)*vz1(i)+vz2(i)*vz2(i)+vz3(i)*vz3(i)+vz4(i)*vz4(i)
263 5 +vz5(i)*vz5(i)+vz6(i)*vz6(i)+vz7(i)*vz7(i)+vz8(i)*vz8(i)
264 ENDDO
265 IF(iparg(80)==1) THEN
266 DO i=lft,llt
267 xgax(i)=x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i)+x7(i)+x8(i)
268 xgay(i)=y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i)+y7(i)+y8(i)
269 xgaz(i)=z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i)+z7(i)+z8(i)
270 xgxa2(i)=x1(i)**2+x2(i)**2+x3(i)**2+x4(i)**2
271 1 +x5(i)**2+x6(i)**2+x7(i)**2+x8(i)**2
272 xgya2(i)=y1(i)**2+y2(i)**2+y3(i)**2+y4(i)**2
273 1 +y5(i)**2+y6(i)**2+y7(i)**2+y8(i)**2
274 xgza2(i)=z1(i)**2+z2(i)**2+z3(i)**2+z4(i)**2
275 1 +z5(i)**2+z6(i)**2+z7(i)**2+z8(i)**2
276 xgxya(i)=x1(i)*y1(i)+x2(i)*y2(i)+x3(i)*y3(i)+x4(i)*y4(i)
277 1 +x5(i)*y5(i)+x6(i)*y6(i)+x7(i)*y7(i)+x8(i)*y8(i)
278 xgyza(i)=y1(i)*z1(i)+y2(i)*z2(i)+y3(i)*z3(i)+y4(i)*z4(i)
279 1 +y5(i)*z5(i)+y6(i)*z6(i)+y7(i)*z7(i)+y8(i)*z8(i)
280 xgzxa(i)=z1(i)*x1(i)+z2(i)*x2(i)+z3(i)*x3(i)+z4(i)*x4(i)
281 1 +z5(i)*x5(i)+z6(i)*x6(i)+z7(i)*x7(i)*z8(i)*x8(i)
282 ENDDO
283 ENDIF
284 ENDIF
285
286 IF(inconv == 1) THEN
287
288 IF(ismstr == 1) THEN
289 DO i=lft,llt
290 IF (offg(i) >= 1 ) offg(i) = 1
291 ENDDO
292 IF (dt1 == zero) THEN
294 1 offg, sav, xd1, xd2,
295 2 xd3, xd4, xd5, xd6,
296 3 xd7, xd8, yd1, yd2,
297 4 yd3, yd4, yd5, yd6,
298 5 yd7, yd8, zd1, zd2,
299 6 zd3, zd4, zd5, zd6,
300 7 zd7, zd8, nel)
301 ENDIF
302 ELSE
304 1 offg, sav, xd1, xd2,
305 2 xd3, xd4, xd5, xd6,
306 3 xd7, xd8, yd1, yd2,
307 4 yd3, yd4, yd5, yd6,
308 5 yd7, yd8, zd1, zd2,
309 6 zd3, zd4, zd5, zd6,
310 7 zd7, zd8, nel)
311 ENDIF
312 ENDIF
313
314
315
316
317 IF((ismstr<=4.OR.(ismstr==12.AND.idtmin(1)==3)).AND.jlag>0) THEN
318 DO i=lft,llt
319 IF(abs(offg(i)) > one)THEN
320 off(i) = abs(offg(i))-one
321 off_l =
min(off_l,offg(i))
322 ELSE
323 off(i) = abs(offg(i))
324 off_l =
min(off_l,offg(i))
325 ENDIF
326 ENDDO
327 IF((ismstr==12.AND.idtmin(1)==3).AND.jlag>0) THEN
328 DO i=lft,llt
329 IF(abs(offg(i)) > one)THEN
330 END IF
331 ENDDO
332 END IF
333
334 ELSE
335 DO i=lft,llt
336 off(i) = abs(offg(i))
337 off_l =
min(off_l,offg(i))
338 ENDDO
339
340 ENDIF
341
343 1 sav, invj, xd1, xd2,
344 2 xd3, xd4, xd5, xd6,
345 3 xd7, xd8, yd1, yd2,
346 4 yd3, yd4, yd5, yd6,
347 5 yd7, yd8, zd1, zd2,
348 6 zd3, zd4, zd5, zd6,
349 7 zd7, zd8, r, nel)
350
351
352
353
354
355
356! . rx, ry, rz, sx, sy, sz, tx, ty, tz )
357
358
359
360!
361
362
363
364
365
366
367
368
369! rr23= r(1,3,i)*rd12(i)+r(2,3,i)*rd22(i)+r(3,3,i)*rd32(i)
370
371
372
373
374
375
376
377
379 1 sav, invj, xd1, xd2,
380 2 xd3, xd4, xd5, xd6,
381 3 xd7, xd8, yd1, yd2,
382 4 yd3, yd4, yd5, yd6,
383 5 yd7, yd8, zd1, zd2,
384 6 zd3, zd4, zd5, zd6,
385 7 zd7, zd8, v1, v2,
386 8 v3, v4, v5, v6,
387 9 v7, v8, r, trm,
388 a nel)
389
390 IF(ismstr == 1)THEN
391 IF(tt == zero) THEN
393 1 offg, xref, xd1, xd2,
394 2 xd3, xd4, xd5, xd6,
395 3 xd7, xd8, yd1, yd2,
396 4 yd3, yd4, yd5, yd6,
397 5 yd7, yd8, zd1, zd2,
398 6 zd3, zd4, zd5, zd6,
399 7 zd7, zd8, r, nel)
400 ENDIF
402 1 xref, xd1, xd2,
403 2 xd3, xd4, xd5, xd6,
404 3 xd7, xd8, yd1, yd2,
405 4 yd3, yd4, yd5, yd6,
406 5 yd7, yd8, zd1, zd2,
407 6 zd3, zd4, zd5, zd6,
408 7 zd7, zd8, ulx1, ulx2,
409 8 ulx3, ulx4, ulx5, ulx6,
410 9 ulx7, ulx8, uly1, uly2,
411 a uly3, uly4, uly5, uly6,
412 b uly7, uly8, ulz1, ulz2,
413 c ulz3, ulz4, ulz5, ulz6,
414 d ulz7, ulz8, r, nel)
415 ELSE
416
417
418
419
420
421
422
423
424
425
427 1 sav, xd1, xd2,
428 2 xd3, xd4, xd5, xd6,
429 3 xd7, xd8, yd1, yd2,
430 4 yd3, yd4, yd5, yd6,
431 5 yd7, yd8, zd1, zd2,
432 6 zd3, zd4, zd5, zd6,
433 7 zd7, zd8, ulx1, ulx2,
434 8 ulx3, ulx4, ulx5, ulx6,
435 9 ulx7, ulx8, uly1, uly2,
436 a uly3, uly4, uly5, uly6,
437 b uly7, uly8, ulz1, ulz2,
438 c ulz3, ulz4, ulz5, ulz6,
439 d ulz7, ulz8, r, nel)
440 ENDIF
441
442
443
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
476
477
478
479
480 DO i=lft,llt
481 x1(i)= xd1(i)
482 y1(i)= yd1(i)
483 z1(i)= zd1(i)
484 x2(i)= xd2(i)
485 y2(i)= yd2(i)
486 z2(i)= zd2(i)
487 x3(i)= xd3(i)
488 y3(i)= yd3(i)
489 z3(i)= zd3(i)
490 x4(i)= xd4(i)
491 y4(i)= yd4(i)
492 z4(i)= zd4(i)
493 x5(i)= xd5(i)
494 y5(i)= yd5(i)
495 z5(i)= zd5(i)
496 x6(i)= xd6(i)
497 y6(i)= yd6(i)
498 z6(i)= zd6(i)
499 x7(i)= xd7(i)
500 y7(i)= yd7(i)
501 z7(i)= zd7(i)
502 x8(i)= xd8(i)
503 y8(i)= yd8(i)
504 z8(i)= zd8(i)
505 ENDDO
506
507
508
509
510
511 IF(ismstr == 1)THEN
512 DO i = lft,llt
513 xd1(i) = zero
514 yd1(i) = zero
515 zd1(i) = zero
516 xd2(i) = sav(i,1)
517 yd2(i) = sav(i,2)
518 zd2(i) = sav(i,3)
519 xd3(i) = sav(i,4)
520 yd3(i) = sav(i,5)
521 zd3(i) = sav(i,6)
522 xd4(i) = sav(i,7)
523 yd4(i) = sav(i,8)
524 zd4(i) = sav(i,9)
525 xd5(i) = sav(i,10)
526 yd5(i) = sav(i,11)
527 zd5(i) = sav(i,12)
528 xd6(i) = sav(i,13)
529 yd6(i) = sav(i,14)
530 zd6(i) = sav(i,15)
531 xd7(i) = sav(i,16)
532 yd7(i) = sav(i,17)
533 zd7(i) = sav(i,18)
534 xd8(i) = sav(i,19)
535 yd8(i) = sav(i,20)
536 zd8(i) = sav(i,21)
537 ENDDO
538 ELSE IF(ismstr == 2 .OR. ismstr == 4) THEN
539 DO i=lft,llt
540 ug = xd2(i)-xd1(i)
541 vg = yd2(i)-yd1(i)
542 wg = zd2(i)-zd1(i)
543 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
544 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
545 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
546 xd2(i) = ul
547 yd2(i) = vl
548 zd2(i) = wl
549
550 ug = xd3(i)-xd1(i)
551 vg = yd3(i)-yd1(i)
552 wg = zd3(i)-zd1(i)
553 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
554 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
555 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
556 xd3(i) = ul
557 yd3(i) = vl
558 zd3(i) = wl
559
560 ug = xd4(i)-xd1(i)
561 vg = yd4(i)-yd1(i)
562 wg = zd4(i)-zd1(i)
563 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
564 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
565 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
566 xd4(i) = ul
567 yd4(i) = vl
568 zd4(i) = wl
569
570 ug = xd5(i)-xd1(i)
571 vg = yd5(i)-yd1(i)
572 wg = zd5(i)-zd1(i)
573 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
574 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
575 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
576 xd5(i) = ul
577 yd5(i) = vl
578 zd5(i) = wl
579
580 ug = xd6(i)-xd1(i)
581 vg = yd6(i)-yd1(i)
582 wg = zd6(i)-zd1(i)
583 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
584 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
585 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
586 xd6(i) = ul
587 yd6(i) = vl
588 zd6(i) = wl
589
590 ug = xd7(i)-xd1(i)
591 vg = yd7(i)-yd1(i)
592 wg = zd7(i)-zd1(i)
593 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
594 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
595 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
596 xd7(i) = ul
597 yd7(i) = vl
598 zd7(i) = wl
599
600 ug = xd8(i)-xd1(i)
601 vg = yd8(i)-yd1(i)
602 wg = zd8(i)-zd1(i)
603 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
604 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
605 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
606 xd8(i) = ul
607 yd8(i) = vl
608 zd8(i) = wl
609
610 xd1(i)=zero
611 yd1(i)=zero
612 zd1(i)=zero
613 ENDDO
614 ENDIF
615
616
617
618
619
620
621
622
623
624
625
626
627 IF(off_l < zero)THEN
628 DO i=lft,llt
629 IF(offg(i) < zero)THEN
630 vx1(i)=zero
631 vy1(i)=zero
632 vz1(i)=zero
633 vx2(i)=zero
634 vy2(i)=zero
635 vz2(i)=zero
636 vx3(i)=zero
637 vy3(i)=zero
638 vz3(i)=zero
639 vx4(i)=zero
640 vy4(i)=zero
641 vz4(i)=zero
642 vx5(i)=zero
643 vy5(i)=zero
644 vz5(i)=zero
645 vx6(i)=zero
646 vy6(i)=zero
647 vz6(i)=zero
648 vx7(i)=zero
649 vy7(i)=zero
650 vz7(i)=zero
651 vx8(i)=zero
652 vy8(i)=zero
653 vz8(i)=zero
654 ENDIF
655 ENDDO
656 ENDIF
657
658 DO i=lft,llt
659 vd2(i)=zero
660 ENDDO
661
662 RETURN
subroutine crframe_imp(sav, invj, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, r, nel)
subroutine crtrans_imp(sav, invj, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, v1, v2, v3, v4, v5, v6, v7, v8, r, trm, nel)
subroutine getuloc(sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, ulx1, ulx2, ulx3, ulx4, ulx5, ulx6, ulx7, ulx8, uly1, uly2, uly3, uly4, uly5, uly6, uly7, uly8, ulz1, ulz2, ulz3, ulz4, ulz5, ulz6, ulz7, ulz8, r, nel)
subroutine s8sav3_imp(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)
subroutine s8xref_imp(offg, xref, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, r, nel)