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