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