enddo
enddo
enddo
- do j=0,3
+ do j=0,3
polthet(j,i)=0.0D0
enddo
do j=1,3
nlob(ntyp1)=0
dsc(ntyp1)=0.0D0
do i=-maxtor,maxtor
- itortyp(i)=0
+ itortyp(i)=0
cc write (iout,*) "TU DOCHODZE",i,itortyp(i)
do iblock=1,2
do j=-maxtor,maxtor
- do k=1,maxterm
+ do k=1,maxterm
v1(k,j,i,iblock)=0.0D0
v2(k,j,i,iblock)=0.0D0
enddo
enddo
- enddo
+ enddo
enddo
do iblock=1,2
do i=-maxtor,maxtor
& "EVDW SC-SC","EVDW2 SC-p","EES p-p","ECORR4 ","ECORR5 ",
& "ECORR6 ","EELLO ","ETURN3 ","ETURN4 ","ETURN6 ",
& "EBE bend","ESC SCloc","ETORS ","ETORSD ","EHPB ","EVDWPP ",
- & "ESTR ","EVDW2_14 ","UCONST ", " ","ESCCOR"/
+ & "ESTR ","EVDW2_14 ","UCONST ", " ","ESCCOR",
+ & "Eliptran","Eafmforce","Ehomology"/
data wname /
& "WSC","WSCP","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC",
& "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR","WTORD",
- & "WSTRAIN","WVDWPP","WBOND","SCAL14"," "," ","WSCCOR"/
- data nprint_ene /20/
+ & "WSTRAIN","WVDWPP","WBOND","SCAL14"," "," ","WSCCOR",
+ & "Wliptran"," ","EHOMO"/
+ data nprint_ene /21/
data print_order/1,2,3,11,12,13,14,4,5,6,7,8,9,10,19,18,15,17,16,
- & 21,0/
+ & 21,24,22,23,0/
end
c---------------------------------------------------------------------------
subroutine init_int_table
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...!"
include 'COMMON.SBRIDGE'
include 'COMMON.IOUNITS'
include 'COMMON.SETUP'
+ include 'COMMON.CONTROL'
+c write(2,*)"hpb_partition: nhpb=",nhpb
#ifdef MPI
call int_bounds(nhpb,link_start,link_end)
- write (iout,*) 'Processor',fg_rank,' CG group',kolor,
+ if (.not. out1file)
+ & write (iout,*) 'Processor',fg_rank,' CG group',kolor,
& ' absolute rank',MyRank,
& ' nhpb',nhpb,' link_start=',link_start,
& ' link_end',link_end
link_start=1
link_end=nhpb
#endif
+c write(2,*)"hpb_partition: link_start=",nhpb," link_end=",link_end
+ return
+ end
+c------------------------------------------------------------------------------
+ subroutine homology_partition
+ implicit real*8 (a-h,o-z)
+ include 'DIMENSIONS'
+#ifdef MPI
+ include 'mpif.h'
+#endif
+ include 'COMMON.SBRIDGE'
+ include 'COMMON.IOUNITS'
+ include 'COMMON.SETUP'
+ include 'COMMON.CONTROL'
+ include 'COMMON.MD'
+ include 'COMMON.INTERACT'
+cd write(iout,*)"homology_partition: lim_odl=",lim_odl,
+cd & " lim_dih",lim_dih
+#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,idihconstr_start_homo,
+ & idihconstr_end_homo)
+ 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,
+ & ' lim_odl',lim_odl,' link_start=',link_start_homo,
+ & ' link_end',link_end_homo,' lim_dih',lim_dih,
+ & ' idihconstr_start_homo',idihconstr_start_homo,
+ & ' idihconstr_end_homo',idihconstr_end_homo
+#else
+ write (iout,*) "Not MPI"
+ link_start_homo=1
+ link_end_homo=lim_odl
+ 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,
+ & ' idihconstr_start_homo',idihconstr_start_homo,
+ & ' idihconstr_end_homo',idihconstr_end_homo
+#endif
return
end