153
154
155
156#include "implicit_f.inc"
157
158
159
160 INTEGER ,INTENT(IN) :: ITHERM_FE
161 INTEGER ,INTENT(IN) :: NODADT_THERM
162 INTEGER NMN,ILEV,
163 . MSR(*), WEIGHT(*)
164
166 . a(3,*) ,ar(3,*) ,mmass(*) ,
167 . ms(*) ,in(*) ,stifn(*) ,stifr(*),
168 . mcp(*) ,condn(*),fthe(*)
169
170
171
172#include "com01_c.inc"
173#include "scr18_c.inc"
174
175
176
177
178 INTEGER I,
179
180 IF((ilev == 1.OR.ilev == 3).AND.iroddl/=0)THEN
181#include "vectorize.inc"
182 DO ii=1,nmn
183 i=msr(ii)
184 a(1,i)=a(1,i)*weight(i)
185 a(2,i)=a(2,i)*weight(i)
186 a(3,i)=a(3,i)*weight(i)
187 ar(1,i)=ar(1,i)*weight(i)
188 ar(2,i)=ar(2,i)*weight(i)
189 ar(3,i)=ar(3,i)*weight(i)
190 ms(i)=ms(i)*weight(i)
191 in(i)=in(i)*weight(i)
192 stifn(i)=stifn(i)*weight(i)
193 stifr(i)=stifr(i)*weight(i)
194 ENDDO
195 ELSEIF((ilev == 1.OR.ilev == 3).AND.iroddl == 0)THEN
196#include "vectorize.inc"
197 DO ii=1,nmn
198 i=msr(ii)
199 a(1,i)=a(1,i)*weight(i)
200 a(2,i)=a(2,i)*weight(i)
201 a(3,i)=a(3,i)*weight(i)
202 ms(i)=ms(i)*weight(i)
203 stifn(i)=stifn(i)*weight(i)
204 ENDDO
205 ELSEIF((ilev == 0.OR.ilev == 2.OR.ilev == 4).AND.iroddl /= 0) THEN
206#include "vectorize.inc"
207 DO ii=1,nmn
208 i=msr(ii)
209 a(1,i)=a(1,i)*weight(i)
210 a(2,i)=a(2,i)*weight(i)
211 a(3,i)=a(3,i)*weight(i)
212 mmass(ii)=ms(i)
213 ms(i)=ms(i)*weight(i)
214 stifn(i)=stifn(i)*weight(i)
215 ar(1,i)=ar(1,i)*weight(i)
216 ar(2,i)=ar(2,i)*weight(i)
217 ar(3,i)=ar(3,i)*weight(i)
218 in(i)=
max(em20,in(i))
219 in(i)=in(i)*weight(i)
220 stifr(i)=stifr(i)*weight(i)
221 ENDDO
222 ELSEIF((ilev == 0.OR.ilev == 2.OR.ilev == 4).AND.iroddl == 0) THEN
223#include "vectorize.inc"
224 DO ii=1,nmn
225 i=msr(ii)
226 a(1,i)=a(1,i)*weight(i)
227 a(2,i)=a(2,i)*weight(i)
228 a(3,i)=a(3,i)*weight(i)
229 mmass(ii)=ms(i)
230 ms(i)=ms(i)*weight(i)
231 stifn(i)=stifn(i)*weight(i)
232 ENDDO
233 ELSEIF ((ilev == 10.OR.ilev == 11.OR.ilev == 12 .OR.
234 . ilev == 20.OR.ilev == 21.OR.ilev == 22).AND.
235 . iroddl /= 0) THEN
236#include "vectorize.inc"
237 DO ii=1,nmn
238 i=msr(ii)
239 a(1,i)=a(1,i)*weight(i)
240 a(2,i)=a(2,i)*weight(i)
241 a(3,i)=a(3,i)*weight(i)
242 ms(i)=ms(i)*weight(i)
243 in(i)=
max(em20,in(i))
244 in(i)=in(i)*weight(i)
245 ar(1,i)=ar(1,i)*weight(i)
246 ar(2,i)=ar(2,i)*weight(i)
247 ar(3,i)=ar(3,i)*weight(i)
248 stifn(i)=stifn(i)*weight(i)
249 stifr(i)=stifr(i)*weight(i)
250 ENDDO
251 ELSEIF ((ilev == 25 .or. ilev == 26) .AND. iroddl /= 0) THEN
252#include "vectorize.inc"
253 DO ii=1,nmn
254 i=msr(ii)
255 a(1,i)=a(1,i)*weight(i)
256 a(2,i)=a(2,i)*weight(i)
257 a(3,i)=a(3,i)*weight(i)
258 ms(i)=ms(i)*weight(i)
259 in(i)=in(i)*weight(i)
260 ar(1,i)=ar(1,i)*weight(i)
261 ar(2,i)=ar(2,i)*weight(i)
262 ar(3,i)=ar(3,i)*weight(i)
263 stifn(i)=stifn(i)*weight(i)
264 stifr(i)=stifr(i)*weight(i)
265 ENDDO
266 ELSEIF ((ilev == 27) .AND. iroddl /= 0) THEN
267#include "vectorize.inc"
268 DO ii=1,nmn
269 i=msr(ii)
270 a(1,i)=a(1,i)*weight(i)
271 a(2,i)=a(2,i)*weight(i)
272 a(3,i)=a(3,i)*weight(i)
273 mmass(ii)=ms(i)
274 ms(i)=ms(i)*weight(i)
275 in(i)=in(i)*weight(i)
276 ar(1,i)=ar(1,i)*weight(i)
277 ar(2,i)=ar(2,i)*weight(i)
278 ar(3,i)=ar(3,i)*weight(i)
279 stifn(i)=stifn(i)*weight(i)
280 stifr(i)=stifr(i)*weight(i)
281 ENDDO
282 ELSEIF ((ilev == 28) .AND. iroddl /= 0) THEN
283#include "vectorize.inc"
284 DO ii=1,nmn
285 i=msr(ii)
286 a(1,i)=a(1,i)*weight(i)
287 a(2,i)=a(2,i)*weight(i)
288 a(3,i)=a(3,i)*weight(i)
289 mmass(ii)=ms(i)
290 ms(i)=ms(i)*weight(i)
291 in(i)=in(i)*weight(i)
292 ar(1,i)=ar(1,i)*weight(i)
293 ar(2,i)=ar(2,i)*weight(i)
294 ar(3,i)=ar(3,i)*weight(i)
295 stifn(i)=stifn(i)*weight(i)
296 stifr(i)=stifr(i)*weight(i)
297 ENDDO
298 ELSEIF ((ilev == 10 .OR. ilev == 11 .OR. ilev == 12 .OR.
299 . ilev == 20 .OR. ilev == 21 .OR. ilev == 22 .OR.
300 . ilev == 25 .or. ilev == 26 .or. ilev == 28 .OR.
301 . ilev == 27 ) .AND. iroddl == 0) THEN
302#include "vectorize.inc"
303 DO ii=1,nmn
304 i=msr(ii)
305 a(1,i)=a(1,i)*weight(i)
306 a(2,i)=a(2,i)*weight(i)
307 a(3,i)=a(3,i)*weight(i)
308 ms(i)=ms(i)*weight(i)
309 stifn(i)=stifn(i)*weight(i)
310 ENDDO
311 ELSEIF(ilev == 30 .AND. iroddl /= 0) THEN
312#include "vectorize.inc"
313 DO ii=1,nmn
314 i=msr(ii)
315 a(1,i)=a(1,i)*weight(i)
316 a(2,i)=a(2,i)*weight(i)
317 a(3,i)=a(3,i)*weight(i)
318 ar(1,i)=ar(1,i)*weight(i)
319 ar(2,i)=ar(2,i)*weight(i)
320 ar(3,i)=ar(3,i)*weight(i)
321 mmass(ii)=ms(i)
322 ms(i)=ms(i)*weight(i)
323 in(i)=
max(em20,in(i))
324 in(i)=in(i)*weight(i)
325 stifn(i)=stifn(i)*weight(i)
326 stifr(i)=stifr(i)*weight(i)
327 ENDDO
328
329 ENDIF
330
331
332
333 IF(itherm_fe > 0) THEN
334 DO ii=1,nmn
335 i=msr(ii)
336 fthe(i) = fthe(i) * weight(i)
337 ENDDO
338 ENDIF
339 IF(nodadt_therm == 1) THEN
340 DO ii=1,nmn
341 i=msr(ii)
342 condn(i) = condn(i) * weight(i)
343 ENDDO
344 ENDIF
345
346 RETURN