30 SUBROUTINE asspar(NTHREAD ,NUMNOD,NODFT ,NODLT,IRODDL,
31 . NPART,PARTFT ,PARTLT,A ,AR ,
32 . PARTSAV,STIFN ,STIFR,VISCN ,
33 . FTHE ,ITHERM_FE ,NODADT_THERM,STCND,GREFT,GRELT ,
34 . GRESAV,NGPE ,NTHPART,IALELAG,AF,
35 . DMSPH ,CONDN,APINCH,STIFPINCH)
43#include "implicit_f.inc"
48#include "remesh_c.inc"
53 INTEGER :: NODADT_THERM
55 INTEGER NTHREAD,NUMNOD,NODFT,NODLT,IRODDL,
56 . NPART,PARTFT,PARTLT,GREFT,GRELT,NGPE,
58 INTEGER K,KN,IKN,IKN1,IKN2,I,KM,KM1,KM2,NUM7,NUM8,KM3,KM4,KM5
60 . a(3,*),ar(3,*),partsav(*),stifn(*),stifr(*),viscn(*),
61 . fthe(*), stcnd(*),gresav(*),af(3,*), dmsph(*),condn(*)
63 . apinch(3,*),stifpinch(*)
68 GOTO(100,200,300)nthread-1
73#include "vectorize.inc"
76 stifn(i) = stifn(i) + stifn(ikn)
78 a(1,i) = a(1,i) + a(1,ikn)
79 a(2,i) = a(2,i) + a(2,ikn)
80 a(3,i) = a(3,i) + a(3,ikn)
87#include "vectorize.inc"
90 stifpinch(i) = stifpinch(i) + stifpinch(ikn)
92 apinch(1,i) = apinch(1,i) + apinch(1,ikn)
93 apinch(2,i) = apinch(2,i) + apinch(2,ikn)
94 apinch(3,i) = apinch(3,i) + apinch(3,ikn)
102#include "vectorize.inc"
105 stifr(i) = stifr(i) + stifr(ikn)
107 ar(1,i) = ar(1,i) + ar(1,ikn)
108 ar(2,i) = ar(2,i) + ar(2,ikn)
109 ar(3,i) = ar(3,i) + ar(3,ikn)
116 IF(itherm_fe > 0 )
THEN
117#include "vectorize.inc"
120 fthe(i) = fthe(i) + fthe(ikn)
125 IF(nodadt_therm > 0 )
THEN
126#include "vectorize.inc"
129 condn(i) = condn(i) + condn(ikn)
134 IF(istatcnd /=0)
THEN
137 stcnd(i) = stcnd(i) + stcnd(ikn)
143#include "vectorize.inc"
146 af(1,i) = af(1,i) + af(1,ikn)
147 af(2,i) = af(2,i) + af(2,ikn)
148 af(3,i) = af(3,i) + af(3,ikn)
157#include "vectorize.inc"
160 viscn(i) = viscn(i) + viscn(ikn)
165 IF(sol2sph_flag /=0)
THEN
166#include "vectorize.inc"
169 dmsph(i) = dmsph(i) + dmsph(ikn)
174#include "vectorize.inc"
175 DO 160 i=partft,partlt
176 partsav(i) = partsav(i) + partsav(i+num7)
177 partsav(i+num7) = zero
183#include "vectorize.inc"
187 stifn(i) = stifn(i) + stifn(ikn) + stifn(ikn1)
190 a(1,i) = a(1,i) + a(1,ikn) + a(1,ikn1)
191 a(2,i) = a(2,i) + a(2,ikn) + a(2,ikn1)
192 a(3,i) = a(3,i) + a(3,ikn) + a(3,ikn1)
202#include "vectorize.inc"
206 stifpinch(i) = stifpinch(i) + stifpinch(ikn) + stifpinch(ikn1)
207 stifpinch(ikn) = zero
208 stifpinch(ikn1) = zero
209 apinch(1,i) = apinch(1,i) + apinch(1,ikn) + apinch(1,ikn1)
210 apinch(2,i) = apinch(2,i) + apinch(2,ikn) + apinch(2,ikn1)
211 apinch(3,i) = apinch(3,i) + apinch(3,ikn) + apinch(3,ikn1)
215 apinch(1,ikn1) = zero
216 apinch(2,ikn1) = zero
217 apinch(3,ikn1) = zero
223#include "vectorize.inc"
227 stifr(i) = stifr(i) + stifr(ikn) + stifr(ikn1)
230 ar(1,i) = ar(1,i) + ar(1,ikn) + ar(1,ikn1)
231 ar(2,i) = ar(2,i) + ar(2,ikn) + ar(2,ikn1)
232 ar(3,i) = ar(3,i) + ar(3,ikn) + ar(3,ikn1)
242 IF(itherm_fe > 0 )
THEN
243#include "vectorize.inc"
247 fthe(i) = fthe(i) + fthe(ikn) + fthe(ikn1)
253 IF(nodadt_therm > 0 )
THEN
254#include "vectorize.inc"
258 condn(i) = condn(i) + condn(ikn) + condn(ikn1)
264 IF(istatcnd /=0)
THEN
268 stcnd(i) = stcnd(i) + stcnd(ikn) + stcnd(ikn1)
276#include "vectorize.inc"
280 viscn(i) = viscn(i) + viscn(ikn) + viscn(ikn1)
286#include "vectorize.inc"
291 af(1,i) = af(1,i) + af(1,ikn) + af(1,ikn1)
292 af(2,i) = af(2,i) + af(2,ikn) + af(2,ikn1)
293 af(3,i) = af(3,i) + af(3,ikn) + af(3,ikn1)
303 IF(sol2sph_flag /=0)
THEN
304#include "vectorize.inc"
308 dmsph(i) = dmsph(i) + dmsph(ikn) + dmsph(ikn1)
316#include "vectorize.inc"
317 DO 260 i=partft,partlt
318 partsav(i) = partsav(i) + partsav(i+km) + partsav(i+km1)
320 partsav(i+km1) = zero
324 IF (nthpart > 0)
THEN
325#include "vectorize.inc"
327 gresav(i) = gresav(i) + gresav(i+km3) + gresav(i+km4)
336#include "vectorize.inc"
341 stifn(i) = stifn(i) + stifn(ikn) +
342 . stifn(ikn1) + stifn(ikn2)
346 a(1,i) = a(1,i) + a(1,ikn) + a(1,ikn1) + a(1,ikn2)
347 a(2,i) = a(2,i) + a(2,ikn) + a(2,ikn1) + a(2,ikn2)
348 a(3,i) = a(3,i) + a(3,ikn) + a(3,ikn1) + a(3,ikn2)
361#include "vectorize.inc"
366 stifpinch(i) = stifpinch(i) + stifpinch(ikn) + stifpinch(ikn1) + stifpinch(ikn2)
367 stifpinch(ikn) = zero
368 stifpinch(ikn1) = zero
369 stifpinch(ikn2) = zero
370 apinch(1,i) = apinch(1,i) + apinch(1,ikn) + apinch(1,ikn1) + apinch(1,ikn2)
371 apinch(2,i) = apinch(2,i) + apinch(2,ikn) + apinch(2,ikn1) + apinch(2,ikn2)
372 apinch(3,i) = apinch(3,i) + apinch(3,ikn) + apinch(3,ikn1) + apinch(3,ikn2)
376 apinch(1,ikn1) = zero
377 apinch(2,ikn1) = zero
378 apinch(3,ikn1) = zero
379 apinch(1,ikn2) = zero
380 apinch(2,ikn2) = zero
381 apinch(3,ikn2) = zero
386#include "vectorize.inc"
391 stifr(i) = stifr(i) + stifr(ikn) +
392 . stifr(ikn1) + stifr(ikn2)
396 ar(1,i) = ar(1,i) + ar(1,ikn) + ar(1,ikn1) + ar(1,ikn2)
397 ar(2,i) = ar(2,i) + ar(2,ikn) + ar(2,ikn1) + ar(2,ikn2)
398 ar(3,i) = ar(3,i) + ar(3,ikn) + ar(3,ikn1) + ar(3,ikn2)
411 IF(itherm_fe > 0 )
THEN
412#include "vectorize.inc"
417 fthe(i) = fthe(i) + fthe(ikn) + fthe(ikn1) + fthe(ikn2)
424 IF(nodadt_therm > 0 )
THEN
425#include "vectorize.inc"
430 condn(i) = condn(i) + condn(ikn) + condn(ikn1) + condn(ikn2)
437 IF(istatcnd /=0)
THEN
442 stcnd(i) = stcnd(i) + stcnd(ikn) + stcnd(ikn1) + stcnd(ikn2)
450#include "vectorize.inc"
456 a(1,i) = a(1,i) + a(1,ikn) + a(1,ikn1) + a(1,ikn2)
457 a(2,i) = a(2,i) + a(2,ikn) + a(2,ikn1) + a(2,ikn2)
458 a(3,i) = a(3,i) + a(3,ikn) + a(3,ikn1) + a(3,ikn2)
473#include "vectorize.inc"
478 viscn(i) = viscn(i) + viscn(ikn) +
479 . viscn(ikn1) + viscn(ikn2)
486 IF(sol2sph_flag /=0)
THEN
487#include "vectorize.inc"
492 dmsph(i) = dmsph(i) + dmsph(ikn) + dmsph(ikn1) + dmsph(ikn2)
502#include "vectorize.inc"
503 DO 360 i=partft,partlt
504 partsav(i) = partsav(i) + partsav(i+km) +
505 . partsav(i+km1) + partsav(i+km2)
507 partsav(i+km1) = zero
508 partsav(i+km2) = zero
513 IF (nthpart > 0)
THEN
514#include "vectorize.inc"
516 gresav(i) = gresav(i) + gresav(i+km3) +
517 . gresav(i+km4) + gresav(i+km5)
532#include "vectorize.inc"
535 stifn(i) = stifn(i) + stifn(ikn)
537 a(1,i) = a(1,i) + a(1,ikn)
538 a(2,i) = a(2,i) + a(2,ikn)
539 a(3,i) = a(3,i) + a(3,ikn)
546#include "vectorize.inc"
549 stifpinch(i) = stifpinch(i) + stifpinch(ikn)
550 stifpinch(ikn) = zero
551 apinch(1,i) = apinch(1,i) + apinch(1,ikn)
552 apinch(2,i) = apinch(2,i) + apinch(2,ikn)
553 apinch(3,i) = apinch(3,i) + apinch(3,ikn)
561#include "vectorize.inc"
564 stifr(i) = stifr(i) + stifr(ikn)
566 ar(1,i) = ar(1,i) + ar(1,ikn)
567 ar(2,i) = ar(2,i) + ar(2,ikn)
568 ar(3,i) = ar(3,i) + ar(3,ikn)
575 IF(itherm_fe > 0 )
THEN
576#include "vectorize.inc"
579 fthe(i) = fthe(i) + fthe(ikn)
584 IF(nodadt_therm > 0 )
THEN
585#include "vectorize.inc"
588 condn(i) = condn(i) + condn(ikn)
593 IF(istatcnd /=0)
THEN
596 stcnd(i) = stcnd(i) + stcnd(ikn)
602#include "vectorize.inc"
605 af(1,i) = af(1,i) + af(1,ikn)
606 af(2,i) = af(2,i) + af(2,ikn)
607 af(3,i) = af(3,i) + af(3,ikn)
615#include "vectorize.inc"
618 viscn(i) = viscn(i) + viscn(ikn)
623 IF(sol2sph_flag/=0)
THEN
624#include "vectorize.inc"
627 dmsph(i) = dmsph(i) + dmsph(ikn)
633#include "vectorize.inc"
635 partsav(i) = partsav(i) + partsav(i+km)
639 IF (nthpart > 0)
THEN
640#include "vectorize.inc"
642 gresav(i) = gresav(i) + gresav(i+km3)