35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "mvsiz_p.inc"
43
44
45
46#include "scr05_c.inc"
47
48
49
50 INTEGER, INTENT(IN) :: NEL
51 INTEGER NC(MVSIZ,10)
52
53 double precision
54 . xdp(3,*)
55
57 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
58 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
59 . r31(mvsiz),r32(mvsiz),r33(mvsiz),off(*),
60 . x(3,*)
61 DOUBLE PRECISION
62 . XX(MVSIZ,4), YY(MVSIZ,4), (MVSIZ,4)
63
64
65
66 INTEGER I,N ,NN
67
69 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
70 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
71 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz)
72
73 DO n=1,4
74 DO i=1,nel
75 nn = nc(i,n)
76 IF(iresp==1)THEN
77 xx(i,n)=xdp(1,nn)
78 yy(i,n)=xdp(2,nn)
79 zz(i,n)=xdp(3,nn)
80 ELSE
81 xx(i,n)=x(1,nn)
82 yy(i,n)=x(2,nn)
83 zz(i,n)=x(3,nn)
84 ENDIF
85 END DO
86 END DO
87
88
89
90 DO i=1,nel
91 IF (off(i) <= one ) cycle
92 rx(i) = xx(i,1) - xx(i,4)
93 ry(i) = yy(i,1) - yy(i,4)
94 rz(i) = zz(i,1) - zz(i,4)
95 sx(i) = xx(i,2) - xx(i,4)
96 sy(i) = yy(i,2) - yy(i,4)
97 sz(i) = zz(i,2) - zz(i,4)
98 tx(i) = xx(i,3) - xx(i,4)
99 ty(i) = yy(i,3) - yy(i,4)
100 tz(i) = zz(i,3) - zz(i,4)
101 END DO
103 1 off, rx, ry, rz,
104 2 sx, sy, sz, tx,
105 3 ty, tz, r11, r12,
106 4 r13, r21, r22, r23,
107 5 r31, r32, r33, nel)
108
109 RETURN
subroutine smortho3(off, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, nel)