41 5 E2Z, E3Z, GAMA0, GAMA,
46#include "implicit_f.inc"
54 INTEGER,
INTENT(IN) :: NEL
55 INTEGER,
INTENT(IN) :: IREP
56 my_real,
DIMENSION(NEL),
INTENT(IN) ::
57 . RX, RY, RZ, SX, SY, SZ, TX, TY, TZ,
58 . E1X, E1Y, E1Z, E2X, E2Y, E2Z, E3X, E3Y, E3Z
60 .
DIMENSION(NEL,6),
INTENT(IN) :: gama0
62 .
DIMENSION(MVSIZ,6),
INTENT(OUT) :: gama
72 . UX,UY,UZ,VX,VY,VZ,D1,D2,D3,SUMA
76 gama(i,1) = gama0(i,1)
77 gama(i,2) = gama0(i,2)
78 gama(i,3) = gama0(i,3)
79 gama(i,4) = gama0(i,4)
80 gama(i,5) = gama0(i,5)
81 gama(i,6) = gama0(i,6)
83 ELSEIF (irep > 0)
THEN
89 d1 = gama0(i,1)*rx(i) + gama0(i,2)*sx(i) + gama0(i,3)*tx(i)
90 d2 = gama0(i,1)*ry(i) + gama0(i,2)*sy(i) + gama0(i,3)*ty(i)
91 d3 = gama0(i,1)*rz(i) + gama0(i,2)*sz(i) + gama0(i,3)*tz(i)
93 ux = d1*e1x(i)+ d2*e1y(i) + d3*e1z(i)
94 uy = d1*e2x(i)+ d2*e2y(i) + d3*e2z(i)
95 uz = d1*e3x(i)+ d2*e3y(i) + d3*e3z(i)
96 suma = one/sqrt(ux*ux + uy*uy + uz*uz)
101 d1 = gama0(i,4)*rx(i) + gama0(i,5)*sx(i) + gama0(i,6)*tx(i)
102 d2 = gama0(i,4)*ry(i) + gama0(i,5)*sy(i) + gama0(i,6)*ty(i)
103 d3 = gama0(i,4)*rz(i) + gama0(i,5)*sz(i) + gama0(i,6)*tz(i)
104 vx = d1*e1x(i)+ d2*e1y(i) + d3*e1z(i)
105 vy = d1*e2x(i)+ d2*e2y(i) + d3*e2z(i)
106 vz = d1*e3x(i)+ d2*e3y(i) + d3*e3z(i)
107 suma = one/sqrt(vx*vx + vy*vy + vz*vz)
114 d1 = gama(i,2) * vz - gama(i,3) * vy
115 d2 = gama(i,3) * vx - gama(i,1) * vz
116 d3 = gama(i,1) * vy - gama(i,2) * vx
117 gama(i,4) = d2 * gama(i,3) - d3 * gama(i,2)
118 gama(i,5) = d3 * gama(i,1) - d1 * gama(i,3)
119 gama(i,6) = d1 * gama(i,2) - d2 * gama(i,1)
subroutine sorthdir3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, gama0, gama, nel, irep)