37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48 INTEGER, INTENT(INOUT) :: LFT
49 INTEGER, INTENT(INOUT) :: LLT
50 INTEGER, INTENT(INOUT) :: NFT
51 INTEGER IRECT(4,*), MSR(*), IRTL(*),ILEV
53 . xs(3,*),xm(3,*),x(3,*),tets(*)
54 INTEGER, DIMENSION(MVSIZ), INTENT(OUT) :: IX1,IX2,IX3,IX4
55 my_real,
DIMENSION(MVSIZ),
INTENT(OUT) :: x1,x2,x3,x4,xi
56 my_real,
DIMENSION(MVSIZ),
INTENT(OUT) :: y1,y2,y3,y4,yi
57 my_real,
DIMENSION(MVSIZ),
INTENT(OUT) :: z1,z2,z3,z4,zi
58 my_real,
DIMENSION(MVSIZ),
INTENT(OUT) :: xface
59
60
61
62
63
64
65 INTEGER I, IL, L,
67 . deupi,tetmin,tetmax,rmin
68
69
70 deupi=two*pi
71
72 DO i=lft,llt
73 xface(i)=one
74 il=i+nft
75 l=irtl(il)
76
77 xi(i)=xs(1,il)
78 yi(i)=xs(2,il)
79 zi(i)=xs(3,il)
80
81 nn=irect(1,l)
82 ix1(i)=msr(nn)
83 x1(i)=xm(1,nn)
84 y1(i)=xm(2,nn)
85 z1(i)=xm(3,nn)
86
87 nn=irect(2,l)
88 ix2(i)=msr(nn)
89 x2(i)=xm(1,nn)
90 y2(i)=xm(2,nn)
91 z2(i)=xm(3,nn)
92
93 nn=irect(3,l)
94 ix3(i)=msr(nn)
95 x3(i)=xm(1,nn)
96 y3(i)=xm(2,nn)
97 z3(i)=xm(3,nn)
98
99 nn=irect(4,l)
100 ix4(i)=msr(nn)
101 x4(i)=xm(1,nn)
102 y4(i)=xm(2,nn)
103 z4(i)=xm(3,nn)
104 ENDDO
105
106 IF(ilev==1)THEN
107
108
109
110 DO i=lft,llt
111 tetmin=
min(z1(i),z2(i),z3(i),z4(i),zi(i))
112 tetmax=
max(z1(i),z2(i),z3(i),z4(i),zi(i))
113 IF(tetmax-tetmin >= pi)THEN
114 IF(z1(i)<zero)z1(i)=z1(i)+deupi
115 IF(z2(i)<zero)z2(i)=z2(i)+deupi
116 IF(z3(i)<zero)z3(i)=z3(i)+deupi
117 IF(z4(i)<zero)z4(i)=z4(i)+deupi
118 IF(zi(i)<zero)zi(i)=zi(i)+deupi
119 ENDIF
120 ENDDO
121
122
123
124
125 DO i=lft,llt
126 rmin=
min(y1(i),y2(i),y3(i),y4(i))
127 IF(yi(i)<rmin)THEN
128 tetmin=
min(z1(i),z2(i),z3(i),z4(i))
129 tetmax=
max(z1(i),z2(i),z3(i),z4(i))
130 IF(tetmax-tetmin >= pi)THEN
131 il=i+nft
132 l=irtl(il)
133 nn=msr(irect(1,l))
134 ix1(i)=nn
135 x1(i)=x(1,nn)
136 y1(i)=x(2,nn)
137 z1(i)=x(3,nn)
138
139 nn=msr(irect(2,l))
140 ix2(i)=nn
141 x2(i)=x(1,nn)
142 y2(i)=x(2,nn)
143 z2(i)=x(3,nn)
144
145 nn=msr(irect(3,l))
146 ix3(i)=nn
147 x3(i)=x(1,nn)
148 y3(i)=x(2,nn)
149 z3(i)=x(3,nn)
150
151 nn=msr(irect(4,l))
152 ix4(i)=nn
153 x4(i)=x(1,nn)
154 y4(i)=x(2,nn)
155 z4(i)=x(3,nn)
156 tets(i)=10001.
157 ENDIF
158 ENDIF
159 ENDDO
160 ENDIF
161
162 RETURN