c write (iout,*) "Gather itask_cont_to ended"
c call flush(iout)
if (fg_rank.eq.king) then
+ if (me.eq.0 .or. .not. out1file) then
write (iout,*)"Contact receive task map (proc, #tasks, tasks)"
do i=0,nfgtasks-1
write (iout,'(20i4)') i,ntask_cont_from_all(i),
enddo
write (iout,*)
call flush(iout)
+ endif
C Check if every send will have a matching receive
ncheck_to=0
ncheck_from=0
ncheck_to=ncheck_to+ntask_cont_to_all(i)
ncheck_from=ncheck_from+ntask_cont_from_all(i)
enddo
- write (iout,*) "Control sums",ncheck_from,ncheck_to
+ if (me.eq.0 .or. .not. out1file)
+ & write (iout,*) "Control sums",ncheck_from,ncheck_to
if (ncheck_from.ne.ncheck_to) then
write (iout,*) "Error: #receive differs from #send."
write (iout,*) "Terminating program...!"
#ifdef MPI
if (me.eq.king .or. .not. out1file) write (iout,*) "MPI"
call int_bounds(lim_odl,link_start_homo,link_end_homo)
- call int_bounds(lim_dih-nnt+1,idihconstr_start_homo,
+ call int_bounds(lim_dih,idihconstr_start_homo,
& idihconstr_end_homo)
- idihconstr_start_homo=idihconstr_start_homo+nnt-1
- idihconstr_end_homo=idihconstr_end_homo+nnt-1
+ idihconstr_start_homo=idihconstr_start_homo+nnt-1+3
+ idihconstr_end_homo=idihconstr_end_homo+nnt-1+3
if (me.eq.king .or. .not. out1file)
& write (iout,*) 'Processor',fg_rank,' CG group',kolor,
& ' absolute rank',MyRank,
write (iout,*) "Not MPI"
link_start_homo=1
link_end_homo=lim_odl
- idihconstr_start_homo=nnt
- idihconstr_end_homo=lim_dih
+ idihconstr_start_homo=nnt+3
+ idihconstr_end_homo=lim_dih+nnt-1+3
write (iout,*)
& ' lim_odl',lim_odl,' link_start=',link_start_homo,
& ' link_end',link_end_homo,' lim_dih',lim_dih,