32 2 NBY ,STIFN,STIFR,WEIGHT,NSL ,
33 3 RBF6 ,ICOD ,ARBY ,VRBY ,ARRBY,
38#include "implicit_f.inc"
46 INTEGER NOD(*), NBY(*), WEIGHT(*), ICOD(2,*),
50 . af(3,*), am(3,*), x(3,*), rby(*),
52 . vrrby(3,*),arby(3,*),arrby(3,*),vrby(3,*)
53 DOUBLE PRECISION RBF6(6,6)
57 INTEGER M, I, N, LCOD, ISK, K
60 . vi(3),xg,yg,zg,ii1,ii2,ii3,ii4,ii5,ii6,ii7,ii8,
61 . ii9,wa1,wa2,wa3,det,in,msrby,rx,ry,rz,rb(12),
62 . f1(nsl), f2(nsl), f3(nsl), f4(nsl),
77 IF (weight(n) == 1)
THEN
84 f4(i) = am(1,n) + ry*af(3,n) - rz*af(2,n)
85 f5(i) = am(2,n) + rz*af(1,n) - rx*af(3,n)
86 f6(i) = am(3,n) + rx*af(2,n) - ry*af(1,n)
116 ELSEIF (iflag==2)
THEN
120 arby(1,m) = rbf6(1,1)+rbf6(1,2)+rbf6(1,3)+
121 + rbf6(1,4)+rbf6(1,5)+rbf6(1,6)
122 arby(2,m) = rbf6(2,1)+rbf6(2,2)+rbf6(2,3)+
123 + rbf6(2,4)+rbf6(2,5)+rbf6(2,6)
124 arby(3,m) = rbf6(3,1)+rbf6(3,2)+rbf6(3,3)+
125 + rbf6(3,4)+rbf6(3,5)+rbf6(3,6)
126 arrby(1,m) = rbf6(4,1)+rbf6(4,2)+rbf6(4,3)+
127 + rbf6(4,4)+rbf6(4,5)+rbf6(4,6)
128 arrby(2,m) = rbf6(5,1)+rbf6(5,2)+rbf6(5,3)+
129 + rbf6(5,4)+rbf6(5,5)+rbf6(5,6)
130 arrby(3,m) = rbf6(6,1)+rbf6(6,2)+rbf6(6,3)+
131 + rbf6(6,4)+rbf6(6,5)+rbf6(6,6)
149 vi(1)=rb(1)*vrrby(1,m) + rb(2)*vrrby(2,m)
151 vi(2)=rb(4)*vrrby(1,m) + rb(5)*vrrby(2,m)
153 vi(3)=rb(7)*vrrby(1,m) + rb(8)*vrrby(2,m)
168 rby(18)=rb(1)*ii1 + rb(4)*ii4 + rb(7)*ii7
169 rby(19)=rb(1)*ii2 + rb(4)*ii5 + rb(7)*ii8
170 rby(20)=rb(1)*ii3 + rb(4)*ii6 + rb(7)*ii9
171 rby(21)=rb(2)*ii1 + rb(5)*ii4 + rb(8)*ii7
172 rby(22)=rb(2)*ii2 + rb(5)*ii5 + rb(8)*ii8
173 rby(23)=rb(2)*ii3 + rb(5)*ii6 + rb(8)*ii9
174 rby(24)=rb(3)*ii1 + rb(6)*ii4 + rb(9)*ii7
175 rby(25)=rb(3)*ii2 + rb(6)*ii5 + rb(9)*ii8
176 rby(26)=rb(3)*ii3 + rb(6)*ii6 + rb(9)*ii9
179 wa1=rby(18)*vrrby(1,m)+rby(19)*vrrby(2,m)+rby(20)*vrrby(3,m)
180 wa2=rby(21)*vrrby(1,m)+rby(22)*vrrby(2,m)+rby(23)*vrrby(3,m)
181 wa3=rby(24)*vrrby(1,m)+rby(25)*vrrby(2,m)+rby(26)*vrrby(3,m)
183 arrby(1,m)=arrby(1,m) + (wa2*vrrby(3,m)-wa3*vrrby(2,m))
184 arrby(2,m)=arrby(2,m) + (wa3*vrrby(1,m)-wa1*vrrby(3,m))
185 arrby(3,m)=arrby(3,m) + (wa1*vrrby(2,m)-wa2*vrrby(1,m))
199 det=one/(rby(18)*rby(22) - rby(19)*rby(21))
202 arrby(1,m)=( rby(22)*wa1 - rby(21)*wa2)*det
203 arrby(2,m)=(-rby(19)*wa1 + rby(18)*wa2)*det
206 ELSEIF(lcod == 2)
THEN
207 det=one/(rby(18)*rby(26) - rby(20)*rby(24))
210 arrby(1,m)=( rby(26)*wa1 - rby(24)*wa2)*det
212 arrby(3,m)=(-rby(20)*wa1 + rby(18)*wa2)*det
214 ELSEIF(lcod == 3)
THEN
215 arrby(1,m)=arrby(1,m)/rby(18)
220 ELSEIF(lcod == 4)
THEN
221 det=one/(rby(22)*rby(26) - rby(23)*rby(25))
225 arrby(2,m)=( rby(26)*wa1 - rby(25)*wa2)*det
226 arrby(3,m)=(-rby(23)*wa1 + rby(22)*wa2)*det
228 ELSEIF(lcod == 5)
THEN
230 arrby(2,m) =arrby(2,m)/rby(22)
234 ELSEIF(lcod == 6)
THEN
237 arrby(3,m)=arrby(3,m)/rby(26)
240 ELSEIF(lcod == 7)
THEN
259 arrby(1,m) = rb(1)*wa1 + rb(2)*wa2 + rb(3)*wa3
260 arrby(2,m) = rb(4)*wa1 + rb(5)*wa2 + rb(6)*wa3
261 arrby(3,m) = rb(7)*wa1 + rb(8)*wa2 + rb(9)*wa3
263 vi(1) = rb(1)*vrrby(1,m)+rb(2)*vrrby(2,m)+rb(3)*vrrby(3,m)
264 vi(2) = rb(4)*vrrby(1,m)+rb(5)*vrrby(2,m)+rb(6)*vrrby(3,m)
265 vi(3) = rb(7)*vrrby(1,m)+rb(8)*vrrby(2,m)+rb(9)*vrrby(3,m)
268 arrby(1,m) = arrby(1,m)
269 . + ((rb(11)-rb(12))*vi(2)*vi(3))
270 arrby(2,m) = arrby(2,m)
271 . + ((rb(12)-rb(10))*vi(3)*vi(1))
272 arrby(3,m) = arrby(3,m)
273 . + ((rb(10)-rb(11))*vi(1)*vi(2))
277 wa1 = arrby(1,m)*in/rb(10)
278 wa2 = arrby(2,m)*in/rb(11)
279 wa3 = arrby(3,m)*in/rb(12)
281 arrby(1,m) = rb(1)*wa1 + rb(4)*wa2 + rb(7)*wa3
282 arrby(2,m) = rb(2)*wa1 + rb(5)*wa2 + rb(8)*wa3
283 arrby(3,m) = rb(3)*wa1 + rb(6)*wa2 + rb(9)*wa3
296 rby(18)=rb(1)*ii1 + rb(4)*ii4 + rb(7)*ii7
297 rby(19)=rb(1)*ii2 + rb(4)*ii5 + rb(7)*ii8
298 rby(20)=rb(1)*ii3 + rb(4)*ii6 + rb(7)*ii9
299 rby(21)=rb(2)*ii1 + rb(5)*ii4 + rb(8)*ii7
300 rby(22)=rb(2)*ii2 + rb(5)*ii5 + rb(8)*ii8
301 rby(23)=rb(2)*ii3 + rb(5)*ii6 + rb(8)*ii9
302 rby(24)=rb(3)*ii1 + rb(6)*ii4 + rb(9)*ii7
303 rby(25)=rb(3)*ii2 + rb(6)*ii5 + rb(9)*ii8
304 rby(26)=rb(3)*ii3 + rb(6)*ii6 + rb(9)*ii9
311 arby(1,m) = arby(1,m) / msrby
312 arby(2,m) = arby(2,m) / msrby
313 arby(3,m) = arby(3,m) / msrby
321 arrby(1,m) = arrby(1,m) / in
322 arrby(2,m) = arrby(2,m) / in
323 arrby(3,m) = arrby(3,m) / in
334 ELSEIF(lcod == 2)
THEN
337 ELSEIF(lcod == 3)
THEN
342 ELSEIF(lcod == 4)
THEN
345 ELSEIF(lcod == 5)
THEN
350 ELSEIF(lcod == 6)
THEN
355 ELSEIF(lcod == 7)
THEN