43 use element_mod , only : nixc
44
45
46
47#include "implicit_f.inc"
48
49
50
51#include "mvsiz_p.inc"
52
53
54
55#include "param_c.inc"
56
57
58
59 INTEGER ,INTENT(IN) :: NODADT_THERM
60 INTEGER JFT, JLT, NVC
61 INTEGER IXC(NIXC,MVSIZ),MAT(MVSIZ),IPARTC(*)
62 integer*8 I8F(3,3,*), I8M(3,3,*), I8STIFN(3,*), I8STIFR(3,*)
63
65 . offg(*), off(*), sti(*), stir(*),
66 . f11(mvsiz), f12(mvsiz), f13(mvsiz), f14(mvsiz),
67 . f21(mvsiz), f22(mvsiz), f23(mvsiz), f24(mvsiz),
68 . f31(mvsiz), f32(mvsiz), f33(mvsiz), f34(mvsiz),
69 . m11(mvsiz), m12(mvsiz), m13(mvsiz), m14(mvsiz),
70 . m21(mvsiz), m22(mvsiz), m23(mvsiz), m24(mvsiz),
71 . m31(mvsiz), m32(mvsiz), m33(mvsiz), m34(mvsiz),
72 . eint(jlt,2),pm(npropm,*),partsav(npsav,*) ,
area(*) ,thk(*)
73
74
75
76 integer*8
77 . I8STI(3,MVSIZ), I8STIR(3,MVSIZ),
78 . I8F11(3,MVSIZ), I8F12(3,MVSIZ), I8F13(3,MVSIZ), I8F14(3,MVSIZ),
79 . I8F21(3,MVSIZ), I8F22(3,MVSIZ), I8F23(3,MVSIZ), I8F24(3,MVSIZ),
80 . I8F31(3,MVSIZ), I8F32(3,MVSIZ), I8F33(3,MVSIZ), I8F34(3,MVSIZ),
81 . I8M11(3,MVSIZ), I8M12(3,MVSIZ), I8M13(3,MVSIZ), I8M14(3,MVSIZ),
82 . I8M21(3,MVSIZ), I8M22(3,MVSIZ), I8M23(3,MVSIZ), I8M24(3,MVSIZ),
83 . I8M31(3,MVSIZ), I8M32(3,MVSIZ), I8M33(3,MVSIZ), I8M34(3,MVSIZ)
84
85 INTEGER NVC1, NVC2, NVC3, NVC4, I, N
87
88
89 off_l = zero
90 DO i=jft,jlt
91 IF(off(i)<1.)offg(i) = off(i)
92 off_l =
min(off_l,offg(i))
93 ENDDO
94 IF(off_l<0.)THEN
95 DO i=jft,jlt
96 IF(offg(i)<zero)THEN
97 f11(i)=zero
98 f21(i)=zero
99 f31(i)=zero
100 m11(i)=zero
101 m21(i)=zero
102 m31(i)=zero
103 f12(i)=zero
104 f22(i)=zero
105 f32(i)=zero
106 m12(i)=zero
107 m22(i)=zero
108 m32(i)=zero
109 f13(i)=zero
110 f23(i)=zero
111 f33(i)=zero
112 m13(i)=zero
113 m23(i)=zero
114 m33(i)=zero
115 f14(i)=zero
116 f24(i)=zero
117 f34(i)=zero
118 m14(i)=zero
119 m24(i)=zero
120 m34(i)=zero
121 sti(i)=zero
122 stir(i)=zero
123 ENDIF
124 ENDDO
125 ENDIF
126
127 nvc1= nvc/8
128 nvc2=(nvc-nvc1*8)/4
129 nvc3=(nvc-nvc1*8-nvc2*4)/2
130 nvc4=(nvc-nvc1*8-nvc2*4-nvc3*2)
131
144
157
160
161 IF(nvc1 == 0)THEN
162#include "vectorize.inc"
163 DO i=jft,jlt
164
165
166
167
168
169
170
171
172
173 n = ixc(2,i)
174
175 i8f(1,1,n) = i8f(1,1,n) - i8f11(1,i)
176 i8f(2,1,n) = i8f(2,1,n) - i8f11(2,i)
177 i8f(3,1,n) = i8f(3,1,n) - i8f11(3,i)
178
179 i8f(1,2,n) = i8f(1,2,n) - i8f21(1,i)
180 i8f(2,2,n) = i8f(2,2,n) - i8f21(2,i)
181 i8f(3,2,n) = i8f(3,2,n) - i8f21(3,i)
182
183 i8f(1,3,n) = i8f(1,3,n) - i8f31(1,i)
184 i8f(2,3,n) = i8f(2,3,n) - i8f31(1,i)
185 i8f(3,3,n) = i8f(3,3,n) - i8f31(1,i)
186
187 i8m(1,1,n) = i8m(1,1,n) - i8m11(1,i)
188 i8m(2,1,n) = i8m(2,1,n) - i8m11(2,i)
189 i8m(3,1,n) = i8m(3,1,n) - i8m11(3,i)
190
191 i8m(1,2,n) = i8m(1,2,n) - i8m21(1,i)
192 i8m(2,2,n) = i8m(2,2,n) - i8m21(2,i)
193 i8m(3,2,n) = i8m(3,2,n) - i8m21(3,i)
194
195 i8m(1,3,n) = i8m(1,3,n) - i8m31(1,i)
196 i8m(2,3,n) = i8m(2,3,n) - i8m31(2,i)
197 i8m(3,3,n) = i8m(3,3,n) - i8m31(3,i)
198
199 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
200 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
201 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
202
203 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
204 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
205 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
206
207 ENDDO
208
209 ELSE
210 DO i=jft,jlt
211 n = ixc(2,i)
212
213 i8f(1,1,n) = i8f(1,1,n) - i8f11(1,i)
214 i8f(2,1,n) = i8f(2,1,n) - i8f11(2,i)
215 i8f(3,1,n) = i8f(3,1,n) - i8f11(3,i)
216
217 i8f(1,2,n) = i8f(1,2,n) - i8f21(1,i)
218 i8f(2,2,n) = i8f(2,2,n) - i8f21(2,i)
219 i8f(3,2,n) = i8f(3,2,n) - i8f21(3,i)
220
221 i8f(1,3,n) = i8f(1,3,n) - i8f31(1,i)
222 i8f(2,3,n) = i8f(2,3,n) - i8f31(1,i)
223 i8f(3,3,n) = i8f(3,3,n) - i8f31(1,i)
224
225 i8m(1,1,n) = i8m(1,1,n) - i8m11(1,i)
226 i8m(2,1,n) = i8m(2,1,n) - i8m11(2,i)
227 i8m(3,1,n) = i8m(3,1,n) - i8m11(3,i)
228
229 i8m(1,2,n) = i8m(1,2,n) - i8m21(1,i)
230 i8m(2,2,n) = i8m(2,2,n) - i8m21(2,i)
231 i8m(3,2,n) = i8m(3,2,n) - i8m21(3,i)
232
233 i8m(1,3,n) = i8m(1,3,n) - i8m31(1,i)
234 i8m(2,3,n) = i8m(2,3,n) - i8m31(2,i)
235 i8m(3,3,n) = i8m(3,3,n) - i8m31(3,i)
236
237 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
238 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
239 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
240
241 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
242 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
243 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
244
245 ENDDO
246 ENDIF
247
248 IF(nvc2 == 0)THEN
249#include "vectorize.inc"
250 DO i=jft,jlt
251
252
253
254
255
256
257
258
259 n = ixc(3,i)
260
261 i8f(1,1,n) = i8f(1,1,n) - i8f12(1,i)
262 i8f(2,1,n) = i8f(2,1,n) - i8f12(2,i)
263 i8f(3,1,n) = i8f(3,1,n) - i8f12(3,i)
264
265 i8f(1,2,n) = i8f(1,2,n) - i8f22(1,i)
266 i8f(2,2,n) = i8f(2,2,n) - i8f22(2,i)
267 i8f(3,2,n) = i8f(3,2,n) - i8f22(3,i)
268
269 i8f(1,3,n) = i8f(1,3,n) - i8f32(1,i)
270 i8f(2,3,n) = i8f(2,3,n) - i8f32(1,i)
271 i8f(3,3,n) = i8f(3,3,n) - i8f32(1,i)
272
273 i8m(1,1,n) = i8m(1,1,n) - i8m12(1,i)
274 i8m(2,1,n) = i8m(2,1,n) - i8m12(2,i)
275 i8m(3,1,n) = i8m(3,1,n) - i8m12(3,i)
276
277 i8m(1,2,n) = i8m(1,2,n) - i8m22(1,i)
278 i8m(2,2,n) = i8m(2,2,n) - i8m22(2,i)
279 i8m(3,2,n) = i8m(3,2,n) - i8m22(3,i)
280
281 i8m(1,3,n) = i8m(1,3,n) - i8m32(1,i)
282 i8m(2,3,n) = i8m(2,3,n) - i8m32(2,i)
283 i8m(3,3,n) = i8m(3,3,n) - i8m32(3,i)
284
285 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
286 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
287 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
288
289 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
290 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
291 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
292
293 ENDDO
294 ELSE
295 DO i=jft,jlt
296 n = ixc(3,i)
297
298 i8f(1,1,n) = i8f(1,1,n) - i8f12(1,i)
299 i8f(2,1,n) = i8f(2,1,n) - i8f12(2,i)
300 i8f(3,1,n) = i8f(3,1,n) - i8f12(3,i)
301
302 i8f(1,2,n) = i8f(1,2,n) - i8f22(1,i)
303 i8f(2,2,n) = i8f(2,2,n) - i8f22(2,i)
304 i8f(3,2,n) = i8f(3,2,n) - i8f22(3,i)
305
306 i8f(1,3,n) = i8f(1,3,n) - i8f32(1,i)
307 i8f(2,3,n) = i8f(2,3,n) - i8f32(1,i)
308 i8f(3,3,n) = i8f(3,3,n) - i8f32(1,i)
309
310 i8m(1,1,n) = i8m(1,1,n) - i8m12(1,i)
311 i8m(2,1,n) = i8m(2,1,n) - i8m12(2,i)
312 i8m(3,1,n) = i8m(3,1,n) - i8m12(3,i)
313
314 i8m(1,2,n) = i8m(1,2,n) - i8m22(1,i)
315 i8m(2,2,n) = i8m(2,2,n) - i8m22(2,i)
316 i8m(3,2,n) = i8m(3,2,n) - i8m22(3,i)
317
318 i8m(1,3,n) = i8m(1,3,n) - i8m32(1,i)
319 i8m(2,3,n) = i8m(2,3,n) - i8m32(2,i)
320 i8m(3,3,n) = i8m(3,3,n) - i8m32(3,i)
321
322 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
323 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
324 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
325
326 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
327 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
328 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
329
330 ENDDO
331 ENDIF
332
333 IF(nvc3 == 0)THEN
334#include "vectorize.inc"
335 DO i=jft,jlt
336
337
338
339
340
341
342
343
344 n = ixc(4,i)
345
346 i8f(1,1,n) = i8f(1,1,n) - i8f13(1,i)
347 i8f(2,1,n) = i8f(2,1,n) - i8f13(2,i)
348 i8f(3,1,n) = i8f(3,1,n) - i8f13(3,i)
349
350 i8f(1,2,n) = i8f(1,2,n) - i8f23(1,i)
351 i8f(2,2,n) = i8f(2,2,n) - i8f23(2,i)
352 i8f(3,2,n) = i8f(3,2,n) - i8f23(3,i)
353
354 i8f(1,3,n) = i8f(1,3,n) - i8f33(1,i)
355 i8f(2,3,n) = i8f(2,3,n) - i8f33(1,i)
356 i8f(3,3,n) = i8f(3,3,n) - i8f33(1,i)
357
358 i8m(1,1,n) = i8m(1,1,n) - i8m13(1,i)
359 i8m(2,1,n) = i8m(2,1,n) - i8m13(2,i)
360 i8m(3,1,n) = i8m(3,1,n) - i8m13(3,i)
361
362 i8m(1,2,n) = i8m(1,2,n) - i8m23(1,i)
363 i8m(2,2,n) = i8m(2,2,n) - i8m23(2,i)
364 i8m(3,2,n) = i8m(3,2,n) - i8m23(3,i)
365
366 i8m(1,3,n) = i8m(1,3,n) - i8m33(1,i)
367 i8m(2,3,n) = i8m(2,3,n) - i8m33(2,i)
368 i8m(3,3,n) = i8m(3,3,n) - i8m33(3,i)
369
370 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
371 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
372 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
373
374 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
375 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
376 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
377
378 ENDDO
379 ELSE
380 DO i=jft,jlt
381 n = ixc(4,i)
382
383 i8f(1,1,n) = i8f(1,1,n) - i8f13(1,i)
384 i8f(2,1,n) = i8f(2,1,n) - i8f13(2,i)
385 i8f(3,1,n) = i8f(3,1,n) - i8f13(3,i)
386
387 i8f(1,2,n) = i8f(1,2,n) - i8f23(1,i)
388 i8f(2,2,n) = i8f(2,2,n) - i8f23(2,i)
389 i8f(3,2,n) = i8f(3,2,n) - i8f23(3,i)
390
391 i8f(1,3,n) = i8f(1,3,n) - i8f33(1,i)
392 i8f(2,3,n) = i8f(2,3,n) - i8f33(1,i)
393 i8f(3,3,n) = i8f(3,3,n) - i8f33(1,i)
394
395 i8m(1,1,n) = i8m(1,1,n) - i8m13(1,i)
396 i8m(2,1,n) = i8m(2,1,n) - i8m13(2,i)
397 i8m(3,1,n) = i8m(3,1,n) - i8m13(3,i)
398
399 i8m(1,2,n) = i8m(1,2,n) - i8m23(1,i)
400 i8m(2,2,n) = i8m(2,2,n) - i8m23(2,i)
401 i8m(3,2,n) = i8m(3,2,n) - i8m23(3,i)
402
403 i8m(1,3,n) = i8m(1,3,n) - i8m33(1,i)
404 i8m(2,3,n) = i8m(2,3,n) - i8m33(2,i)
405 i8m(3,3,n) = i8m(3,3,n) - i8m33(3,i)
406
407 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
408 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
409 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
410
411 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
412 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
413 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
414
415 ENDDO
416 ENDIF
417
418 IF(nvc4 == 0)THEN
419#include "vectorize.inc"
420 DO i=jft,jlt
421
422
423
424
425
426
427
428
429 n = ixc(5,i)
430
431 i8f(1,1,n) = i8f(1,1,n) - i8f14(1,i)
432 i8f(2,1,n) = i8f(2,1,n) - i8f14(2,i)
433 i8f(3,1,n) = i8f(3,1,n) - i8f14(3,i)
434
435 i8f(1,2,n) = i8f(1,2,n) - i8f24(1,i)
436 i8f(2,2,n) = i8f(2,2,n) - i8f24(2,i)
437 i8f(3,2,n) = i8f(3,2,n) - i8f24(3,i)
438
439 i8f(1,3,n) = i8f(1,3,n) - i8f34(1,i)
440 i8f(2,3,n) = i8f(2,3,n) - i8f34(1,i)
441 i8f(3,3,n) = i8f(3,3,n) - i8f34(1,i)
442
443 i8m(1,1,n) = i8m(1,1,n) - i8m14(1,i)
444 i8m(2,1,n) = i8m(2,1,n) - i8m14(2,i)
445 i8m(3,1,n) = i8m(3,1,n) - i8m14(3,i)
446
447 i8m(1,2,n) = i8m(1,2,n) - i8m24(1,i)
448 i8m(2,2,n) = i8m(2,2,n) - i8m24(2,i)
449 i8m(3,2,n) = i8m(3,2,n) - i8m24(3,i)
450
451 i8m(1,3,n) = i8m(1,3,n) - i8m34(1,i)
452 i8m(2,3,n) = i8m(2,3,n) - i8m34(2,i)
453 i8m(3,3,n) = i8m(3,3,n) - i8m34(3,i)
454
455 i8stifn(1,n) = i8stifn(1,n) - i8sti(1,i)
456 i8stifn(2,n) = i8stifn(2,n) - i8sti(2,i)
457 i8stifn(3,n) = i8stifn(3,n) - i8sti(3,i)
458
459 i8stifr(1,n) = i8stifr(1,n) - i8stir(1,i)
460 i8stifr(2,n) = i8stifr(2,n) - i8stir(2,i)
461 i8stifr(3,n) = i8stifr(3,n) - i8stir(3,i)
462
463 ENDDO
464 ELSE
465 DO i=jft,jlt
466 n = ixc(5,i)
467
468 i8f(1,1,n) = i8f(1,1,n) - i8f14(1,i)
469 i8f(2,1,n) = i8f(2,1,n) - i8f14(2,i)
470 i8f(3,1,n) = i8f(3,1,n) - i8f14(3,i)
471
472 i8f(1,2,n) = i8f(1,2,n) - i8f24(1,i)
473 i8f(2,2,n) = i8f(2,2,n) - i8f24(2,i)
474 i8f(3,2,n) = i8f(3,2,n) - i8f24(3,i)
475
476 i8f(1,3,n) = i8f(1,3,n) - i8f34(1,i)
477 i8f(2,3,n) = i8f(2,3,n) - i8f34(1,i)
478 i8f(3,3,n) = i8f(3,3,n) - i8f34(1,i)
479
480 i8m(1,1,n) = i8m(1,1,n) - i8m14(1,i)
481 i8m(2,1,n) = i8m(2,1,n) - i8m14(2,i)
482 i8m(3,1,n) = i8m(3,1,n) - i8m14(3,i)
483
484 i8m(1,2,n) = i8m(1,2,n) - i8m24(1,i)
485 i8m(2,2,n) = i8m(2,2,n) - i8m24(2,i)
486 i8m(3,2,n) = i8m(3,2,n) - i8m24(3,i)
487
488 i8m(1,3,n) = i8m(1,3,n) - i8m34(1,i)
489 i8m(2,3,n) = i8m(2,3,n) - i8m34(2,i)
490 i8m(3,3,n) = i8m(3,3,n) - i8m34(3,i)
491
492 i8stifn(1,n) = i8stifn(1,n) + i8sti(1,i)
493 i8stifn(2,n) = i8stifn(2,n) + i8sti(2,i)
494 i8stifn(3,n) = i8stifn(3,n) + i8sti(3,i)
495
496 i8stifr(1,n) = i8stifr(1,n) + i8stir(1,i)
497 i8stifr(2,n) = i8stifr(2,n) + i8stir(2,i)
498 i8stifr(3,n) = i8stifr(3,n) + i8stir(3,i)
499
500 ENDDO
501 ENDIF
502
503 RETURN
subroutine double_flot_ieee(jft, jlt, i8, r8, i8f)