30
31
32
33#include "implicit_f.inc"
34
35
36
37 INTEGER ILEV,IREF,ICEN,ISKWN(LISKN,*),NSN,
39 . xs(3,*),xm(3,*),x(3,*),skew(lskew,*),tets(*),tetm(*)
40
41
42
43#include "param_c.inc"
44
45
46
47 INTEGER I,ORIG
49 . xx(3),xo(3),xr(3),rr,tet,p(9)
50
51 IF(ilev==1)THEN
52
53 IF(icen>0)THEN
54 xo(1)=x(1,icen)
55 xo(2)=x(2,icen)
56 xo(3)=x(3,icen)
57 ELSE
58 xo(1)=zero
59 xo(2)=zero
60 xo(3)=zero
61 ENDIF
62 DO i=1,9
63 p(i)=skew(i,iref+1)
64 ENDDO
65 DO i=1,nsn
66 xx(1)=xs(1,i)-xo(1)
67 xx(2)=xs(2,i)-xo(2)
68 xx(3)=xs(3,i)-xo(3)
69 xr(1)=p(1)*xx(1)+p(2)*xx(2)+p(3)*xx(3)
70 xr(2)=p(4)*xx(1)+p(5)*xx(2)+p(6)*xx(3)
71 xr(3)=p(7)*xx(1)+p(8)*xx(2)+p(9)*xx(3)
72 rr=sqrt(xr(2)**2+xr(3)**2)
73 IF(xr(3)/=zero.AND.xr(2)/=zero) THEN
74 tet=atan2(xr(3),xr(2))
75 ELSE
76 tet=zero
77 ENDIF
78 xs(1,i)=xr(1)
79 xs(2,i)=rr
80 xs(3,i)=tet
81 tets(i)=tet
82 ENDDO
83 DO i=1,nmn
84 xx(1)=xm(1,i)-xo(1)
85 xx(2)=xm(2,i)-xo(2)
86 xx(3)=xm(3,i)-xo(3)
87 xr(1)=p(1)*xx
88 xr(2)=p(4)*xx(1)+p(5)*xx(2)+p(6)*xx(3)
89 xr(3)=p(7)*xx(1)+p(8)*xx(2)+p(9)*xx(3)
90 rr=sqrt(xr(2)**2+xr(3)**2)
91 IF(xr(3)/=zero.AND.xr(2)/=zero) THEN
92 tet=atan2(xr(3),xr(2))
93 ELSE
94 tet=zero
95 ENDIF
96 xm(1,i)=xr(1)
97 xm(2,i)=rr
98 xm(3,i)=tet
99 tetm(i)=tet
100 ENDDO
101 ENDIF
102
103 RETURN