40#include "implicit_f.inc"
48 INTEGER,
INTENT(IN) :: NEL
50 my_real,
INTENT(IN),
DIMENSION(MVSIZ) ::
51 . RX, RY, RZ, SX, SY, SZ, TX, TY, TZ
52 my_real,
INTENT(OUT),
DIMENSION(MVSIZ) ::
53 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z
68 e3y(i) = tz(i) * rx(i) - tx(i) * rz(i)
71 det = sqrt(e3x(i)*e3x(i) + e3y(i)*e3y(i) + e3z(i)*e3z(i))
72 IF ( det/=zero) det = one / det
77 c1=sqrt(tx(i)*tx(i)+ty(i)*ty(i)+tz(i)*tz(i))
78 c2=sqrt(rx(i)*rx(i)+ry(i)*ry(i)+rz(i)*rz(i))
79 e1x(i)=tx(i)*c2 +(ry(i) * e3z(i) - rz(i) * e3y(i))*c1
80 e1y(i)=ty(i)*c2 +(rz(i) * e3x(i) - rx(i) * e3z(i))*c1
81 e1z(i)=tz(i)*c2 +(rx(i) * e3y(i) - ry(i) * e3x(i))*c1
82 det = sqrt(e1x(i)*e1x(i) + e1y(i)*e1y(i) + e1z(i)*e1z(i))
83 IF ( det/=zero) det = one / det
88 e2x(i) = e3y(i) * e1z(i) - e3z(i) * e1y(i)
89 e2y(i) = e3z(i) * e1x(i) - e3x(i) * e1z(i)
90 e2z(i) = e3x(i) * e1y(i) - e3y(i) * e1x(i)
subroutine scortho3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, nel)