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