43
45
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "vect01_c.inc"
54#include "com04_c.inc"
55
56
57
58 INTEGER ,INTENT(IN) :: NINTEMP
59 INTEGER IXS(NIXS,*),MXT(*),NGL(*),NGEO(*),
60 . IX1(*),IX2(*),IX3(*),IX4(*),IX5(*),IX6(*),IX7(*),IX8(*)
62 . x(3,*),geo(*),
63 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
64 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
65 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
66 . rx(*) ,ry(*) ,rz(*) ,sx(*) ,sy(*) ,sz(*) ,tx(*) ,ty(*) ,tz(*),
67 . r11(*),r12(*),r13(*),r21(*),r22(*),r23(*),r31(*),r32(*),r33(*),
68 . f1x(*),f1y(*),f1z(*),f2x(*),f2y(*),f2z(*),temp0(*),temp(*)
69
70
71
72 INTEGER I, J
74 . xl,yl,zl
75
76
77
80
81
82
83 DO i=lft,llt
84 mxt(i)=ixs(1,i)
85 ix1(i)=ixs(2,i)
86 ix2(i)=ixs(3,i)
87 ix3(i)=ixs(4,i)
88 ix4(i)=ixs(5,i)
89 ix5(i)=ixs(6,i)
90 ix6(i)=ixs(7,i)
91 ix7(i)=ixs(8,i)
92 ix8(i)=ixs(9,i)
93 ngeo(i)=ixs(nixs-1,i)
94 ngl(i)=ixs(nixs,i)
96
97 ix1(i)=ixs(6,i)
98 ix2(i)=ixs(7,i)
99 ix3(i)=ixs(8,i)
100 ix4(i)=ixs(9,i)
101 ix5(i)=ixs(2,i)
102 ix6(i)=ixs(3,i)
103 ix7(i)=ixs(4,i)
104 ix8(i)=ixs(5,i)
105 ixs(2,i)=ix1(i)
106 ixs(3,i)=ix2(i)
107 ixs(4,i)=ix3(i)
108 ixs(5,i)=ix4(i)
109 ixs(6,i)=ix5(i)
110 ixs(7,i)=ix6(i)
111 ixs(8,i)=ix7(i)
112 ixs(9,i)=ix8(i)
113 ENDIF
114 ENDDO
115
116
117
118 DO 20 i=lft,llt
119 x1(i)=x(1,ix1(i))
120 y1(i)=x(2,ix1(i))
121 z1(i)=x(3,ix1(i))
122 x2(i)=x(1,ix2(i))
123 y2(i)=x(2,ix2(i))
124 z2(i)=x(3,ix2(i))
125 x3(i)=x(1,ix3(i))
126 y3(i)=x(2,ix3(i))
127 z3(i)=x(3,ix3(i))
128 x4(i)=x(1,ix4(i))
129 y4(i)=x(2,ix4(i))
130 z4(i)=x(3,ix4(i))
131 x5(i)=x(1,ix5(i))
132 y5(i)=x(2,ix5(i))
133 z5(i)=x(3,ix5(i))
134 x6(i)=x(1,ix6(i))
135 y6(i)=x(2,ix6(i))
136 z6(i)=x(3,ix6(i))
137 x7(i)=x(1,ix7(i))
138 y7(i)=x(2,ix7(i))
139 z7(i)=x(3,ix7(i))
140 x8(i)=x(1,ix8(i))
141 y8(i)=x(2,ix8(i))
142 z8(i)=x(3,ix8(i))
143 20 CONTINUE
144 DO i=lft,llt
145 f1x(i) = x2(i) + x3(i) - x1(i) - x4(i)
146 f1y(i) = y2(i) + y3(i) - y1(i) - y4(i)
147 f1z(i) = z2(i) + z3(i) - z1(i) - z4(i)
148 f2x(i) = x3(i) + x3(i) - x1(i) - x4(i)
149 f2y(i) = y3(i) + y3(i) - y1(i) - y4(i)
150 f2z(i) = z3(i) + z3(i) - z1(i) - z4(i)
151 ENDDO
152
154 . x1, x2, x3, x4, x5, x6, x7, x8,
155 . y1, y2, y3, y4, y5, y6, y7, y8,
156 . z1, z2, z3, z4, z5, z6, z7, z8)
157
158
159
160
162 . x1, x2, x3, x4, x5, x6, x7, x8,
163 . y1, y2, y3, y4, y5, y6, y7, y8,
164 . z1, z2, z3, z4, z5, z6, z7, z8,
165 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
166 . r11,r21,r31,r12,r22,r32,r13,r23,r33 )
167
168 DO i=lft,llt
169 xl=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
170 yl=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
171 zl=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
172 x1(i)=xl
173 y1(i)=yl
174 z1(i)=zl
175 xl=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
176 yl=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
177 zl=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
178 x2(i)=xl
179 y2(i)=yl
180 z2(i)=zl
181 xl=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
182 yl=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
183 zl=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
184 x3(i)=xl
185 y3(i)=yl
186 z3(i)=zl
187 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
188 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
189 zl=r13(i)*x4(i)+r23(i)*y4(i)+r33(i)*z4(i)
190 x4(i)=xl
191 y4(i)=yl
192 z4(i)=zl
193 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
194 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
195 zl=r13(i)*x5(i)+r23(i)*y5(i)+r33(i)*z5(i)
196 x5(i)=xl
197 y5(i)=yl
198 z5(i)=zl
199 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
200 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
201 zl=r13(i)*x6(i)+r23(i)*y6(i)+r33(i)*z6(i)
202 x6(i)=xl
203 y6(i)=yl
204 z6(i)=zl
205 xl=r11(i)*x7(i)+r21(i)*y7(i)+r31(i)*z7(i)
206 yl=r12(i)*x7(i)+r22(i)*y7(i)+r32(i)*z7(i)
207 zl=r13(i)*x7(i)+r23(i)*y7(i)+r33(i)*z7(i)
208 x7(i)=xl
209 y7(i)=yl
210 z7(i)=zl
211 xl=r11(i)*x8(i)+r21(i)*y8(i)+r31(i)*z8(i)
212 yl=r12(i)*x8(i)+r22(i)*y8(i)+r32(i)*z8(i)
213 zl=r13(i)*x8(i)+r23(i)*y8(i)+r33(i)*z8(i)
214 x8(i)=xl
215 y8(i)=yl
216 z8(i)=zl
217 ENDDO
218
219 IF (jthe < 0 .or. nintemp > 0) THEN
220 IF(nintemp > 0 ) THEN
221 DO i= lft,llt
222 IF(temp(ix1(i))== zero) temp(ix1(i)) = temp0(i)
223 IF(temp(ix2(i))== zero) temp(ix2(i)) = temp0(i)
224 IF(temp(ix3(i))== zero) temp(ix3(i)) = temp0(i)
225 IF(temp(ix4(i))== zero) temp(ix4(i)) = temp0(i)
226 IF(temp(ix5(i))== zero) temp(ix5(i)) = temp0(i)
227 IF(temp(ix6(i))== zero) temp(ix6(i)) = temp0(i)
228 IF(temp(ix7(i))== zero) temp(ix7(i)) = temp0(i)
229 IF(temp(ix8(i))== zero) temp(ix8(i)) = temp0(i)
230 ENDDO
231 ELSE
232 DO i=lft,llt
233 temp(ix1(i))=temp0(i)
234 temp(ix2(i))=temp0(i)
235 temp(ix3(i))=temp0(i)
236 temp(ix4(i))=temp0(i)
237 temp(ix5(i))=temp0(i)
238 temp(ix6(i))=temp0(i)
239 temp(ix7(i))=temp0(i)
240 temp(ix8(i))=temp0(i)
241 ENDDO
242 ENDIF
243 ENDIF
244
245 RETURN
function checkvolume_8n(x, ixs)
subroutine mod_close(geo, ngeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
subroutine scortho3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)