31
32
33
34#include "implicit_f.inc"
35
36
37
38
39
40
41 INTEGER, INTENT(IN) ::
43 . x(3,*),tens(6),gama(6)
44 INTEGER IXQ(NIXQ), KCVT
45
46
47
49 . x1, x2, x3, x4,
50 . y1, y2, y3, y4,
51 . z1, z2, z3, z4,
52 . l11,l12,l13,l22,l23,l33,
53 . r22,r23,r32,r33,
54 . g22,g33,g23,g32,
55 . t22,t33,t23,t32,
56 . s11,s12,s21,s13,s31,s22,s23,s32,s33,
57 . sy,sz,ty,tz,ct,cs,suma,
58 . t1,t2,t3,t4,s1,s2,s3,s4
59 INTEGER NC1, NC2, NC3, NC4, N, I
60
61 nc1=ixq(2)
62 nc2=ixq(3)
63 nc3=ixq(4)
64 nc4=ixq(5)
65
66
67
68 y1=x(2,nc1)
69 z1=x(3,nc1)
70 y2=x(2,nc2)
71 z2=x(3,nc2)
72 y3=x(2,nc3)
73 z3=x(3,nc3)
74 y4=x(2,nc4)
75 z4=x(3,nc4)
76
77
78
79 sy=half*(y2+y3-y1-y4)
80 sz=half*(z2+z3-z1-z4)
81 ty=half*(y3+y4-y1-y2)
82 tz=half*(z3+z4-z1-z2)
83 ct = ty*ty+tz*tz
84 cs = sy*sy+sz*sz
85 IF(cs /= zero) THEN
86 suma = sqrt(ct/
max(em20,cs))
87 sy = sy*suma + tz
88 sz = sz*suma - ty
89 ELSEIF(ct /= zero)THEN
90 suma = sqrt(cs/
max(em20,ct))
91 sy = sy + tz*suma
92 sz = sz - ty*suma
93 END IF
94 suma=one/
max(sqrt(sy*sy+sz*sz),em20)
95 sy=sy*suma
96 sz=sz*suma
97
98
99
100 r22= sy
101 r32=-sz
102 r23= sz
103 r33= sy
104
105 IF (isorth /= 0) THEN
106 IF (kcvt == 0) THEN
107 g22=gama(1)
108 g32=gama(2)
109 g23=gama(4)
110 g33=gama(5)
111
112
113
114 t22=r22*g22+r23*g32
115 t23=r22*g23+r23*g33
116 t32=r32*g22+r33*g32
117 t33=r32*g23+r33*g33
118 r22=t22
119 r23=t23
120 r32=t32
121 r33=t33
122 ELSEIF (kcvt /=0) THEN
123 g22=gama(2)
124 g32=gama(3)
125 g23=gama(5)
126 g33=gama(6)
127 t22=r22*g22+r23*g32
128 t23=r22*g23+r23*g33
129 t32=r32*g22+r33*g32
130 t33=r32*g23+r33*g33
131
132
133
134 r22=t22
135 r23=t23
136 r32=t32
137 r33=t33
138 ENDIF
139 END IF
140
141
142
143 s1=tens(1)
144 s2=tens(2)
145 s4=tens(4)
146
147 IF (kcvt == 0) THEN
148
149
150
151 t1=s1*r22+s4*r23
152 t2=s4*r32+s2*r33
153 t3=s1*r32+s4*r33
154 t4=s4*r22+s2*r23
155 tens(1)=r22*t1+r23*t4
156 tens(2)=r32*t3+r33*t2
157 tens(4)=r22*t3+r23*t2
158 ELSE
159
160
161
162 t1=s1*r22-s4*r23
163 t2=-s4*r32+s2*r33
164 t3=-s1*r32+s4*r33
165 t4=s4*r22-s2*r23
166 tens(1)=r22*t1-r23*t4
167 tens(2)=-r32*t3+r33*t2
168 tens(4)=r22*t3-r23*t2
169 ENDIF
170
171 RETURN