28 SUBROUTINE asspar5(NTHREAD ,NUMNOD,NODFT ,NODLT,IRODDL,
29 . NPART,PARTFT ,PARTLT,A ,AR ,
30 . PARTSAV,STIFN ,STIFR,I8A ,I8AR ,
31 . I8STIFN,I8STIFR,VISCN ,I8VISCN,GREFT,
32 . GRELT ,GRESAV ,NGPE,NTHPART)
36#include "implicit_f.inc"
43 INTEGER NTHREAD,NUMNOD,NODFT,NODLT,IRODDL,
44 . NPART,PARTFT,PARTLT,GREFT,GRELT,NGPE,NTHPART
45 INTEGER K,KN,IKN,IKN1,IKN2,I,KM,KM1,KM2,NUM7,NUM8
47 . i8a(3,3,*),i8ar(3,3,*),i8stifn(3,*),i8stifr(3,*),
50 . a(3,*),ar(3,*),partsav(*),stifn(*),stifr(*),viscn(*),gresav(*)
52 double precision r8_deuxm43
54 data i8_deuxp43 /
'80000000000'x/
55 r8_deuxm43 = 1.d00 / i8_deuxp43
66#include "vectorize.inc"
69 i8stifn(1,i) = i8stifn(1,i) + i8stifn(1,ikn)
71 i8stifn(2,i) = i8stifn(2,i) + i8stifn(2,ikn)
73 i8stifn(3,i) = i8stifn(3,i) + i8stifn(3,ikn)
75 i8a(1,1,i) = i8a(1,1,i) + i8a(1,1,ikn)
76 i8a(1,2,i) = i8a(1,2,i) + i8a(1,2,ikn)
77 i8a(1,3,i) = i8a(1,3,i) + i8a(1,3,ikn)
81 i8a(2,1,i) = i8a(2,1,i) + i8a(2,1,ikn)
82 i8a(2,2,i) = i8a(2,2,i) + i8a(2,2,ikn)
83 i8a(2,3,i) = i8a(2,3,i) + i8a(2,3,ikn)
87 i8a(3,1,i) = i8a(3,1,i) + i8a(3,1,ikn)
88 i8a(3,2,i) = i8a(3,2,i) + i8a(3,2,ikn)
89 i8a(3,3,i) = i8a(3,3,i) + i8a(3,3,ikn)
95#include "vectorize.inc"
98 i8stifr(1,i) = i8stifr(1,i) + i8stifr(1,ikn)
100 i8stifr(2,i) = i8stifr(2,i) + i8stifr(2,ikn)
102 i8stifr(3,i) = i8stifr(3,i) + i8stifr(3,ikn)
104 i8ar(1,1,i) = i8ar(1,1,i) + i8ar(1,1,ikn)
105 i8ar(1,2,i) = i8ar(1,2,i) + i8ar(1,2,ikn)
106 i8ar(1,3,i) = i8ar(1,3,i) + i8ar(1,3,ikn)
110 i8ar(2,1,i) = i8ar(2,1,i) + i8ar(2,1,ikn)
111 i8ar(2,2,i) = i8ar(2,2,i) + i8ar(2,2,ikn)
112 i8ar(2,3,i) = i8ar(2,3,i) + i8ar(2,3,ikn)
116 i8ar(3,1,i) = i8ar(3,1,i) + i8ar(3,1,ikn)
117 i8ar(3,2,i) = i8ar(3,2,i) + i8ar(3,2,ikn)
118 i8ar(3,3,i) = i8ar(3,3,i) + i8ar(3,3,ikn)
125#include "vectorize.inc"
128 i8viscn(1,i) = i8viscn(1,i) + i8viscn(1,ikn)
130 i8viscn(2,i) = i8viscn(2,i) + i8viscn(2,ikn)
132 i8viscn(3,i) = i8viscn(3,i) + i8viscn(3,ikn)
137#include "vectorize.inc"
139 partsav(i) = partsav(i) + partsav(i+km)
143 IF (nthpart > 0)
THEN
144#include "vectorize.inc"
146 gresav(i) = gresav(i) + gresav(i+km1)
151#include "vectorize.inc"
153 stifn(i) = stifn(i) +
154 . i8stifn(1,i) + r8_deuxm43 * (
155 . i8stifn(2,i) + r8_deuxm43 * i8stifn(3,i))
160 . i8a(1,1,i) + r8_deuxm43 * (
161 . i8a(2,1,i) + r8_deuxm43 * i8a(3,1,i))
163 . i8a(1,2,i) + r8_deuxm43 * (
164 . i8a(2,2,i) + r8_deuxm43 * i8a(3,2,i))
166 . i8a(1,3,i) + r8_deuxm43 * (
167 . i8a(2,3,i) + r8_deuxm43 * i8a(3,3,i))
179#include "vectorize.inc"
181 stifr(i) = stifr(i) +
182 . i8stifr(1,i) + r8_deuxm43 * (
183 . i8stifr(2,i) + r8_deuxm43 * i8stifr(3,i))
188 . i8ar(1,1,i) + r8_deuxm43 * (
189 . i8ar(2,1,i) + r8_deuxm43 * i8ar(3,1,i))
191 . i8ar(1,2,i) + r8_deuxm43 * (
192 . i8ar(2,2,i) + r8_deuxm43 * i8ar(3,2,i))
194 . i8ar(1,3,i) + r8_deuxm43 * (
195 . i8ar(2,3,i) + r8_deuxm43 * i8ar(3,3,i))
208#include "vectorize.inc"
210 viscn(i) = viscn(i) +
211 . i8viscn(1,i) + r8_deuxm43 * (
212 . i8viscn(2,i) + r8_deuxm43 * i8viscn(3,i))