10 real qvol(lx1,ly1,lz1,lelv,*),in(lx1,ly1,lz1,lelt,*)
11 integer isInactive(lx1,ly1,lz1,*)
13 integer lb_imap(lx1*ly1*lz1*lelv)
14 common /lbr/ buf(ldimt,lx1*ly1*lz1*lelv)
19 lqvol = lx1*ly1*lz1*lelv
20 lin = lx1*ly1*lz1*lelt
21 ntot = lx1*ly1*lz1*nelv
26 if(isinactive(i,1,1,1).eq.0)
then
31 buf(j,n) = in(k,1,1,1,1)
43 j = (k-1)*lqvol + lb_imap(i)
44 qvol(j,1,1,1,1) = buf(k,i)
54 common /nekmpi/ nidd,npp,nekcomm,nekgroup,nekreal
59 integer*8 i8gl_running_sum, i8rsum
60 integer*8 n8, np8, nb8
62 common /scrns/ vi(2,lx1*ly1*lz1*lelt)
80 call fgslib_crystal_setup(cr_lb,nekcomm,npp)
90 do i = 0,mod(ng8,np8)-1
91 if(nid.eq.i) nb8 = nb8 + 1
93 i8rsum = i8gl_running_sum(n8) - n8
97 vi(kp ,i) = (ig-1)/nb8
100 if (loglevel.gt.2)
then
106 call fgslib_crystal_tuple_transfer
107 & (cr_lb,n,nmax,vi,2,vl,0,rdata,m,kp)
110 if (loglevel.gt.2)
then
117 call flocal(rdata(jj),m)
121 call fgslib_crystal_tuple_transfer
122 & (cr_lb,n,nmax,vi,2,vl,0,rdata,m,kp)
125 if (n.gt.nmax)
call exitti(
'lb_process_items nmax too small$',n)
126 if (n.ne.n0)
call exitti(
'lb_process_items unexpected n$',n)
129 call fgslib_crystal_tuple_sort
130 & (cr_lb,n,vi,2,vl,0,rdata,m,key,1)
132 if (loglevel.gt.2 .and. nid.eq.0)
then
133 write(6,*)
'lb before nmax/nmin:', n0_max, n0_min
134 write(6,*)
'lb after nmax/nmin:', n_max , n_min
135 write(6,*)
'lb tcomm :', tcomm
subroutine exitti(stringi, idata)
real *8 function dnekclock_sync()
subroutine lb_setqvol(flocal, qvol, in, m, isInactive)
subroutine lb_process_items(nin, rdata, flocal, m, nmax)
integer *8 function i8glsum(a, n)