33
34
35
36#include "implicit_f.inc"
37
38
39
40#include "mvsiz_p.inc"
41
42
43
44#include "vect01_c.inc"
45
46
47
48 INTEGER IXQ(NIXQ,*), NGL(*), MXT(*), PID(*)
49 INTEGER IX1(*), IX2(*), IX3(*), IX4(*)
51 . x(3,*),e1y(*),e1z(*),e2y(*),e2z(*)
53 . y1(*), y2(*), y3(*), y4(*),
54 . z1(*), z2(*), z3(*), z4(*),yavg(*),y234(*),y124(*)
55
56
57
58 INTEGER I
60 . sy(mvsiz) ,sz(mvsiz) ,
61 . ty(mvsiz) ,tz(mvsiz), suma,ct,cs
62
63
64
65 DO i=lft,llt
66 mxt(i)=ixq(1,i)
67 ix1(i)=ixq(2,i)
68 ix2(i)=ixq(3,i)
69 ix3(i)=ixq(4,i)
70 ix4(i)=ixq(5,i)
71 pid(i)=ixq(6,i)
72 ngl(i)=ixq(nixq,i)
73 END DO
74
75
76
77
78 DO i=lft,llt
79 y1(i)=x(2,ix1(i))
80 z1(i)=x(3,ix1(i))
81 y2(i)=x(2,ix2(i))
82 z2(i)=x(3,ix2(i))
83 y3(i)=x(2,ix3(i))
84 z3(i)=x(3,ix3(i))
85 y4(i)=x(2,ix4(i))
86 z4(i)=x(3,ix4(i))
87 END DO
88 DO i=lft,llt
89 yavg(i) = fourth*(y1(i)+y2(i)+y3(i)+y4(i))
90 y234(i)=y2(i)+y3(i)+y4(i)
91 y124(i)=y1(i)+y2(i)+y4(i)
92 END DO
93
94
95
96 DO i=lft,llt
97 sy(i)=half*(y2(i)+y3(i)-y1(i)-y4(i))
98 sz(i)=half*(z2(i)+z3(i)-z1(i)-z4(i))
99 ty(i)=half*(y3(i)+y4(i)-y1(i)-y2(i))
100 tz(i)=half*(z3(i)+z4(i)-z1(i)-z2(i))
101 END DO
102
103
104
105
106 DO i=lft,llt
107 ct = ty(i)*ty(i)+tz(i)*tz(i)
108 cs = sy(i)*sy(i)+sz(i)*sz(i)
109 IF(cs /= zero) THEN
110 suma = sqrt(ct/
max(em20,cs))
111 e1y(i) = sy(i)*suma + tz(i)
112 e1z(i) = sz(i)*suma - ty(i)
113 ELSEIF(ct /= zero)THEN
114 suma = sqrt(cs/
max(em20,ct))
115 e1y(i) = sy(i) + tz(i)*suma
116 e1z(i) = sz(i) - ty(i)*suma
117 END IF
118 suma=sqrt(e1y(i)**2+e1z(i)**2)
119 suma=one/
max(suma,em20)
120 e1y(i)=e1y(i)*suma
121 e1z(i)=e1z(i)*suma
122 e2y(i)=-e1z(i)
123 e2z(i)= e1y(i)
124 ENDDO
125
126 RETURN