rename
[unres4.git] / source / wham / control_wham.f90
diff --git a/source/wham/control_wham.f90 b/source/wham/control_wham.f90
deleted file mode 100644 (file)
index 2000e0b..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-      module control_wham
-!-----------------------------------------------------------------------------
-
-      implicit none
-!-----------------------------------------------------------------------------
-!
-!
-!-----------------------------------------------------------------------------
-      contains
-!-----------------------------------------------------------------------------
-! initialize_p.F
-!-----------------------------------------------------------------------------
-      subroutine init_int_table
-!      implicit real*8 (a-h,o-z)
-!      include 'DIMENSIONS'
-!      include 'DIMENSIONS.ZSCOPT'
-#ifdef MPI
-      use MPI_data
-      include 'mpif.h'
-#endif
-#ifdef MP
-!      include 'COMMON.INFO'
-#endif
-!      include 'COMMON.CHAIN'
-!      include 'COMMON.INTERACT'
-!      include 'COMMON.LOCAL'
-!      include 'COMMON.SBRIDGE'
-!      include 'COMMON.IOUNITS'
-      logical :: scheck,lprint
-#ifdef MPI
-      integer :: my_sc_int(0:nfgtasks-1),my_ele_int(0:nfgtasks-1)
-      integer :: my_sc_intt(0:nfgtasks),my_ele_intt(0:nfgtasks)
-
-!... Determine the numbers of start and end SC-SC interaction 
-!... to deal with by current processor.
-      lprint=.true.
-      if (lprint) &
-      write (iout,*) 'INIT_INT_TABLE nres=',nres,' nnt=',nnt,' nct=',nct
-      n_sc_int_tot=(nct-nnt+1)*(nct-nnt)/2-nss
-      MyRank=MyID-(MyGroup-1)*fgProcs
-      call int_bounds(n_sc_int_tot,my_sc_inds,my_sc_inde)
-      if (lprint) &
-        write (iout,*) 'Processor',MyID,' MyRank',MyRank,&
-        ' n_sc_int_tot',n_sc_int_tot,' my_sc_inds=',my_sc_inds,&
-        ' my_sc_inde',my_sc_inde
-      ind_sctint=0
-      iatsc_s=0
-      iatsc_e=0
-#endif
-      lprint=.false.
-!      do i=1,maxres !el ?????????
-      do i=1,nres
-        nint_gr(i)=0
-        nscp_gr(i)=0
-        do j=1,maxint_gr
-          istart(i,1)=0
-          iend(i,1)=0
-          ielstart(i)=0
-          ielend(i)=0
-          iscpstart(i,1)=0
-          iscpend(i,1)=0    
-        enddo
-      enddo
-      ind_scint=0
-      ind_scint_old=0
-!d    write (iout,*) 'ns=',ns,' nss=',nss,' ihpb,jhpb',
-!d   &   (ihpb(i),jhpb(i),i=1,nss)
-      do i=nnt,nct-1
-        scheck=.false.
-        do ii=1,nss
-          if (ihpb(ii).eq.i+nres) then
-            scheck=.true.
-            jj=jhpb(ii)-nres
-            goto 10
-          endif
-        enddo
-   10   continue
-!d      write (iout,*) 'i=',i,' scheck=',scheck,' jj=',jj
-        if (scheck) then
-          if (jj.eq.i+1) then
-#ifdef MPI
-            write (iout,*) 'jj=i+1'
-            call int_partition(ind_scint,my_sc_inds,my_sc_inde,i,&
-       iatsc_s,iatsc_e,i+2,nct,nint_gr(i),istart(i,1),iend(i,1),*12)
-#else
-            nint_gr(i)=1
-            istart(i,1)=i+2
-            iend(i,1)=nct
-#endif
-          else if (jj.eq.nct) then
-#ifdef MPI
-            write (iout,*) 'jj=nct'
-            call int_partition(ind_scint,my_sc_inds,my_sc_inde,i,&
-        iatsc_s,iatsc_e,i+1,nct-1,nint_gr(i),istart(i,1),iend(i,1),*12)
-#else
-            nint_gr(i)=1
-            istart(i,1)=i+1
-            iend(i,1)=nct-1
-#endif
-          else
-#ifdef MPI
-            call int_partition(ind_scint,my_sc_inds,my_sc_inde,i,&
-       iatsc_s,iatsc_e,i+1,jj-1,nint_gr(i),istart(i,1),iend(i,1),*12)
-            ii=nint_gr(i)+1
-            call int_partition(ind_scint,my_sc_inds,my_sc_inde,i,&
-       iatsc_s,iatsc_e,jj+1,nct,nint_gr(i),istart(i,ii),iend(i,ii),*12)
-#else
-            nint_gr(i)=2
-            istart(i,1)=i+1
-            iend(i,1)=jj-1
-            istart(i,2)=jj+1
-            iend(i,2)=nct
-#endif
-          endif
-        else
-#ifdef MPI
-          call int_partition(ind_scint,my_sc_inds,my_sc_inde,i,&
-          iatsc_s,iatsc_e,i+1,nct,nint_gr(i),istart(i,1),iend(i,1),*12)
-#else
-          nint_gr(i)=1
-          istart(i,1)=i+1
-          iend(i,1)=nct
-          ind_scint=int_scint+nct-i
-#endif
-        endif
-#ifdef MPI
-        ind_scint_old=ind_scint
-#endif
-      enddo
-   12 continue
-#ifndef MPI
-      iatsc_s=nnt
-      iatsc_e=nct-1
-#endif
-#ifdef MPI
-      if (lprint) then
-        write (iout,*) 'Processor',MyID,' Group',MyGroup
-        write (iout,*) 'iatsc_s=',iatsc_s,' iatsc_e=',iatsc_e
-      endif
-#endif
-      if (lprint) then
-      write (iout,'(a)') 'Interaction array:'
-      do i=iatsc_s,iatsc_e
-        write (iout,'(i3,2(2x,2i3))') &
-       i,(istart(i,iint),iend(i,iint),iint=1,nint_gr(i))
-      enddo
-      endif
-      ispp=2
-#ifdef MPI
-! Now partition the electrostatic-interaction array
-      npept=nct-nnt
-      nele_int_tot=(npept-ispp)*(npept-ispp+1)/2
-      call int_bounds(nele_int_tot,my_ele_inds,my_ele_inde)
-      if (lprint) &
-       write (iout,*) 'Processor',MyID,' MyRank',MyRank,&
-        ' nele_int_tot',nele_int_tot,' my_ele_inds=',my_ele_inds,&
-                     ' my_ele_inde',my_ele_inde
-      iatel_s=0
-      iatel_e=0
-      ind_eleint=0
-      ind_eleint_old=0
-      do i=nnt,nct-3
-        ijunk=0
-        call int_partition(ind_eleint,my_ele_inds,my_ele_inde,i,&
-          iatel_s,iatel_e,i+ispp,nct-1,ijunk,ielstart(i),ielend(i),*13)
-      enddo ! i 
-   13 continue
-#else
-      iatel_s=nnt
-      iatel_e=nct-3
-      do i=iatel_s,iatel_e
-        ielstart(i)=i+2
-        ielend(i)=nct-1
-      enddo
-#endif
-      if (lprint) then
-        write (iout,'(a)') 'Electrostatic interaction array:'
-        do i=iatel_s,iatel_e
-          write (iout,'(i3,2(2x,2i3))') i,ielstart(i),ielend(i)
-        enddo
-      endif ! lprint
-!     iscp=3
-      iscp=2
-! Partition the SC-p interaction array
-#ifdef MPI
-      nscp_int_tot=(npept-iscp+1)*(npept-iscp+1)
-      call int_bounds(nscp_int_tot,my_scp_inds,my_scp_inde)
-      if (lprint) &
-       write (iout,*) 'Processor',MyID,' MyRank',MyRank,&
-        ' nscp_int_tot',nscp_int_tot,' my_scp_inds=',my_scp_inds,&
-                     ' my_scp_inde',my_scp_inde
-      iatscp_s=0
-      iatscp_e=0
-      ind_scpint=0
-      ind_scpint_old=0
-      do i=nnt,nct-1
-        if (i.lt.nnt+iscp) then
-!d        write (iout,*) 'i.le.nnt+iscp'
-          call int_partition(ind_scpint,my_scp_inds,my_scp_inde,i,&
-            iatscp_s,iatscp_e,i+iscp,nct,nscp_gr(i),iscpstart(i,1),&
-            iscpend(i,1),*14)
-        else if (i.gt.nct-iscp) then
-!d        write (iout,*) 'i.gt.nct-iscp'
-          call int_partition(ind_scpint,my_scp_inds,my_scp_inde,i,&
-            iatscp_s,iatscp_e,nnt,i-iscp,nscp_gr(i),iscpstart(i,1),&
-            iscpend(i,1),*14)
-        else
-          call int_partition(ind_scpint,my_scp_inds,my_scp_inde,i,&
-            iatscp_s,iatscp_e,nnt,i-iscp,nscp_gr(i),iscpstart(i,1),&
-            iscpend(i,1),*14)
-          ii=nscp_gr(i)+1
-          call int_partition(ind_scpint,my_scp_inds,my_scp_inde,i,&
-            iatscp_s,iatscp_e,i+iscp,nct,nscp_gr(i),iscpstart(i,ii),&
-            iscpend(i,ii),*14)
-        endif
-      enddo ! i
-   14 continue
-#else
-      iatscp_s=nnt
-      iatscp_e=nct-1
-      do i=nnt,nct-1
-        if (i.lt.nnt+iscp) then
-          nscp_gr(i)=1
-          iscpstart(i,1)=i+iscp
-          iscpend(i,1)=nct
-        elseif (i.gt.nct-iscp) then
-          nscp_gr(i)=1
-          iscpstart(i,1)=nnt
-          iscpend(i,1)=i-iscp
-        else
-          nscp_gr(i)=2
-          iscpstart(i,1)=nnt
-          iscpend(i,1)=i-iscp
-          iscpstart(i,2)=i+iscp
-          iscpend(i,2)=nct
-        endif 
-      enddo ! i
-#endif
-      if (lprint) then
-        write (iout,'(a)') 'SC-p interaction array:'
-        do i=iatscp_s,iatscp_e
-          write (iout,'(i3,2(2x,2i3))') &
-               i,(iscpstart(i,j),iscpend(i,j),j=1,nscp_gr(i))
-        enddo
-      endif ! lprint
-! Partition local interactions
-#ifdef MPI
-      call int_bounds(nres-2,loc_start,loc_end)
-      loc_start=loc_start+1
-      loc_end=loc_end+1
-      call int_bounds(nres-2,ithet_start,ithet_end)
-      ithet_start=ithet_start+2
-      ithet_end=ithet_end+2
-      call int_bounds(nct-nnt-2,iphi_start,iphi_end) 
-      iphi_start=iphi_start+nnt+2
-      iphi_end=iphi_end+nnt+2
-      call int_bounds(nres-3,itau_start,itau_end)
-      itau_start=itau_start+3
-      itau_end=itau_end+3
-      if (lprint) then 
-        write (iout,*) 'Processor:',MyID,&
-       ' loc_start',loc_start,' loc_end',loc_end,&
-       ' ithet_start',ithet_start,' ithet_end',ithet_end,&
-       ' iphi_start',iphi_start,' iphi_end',iphi_end
-        write (*,*) 'Processor:',MyID,&
-       ' loc_start',loc_start,' loc_end',loc_end,&
-       ' ithet_start',ithet_start,' ithet_end',ithet_end,&
-       ' iphi_start',iphi_start,' iphi_end',iphi_end
-      endif
-      if (fgprocs.gt.1 .and. MyID.eq.BossID) then
-       write(iout,'(i10,a,i10,a,i10,a/a,i3,a)') n_sc_int_tot,' SC-SC ',&
-       nele_int_tot,' electrostatic and ',nscp_int_tot,&
-       ' SC-p interactions','were distributed among',fgprocs,&
-       ' fine-grain processors.'
-      endif
-#else
-      loc_start=2
-      loc_end=nres-1
-      ithet_start=3 
-      ithet_end=nres
-      iphi_start=nnt+3
-      iphi_end=nct
-      itau_start=4
-      itau_end=nres
-#endif
-      return
-      end subroutine init_int_table
-!-----------------------------------------------------------------------------
-!-----------------------------------------------------------------------------
-      end module control_wham