38
39
40
41#include "implicit_f.inc"
42#include "comlock.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50#include "com01_c.inc"
51#include "parit_c.inc"
52#include "scr18_c.inc"
53
54
55
56 INTEGER, INTENT(IN) :: NEL,JTHE
57 INTEGER, INTENT(IN) :: NFT
58 INTEGER, INTENT(IN) :: NODADT_THERM
60 . offg(*),fskyv(lsky,8),fsky(8,lsky),sti(*),
61 . f11(*),f21(*),f31(*),f12(*),f22(*),f32(*),
62 . f13(*),f23(*),f33(*),f14(*),f24(*),f34(*),
63 . f15(*),f25(*),f35(*),f16(*),f26(*),f36(*)
64 my_real,
INTENT(INOUT) :: them(mvsiz,6),fthesky(lsky),
65 . condnsky(lsky),conde(mvsiz)
66 INTEGER IADS(8,*)
67
68
69
70 INTEGER I, II, K
72 . off_l
73
74 off_l = zero
75 DO i=1,nel
76 off_l =
min(off_l,offg(i))
77 ENDDO
78 IF(off_l<zero)THEN
79 DO i=1,nel
80 IF(offg(i)<zero)THEN
81 f11(i)=zero
82 f21(i)=zero
83 f31(i)=zero
84 f12(i)=zero
85 f22(i)=zero
86 f32(i)=zero
87 f13(i)=zero
88 f23(i)=zero
89 f33(i)=zero
90 f14(i)=zero
91 f24(i)=zero
92 f34(i)=zero
93 f15(i)=zero
94 f25(i)=zero
95 f35(i)=zero
96 f16(i)=zero
97 f26(i)=zero
98 f36(i)=zero
99 sti(i)=zero
100 ENDIF
101 ENDDO
102 ENDIF
103
104
105
106 DO i=1,nel
107 sti(i)=third*sti(i)
108 END DO
109 IF(nodadt_therm == 1 ) THEN
110 DO i=1,nel
111 conde(i)=one_over_6*conde(i)
112 END DO
113 ENDIF
114
115 IF(jthe >= 0) THEN
116 IF(ivector==1) THEN
117#include "vectorize.inc"
118 DO i=1,nel
119 ii=i+nft
120 k = iads(1,ii)
121 fskyv(k,1)=f11(i)
122 fskyv(k,2)=f21(i)
123 fskyv(k,3)=f31(i)
124 fskyv(k,4)=zero
125 fskyv(k,5)=zero
126 fskyv(k,6)=zero
127 fskyv(k,7)=sti(i)
128
129 k = iads(2,ii)
130 fskyv(k,1)=f12(i)
131 fskyv(k,2)=f22(i)
132 fskyv(k,3)=f32(i)
133 fskyv(k,4)=zero
134 fskyv(k,5)=zero
135 fskyv(k,6)=zero
136 fskyv(k,7)=sti(i)
137
138 k = iads(3,ii)
139 fskyv(k,1)=f13(i)
140 fskyv(k,2)=f23(i)
141 fskyv(k,3)=f33(i)
142 fskyv(k,4)=zero
143 fskyv(k,5)=zero
144 fskyv(k,6)=zero
145 fskyv(k,7)=sti(i)
146
147 k = iads(5,ii)
148 fskyv(k,1)=f14(i)
149 fskyv(k,2)=f24(i)
150 fskyv(k,3)=f34(i)
151 fskyv(k,4)=zero
152 fskyv(k,5)=zero
153 fskyv(k,6)=zero
154 fskyv(k,7)=sti(i)
155
156 k = iads(6,ii)
157 fskyv(k,1)=f15(i)
158 fskyv(k,2)=f25(i)
159 fskyv(k,3)=f35(i)
160 fskyv(k,4)=zero
161 fskyv(k,5)=zero
162 fskyv(k,6)=zero
163 fskyv(k,7)=sti(i)
164
165 k = iads(7,ii)
166 fskyv(k,1)=f16(i)
167 fskyv(k,2)=f26(i)
168 fskyv(k,3)=f36(i)
169 fskyv(k,4)=zero
170 fskyv(k,5)=zero
171 fskyv(k,6)=zero
172 fskyv(k,7)=sti(i)
173 ENDDO
174 ELSE
175 DO i=1,nel
176 ii=i+nft
177 k = iads(1,ii)
178 fsky(1,k)=f11(i)
179 fsky(2,k)=f21(i)
180 fsky(3,k)=f31(i)
181 fsky(7,k)=sti(i)
182
183 k = iads(2,ii)
184 fsky(1,k)=f12(i)
185 fsky(2,k)=f22(i)
186 fsky(3,k)=f32(i)
187 fsky(7,k)=sti(i)
188
189 k = iads(3,ii)
190 fsky(1,k)=f13(i)
191 fsky(2,k)=f23(i)
192 fsky(3,k)=f33(i)
193 fsky(7,k)=sti(i)
194
195 k = iads(5,ii)
196 fsky(1,k)=f14(i)
197 fsky(2,k)=f24(i)
198 fsky(3,k)=f34(i)
199 fsky(7,k)=sti(i)
200
201 k = iads(6,ii)
202 fsky(1,k)=f15(i)
203 fsky(2,k)=f25(i)
204 fsky(3,k)=f35(i)
205 fsky(7,k)=sti(i)
206
207 k = iads(7,ii)
208 fsky(1,k)=f16(i)
209 fsky(2,k)=f26(i)
210 fsky(3,k)=f36(i)
211 fsky(7,k)=sti(i)
212 ENDDO
213 ENDIF
214 ELSE
215 IF(ivector==1) THEN
216#include "vectorize.inc"
217 DO i=1,nel
218 ii=i+nft
219 k = iads(1,ii)
220 fskyv(k,1)=f11(i)
221 fskyv(k,2)=f21(i)
222 fskyv(k,3)=f31(i)
223 fskyv(k,4)=zero
224 fskyv(k,5)=zero
225 fskyv(k,6)=zero
226 fskyv(k,7)=sti(i)
227 fthesky(k)=them(i,1)
228
229 k = iads(2,ii)
230 fskyv(k,1)=f12(i)
231 fskyv(k,2)=f22(i)
232 fskyv(k,3)=f32(i)
233 fskyv(k,4)=zero
234 fskyv(k,5)=zero
235 fskyv(k,6)=zero
236 fskyv(k,7)=sti(i)
237 fthesky(k)=them(i,2)
238
239 k = iads(3,ii)
240 fskyv(k,1)=f13(i)
241 fskyv(k,2)=f23(i)
242 fskyv(k,3)=f33(i)
243 fskyv(k,4)=zero
244 fskyv(k,5)=zero
245 fskyv(k,6)=zero
246 fskyv(k,7)=sti(i)
247 fthesky(k)=them(i,3)
248
249 k = iads(5,ii)
250 fskyv(k,1)=f14(i)
251 fskyv(k,2)=f24(i)
252 fskyv(k,3)=f34(i)
253 fskyv(k,4)=zero
254 fskyv(k,5)=zero
255 fskyv(k,6)=zero
256 fskyv(k,7)=sti(i)
257 fthesky(k)=them(i,4)
258
259 k = iads(6,ii)
260 fskyv(k,1)=f15(i)
261 fskyv(k,2)=f25(i)
262 fskyv(k,3)=f35(i)
263 fskyv(k,4)=zero
264 fskyv(k,5)=zero
265 fskyv(k,6)=zero
266 fskyv(k,7)=sti(i)
267 fthesky(k)=them(i,5)
268
269 k = iads(7,ii)
270 fskyv(k,1)=f16(i)
271 fskyv(k,2)=f26(i)
272 fskyv(k,3)=f36(i)
273 fskyv(k,4)=zero
274 fskyv(k,5)=zero
275 fskyv(k,6)=zero
276 fskyv(k,7)=sti(i)
277 fthesky(k)=them(i,6)
278 ENDDO
279 ELSE
280 DO i=1,nel
281 ii=i+nft
282 k = iads(1,ii)
283 fsky(1,k)=f11(i)
284 fsky(2,k)=f21(i)
285 fsky(3,k)=f31(i)
286 fsky(7,k)=sti(i)
287 fthesky(k) = them(i,1)
288 IF(nodadt_therm == 1) condnsky(k) = conde(i)
289
290 k = iads(2,ii)
291 fsky(1,k)=f12(i)
292 fsky(2,k)=f22(i)
293 fsky(3,k)=f32(i)
294 fsky(7,k)=sti(i)
295 fthesky(k) = them(i,2)
296 IF(nodadt_therm == 1) condnsky(k) = conde(i)
297
298 k = iads(3,ii)
299 fsky(1,k)=f13(i)
300 fsky(2,k)=f23(i)
301 fsky(3,k)=f33(i)
302 fsky(7,k)=sti(i)
303 fthesky(k) = them(i,3)
304 IF(nodadt_therm == 1) condnsky(k) = conde(i)
305
306 k = iads(5,ii)
307 fsky(1,k)=f14(i)
308 fsky(2,k)=f24(i)
309 fsky(3,k)=f34(i)
310 fsky(7,k)=sti(i)
311 fthesky(k) = them(i,4)
312 IF(nodadt_therm == 1) condnsky(k) = conde(i)
313
314 k = iads(6,ii)
315 fsky(1,k)=f15(i)
316 fsky(2,k)=f25(i)
317 fsky(3,k)=f35(i)
318 fsky(7,k)=sti(i)
319 fthesky(k) = them(i,5)
320 IF(nodadt_therm == 1) condnsky(k) = conde(i)
321
322 k = iads(7,ii)
323 fsky(1,k)=f16(i)
324 fsky(2,k)=f26(i)
325 fsky(3,k)=f36(i)
326 fsky(7,k)=sti(i)
327 fthesky(k) = them(i,6)
328 IF(nodadt_therm == 1) condnsky(k) = conde(i)
329 ENDDO
330 ENDIF
331 ENDIF
332
333 RETURN