54 2 NPRW ,MS ,FSAV ,FR_WALL ,FOPT ,
55 3 RWSAV ,WEIGHT ,IRWL_WORK, NRWL_SMS,FRWL6,
56 4 A ,RES ,R ,FREA ,WFEXT)
60#include "implicit_f.inc"
74 INTEGER LPRW(*), NPRW(*), FR_WALL(NSPMD+2,*), WEIGHT(*),IRWL_WORK(*), NRWL_SMS(*), IFLAG
75 my_real X(3,*), V(3,*),RWBUF(NRWLP,*),RWSAV(*),MS(*),FSAV(NTHVKI,*), FOPT(6,*),A(3,*), RES(3,*), R(3,*), FREA(3,*)
76 DOUBLE PRECISION FRWL6(7,6,NRWALL)
77 DOUBLE PRECISION,
INTENT(INOUT) ::
81 INTEGER K, N, ITYP, ISL, IFQ, N2, N3, N4, N5, N6, N7, N8, L, M,PMAIN, NSMS, KIND(NRWALL), ISLIND(NRWALL)
99 ifq = nint(rwbuf(15,n))
100 IF (ifq>0) isl=isl+nprw(n)*3
101 IF(nprw(n4)==-1)k=k+nint(rwbuf(8,n))
128 IF(ityp==1.AND.nsms/=0)
THEN
130 + x ,a ,v ,rwbuf(1,n),lprw(k),
131 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
132 + rwsav(isl),nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
133 ELSEIF(ityp==2.AND.nsms/=0)
THEN
135 + x ,a ,v ,rwbuf(1,n),lprw(k),
136 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
137 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
138 ELSEIF(ityp==3.AND.nsms/=0)
THEN
140 + x ,a ,v ,rwbuf(1,n),lprw(k),
141 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
142 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
143 ELSEIF(ityp==4.AND.nsms/=0)
THEN
145 + x ,a ,v ,rwbuf(1,n),lprw(k),
146 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
147 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
173 IF(ityp==1.AND.nsms/=0)
THEN
175 + x ,a ,v ,rwbuf(1,n),lprw(k),
176 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
177 + rwsav(isl),nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
178 ELSEIF(ityp==2.AND.nsms/=0)
THEN
180 + x ,a ,v ,rwbuf(1,n),lprw(k),
181 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
182 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k) )
183 ELSEIF(ityp==3.AND.nsms/=0)
THEN
185 + x ,a ,v ,rwbuf(1,n),lprw(k),
186 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
187 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
188 ELSEIF(ityp==4.AND.nsms/=0)
THEN
190 + x ,a ,v ,rwbuf(1,n),lprw(k),
191 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
192 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
215 IF(ityp==1.AND.nsms/=0)
THEN
217 + x ,res ,v ,rwbuf(1,n),lprw(k),
218 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
219 + rwsav(isl),nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
220 ELSEIF(ityp==2.AND.nsms/=0)
THEN
222 + x ,res ,v ,rwbuf(1,n),lprw(k),
223 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
224 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
225 ELSEIF(ityp==3.AND.nsms/=0)
THEN
227 + x ,res ,v ,rwbuf(1,n),lprw(k),
228 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
229 + nprw(n8),irwl_work(k),nsms , nrwl_sms(k))
230 ELSEIF(ityp==4.AND.nsms/=0)
THEN
232 + x ,res ,v ,rwbuf(1,n),lprw(k),
233 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
234 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k))
257 IF(ityp==1.AND.nsms/=0)
THEN
259 + x ,a ,v ,rwbuf(1,n),lprw(k),
260 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
261 + rwsav(isl),nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),
262 + fsav(1,n),fopt(1,n),res ,r ,frea )
263 ELSEIF(ityp==2.AND.nsms/=0)
THEN
265 + x ,a ,v ,rwbuf(1,n),lprw(k),
266 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
267 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),fsav(1,n),
268 + fopt(1,n),res ,r ,frea )
269 ELSEIF(ityp==3.AND.nsms/=0)
THEN
271 + x ,a ,v ,rwbuf(1,n),lprw(k),
272 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
273 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),fsav(1,n),
274 + fopt(1,n),res ,r ,frea )
275 ELSEIF(ityp==4.AND.nsms/=0)
THEN
277 + x ,a ,v ,rwbuf(1,n),lprw(k),
278 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
279 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),fsav(1,n),
280 + fopt(1,n),res ,r ,frea )
309 IF(ityp==1.AND.nsms/=0)
THEN
311 + x ,frea ,v ,rwbuf(1,n),lprw(k),
312 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
313 + rwsav(isl),nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),
314 + fsav(1,n),fopt(1,n),frwl6(1,1,n),a ,wfext)
315 ELSEIF(ityp==2.AND.nsms/=0)
THEN
317 + x ,frea ,v ,rwbuf(1,n),lprw(k),
319 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),fsav(1,n),
320 + fopt(1,n),frwl6(1,1,n),a ,wfext)
321 ELSEIF(ityp==3.AND.nsms/=0)
THEN
323 + x ,frea ,v ,rwbuf(1,n),lprw(k),
324 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
325 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),fsav(1,n),
326 + fopt(1,n),frwl6(1,1,n),a ,wfext)
327 ELSEIF(ityp==4.AND.nsms/=0)
THEN
329 + x ,frea ,v ,rwbuf(1,n),lprw(k),
330 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
331 + nprw(n8),irwl_work(k),nsms ,nrwl_sms(k),fsav(1,n),
332 + fopt(1,n),frwl6(1,1,n),a ,wfext)
349 IF(nprw(n3) /= 0)
THEN
352 IF(fr_wall(ispmd+1,n)/=0)
THEN
355 pmain = fr_wall(nspmd+2,n)
364 1 nprw(n3),rwbuf(1,n),frwl6(1,1,n),pmain,fsav(1,n),
385#include "implicit_f.inc"
386#include "comlock.inc"
390#include "com08_c.inc"
398 . RWL(*), FSAV(*),FOPT(6)
406 . fxn, fyn, fzn, fxt, fyt, fzt, xmt, dt15, dt25
408 fxn = frwl6(1,1)+frwl6(1,2)+frwl6(1,3)+
409 . frwl6(1,4)+frwl6(1,5)+frwl6(1,6)
410 fyn = frwl6(2,1)+frwl6(2,2)+frwl6(2,3)+
411 . frwl6(2,4)+frwl6(2,5)+frwl6(2,6)
412 fzn = frwl6(3,1)+frwl6(3,2)+frwl6(3,3)+
413 . frwl6(3,4)+frwl6(3,5)+frwl6(3,6)
414 xmt = frwl6(4,1)+frwl6(4,2)+frwl6(4,3)+
415 . frwl6(4,4)+frwl6(4,5)+frwl6(4,6)
416 fxt = frwl6(5,1)+frwl6(5,2)+frwl6(5,3)+
417 . frwl6(5,4)+frwl6(5,5)+frwl6(5,6)
418 fyt = frwl6(6,1)+frwl6(6,2)+frwl6(6,3)+
419 . frwl6(6,4)+frwl6(6,5)+frwl6(6,6)
420 fzt = frwl6(7,1)+frwl6(7,2)+frwl6(7,3)+
421 . frwl6(7,4)+frwl6(7,5)+frwl6(7,6)
431 fsav(1)=fsav(1)+rwl(21)+dt15*fxn
432 fsav(2)=fsav(2)+rwl(22)+dt15*fyn
433 fsav(3)=fsav(3)+rwl(23)+dt15*fzn
434 fsav(4)=fsav(4)+rwl(24)+dt15*fxt
435 fsav(5)=fsav(5)+rwl(25)+dt15*fyt
436 fsav(6)=fsav(6)+rwl(26)+dt15*fzt
443 fopt(1)=fopt(1)+rwl(17)
444 fopt(2)=fopt(2)+rwl(18)
445 fopt(3)=fopt(3)+rwl(19)