Merge branch 'devel' of mmka.chem.univ.gda.pl:unres into devel
authorAdam Liwo <jal47@matrix.chem.cornell.edu>
Thu, 10 Apr 2014 19:57:52 +0000 (15:57 -0400)
committerAdam Liwo <jal47@matrix.chem.cornell.edu>
Thu, 10 Apr 2014 19:57:52 +0000 (15:57 -0400)
Conflicts:
bin/unres/MD/unres_ifort_MPICH_GAB.exe

1  2 
source/unres/src_MD-M/initialize_p.F
source/unres/src_MD/initialize_p.F

@@@ -80,7 -80,9 +80,9 @@@
        igeom=  8
        intin=  9
        ithep= 11
+       ithep_pdb=51
        irotam=12
+       irotam_pdb=52
        itorp= 13
        itordp= 23
        ielep= 14
@@@ -161,10 -163,14 +163,14 @@@ c      call memmon_print_usage(
        rr0(i)=0.0D0
        a0thet(i)=0.0D0
        do j=1,2
-         athet(j,i)=0.0D0
-         bthet(j,i)=0.0D0
+          do ichir1=-1,1
+           do ichir2=-1,1
+           athet(j,i,ichir1,ichir2)=0.0D0
+           bthet(j,i,ichir1,ichir2)=0.0D0
+           enddo
+          enddo
          enddo
-       do j=0,3
+         do j=0,3
          polthet(j,i)=0.0D0
          enddo
        do j=1,3
        enddo
        nlob(ntyp1)=0
        dsc(ntyp1)=0.0D0
-       do i=1,maxtor
-       itortyp(i)=0
-       do j=1,maxtor
-         do k=1,maxterm
-           v1(k,j,i)=0.0D0
-           v2(k,j,i)=0.0D0
+       do i=-maxtor,maxtor
+         itortyp(i)=0
+ cc      write (iout,*) "TU DOCHODZE",i,itortyp(i)
+        do iblock=1,2
+         do j=-maxtor,maxtor
+           do k=1,maxterm
+             v1(k,j,i,iblock)=0.0D0
+             v2(k,j,i,iblock)=0.0D0
            enddo
          enddo
+         enddo
        enddo
+       do iblock=1,2
+        do i=-maxtor,maxtor
+         do j=-maxtor,maxtor
+          do k=-maxtor,maxtor
+           do l=1,maxtermd_1
+             v1c(1,l,i,j,k,iblock)=0.0D0
+             v1s(1,l,i,j,k,iblock)=0.0D0
+             v1c(2,l,i,j,k,iblock)=0.0D0
+             v1s(2,l,i,j,k,iblock)=0.0D0
+           enddo !l
+           do l=1,maxtermd_2
+            do m=1,maxtermd_2
+             v2c(m,l,i,j,k,iblock)=0.0D0
+             v2s(m,l,i,j,k,iblock)=0.0D0
+            enddo !m
+           enddo !l
+         enddo !k
+        enddo !j
+       enddo !i
+       enddo !iblock
        do i=1,maxres
        itype(i)=0
        itel(i)=0
@@@ -251,11 -281,17 +281,17 @@@ c--------------------------------------
        include 'COMMON.NAMES'
        include 'COMMON.FFIELD'
        data restyp /
+      &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
+      & 'DSG','DGN','DSN','DTH',
+      &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
       &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
-      &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','D'/
+      &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
+      &'AIB','ABU','D'/
        data onelet /
+      &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
+      &'a','y','w','v','l','i','f','m','c','x',
       &'C','M','F','I','L','V','W','Y','A','G','T',
-      &'S','Q','N','E','D','H','R','K','P','X'/
+      &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
        data potname /'LJ','LJK','BP','GB','GBV'/
        data ename /
       &   "EVDW SC-SC","EVDW2 SC-p","EES p-p","ECORR4 ","ECORR5 ",
@@@ -288,11 -324,11 +324,11 @@@ c--------------------------------------
        include 'COMMON.IOUNITS'
        include 'COMMON.DERIV'
        include 'COMMON.CONTACTS'
-       common /przechowalnia/ iturn3_start_all(0:MaxProcs),
-      & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
-      & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
-      & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
-      & ielend_all(maxres,0:MaxProcs-1),
+       common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+      & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+      & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+      &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+      & ielend_all(maxres,0:max_fg_procs-1),
       & ntask_cont_from_all(0:max_fg_procs-1),
       & itask_cont_from_all(0:max_fg_procs-1,0:max_fg_procs-1),
       & ntask_cont_to_all(0:max_fg_procs-1),
@@@ -308,7 -344,7 +344,7 @@@ C... to deal with by current processor
          itask_cont_from(i)=fg_rank
          itask_cont_to(i)=fg_rank
        enddo
 -      lprint=.false.
 +      lprint=energy_dec
        if (lprint)
       &write (iout,*) 'INIT_INT_TABLE nres=',nres,' nnt=',nnt,' nct=',nct
        n_sc_int_tot=(nct-nnt+1)*(nct-nnt)/2-nss
@@@ -406,7 -442,6 +442,7 @@@ c            write (iout,*) 'jj=nct
        iatsc_s=nnt
        iatsc_e=nct-1
  #endif
 +      if (iatsc_s.eq.0) iatsc_s=1
  #ifdef MPI
        if (lprint) write (*,*) 'Processor',fg_rank,' CG Group',kolor,
       &   ' absolute rank',myrank,' iatsc_s=',iatsc_s,' iatsc_e=',iatsc_e
@@@ -539,7 -574,6 +575,7 @@@ cd        write (iout,*) 'i.gt.nct-iscp
          endif 
        enddo ! i
  #endif
 +      if (iatscp_s.eq.0) iatscp_s=1
        if (lprint) then
          write (iout,'(a)') 'SC-p interaction array:'
          do i=iatscp_s,iatscp_e
@@@ -562,6 -596,9 +598,9 @@@ C Partition local interaction
        iphi_end=iturn3_end+2
        iturn3_start=iturn3_start-1
        iturn3_end=iturn3_end-1
+       call int_bounds(nres-3,itau_start,itau_end)
+       itau_start=itau_start+3
+       itau_end=itau_end+3
        call int_bounds(nres-3,iphi1_start,iphi1_end)
        iphi1_start=iphi1_start+3
        iphi1_end=iphi1_end+3
@@@ -1090,6 -1127,8 +1129,8 @@@ c        write (iout,*) "MPI_ROTAT2",MP
        idihconstr_end=ndih_constr
        iphid_start=iphi_start
        iphid_end=iphi_end-1
+       itau_start=4
+       itau_end=nres
        ibond_start=2
        ibond_end=nres-1
        ibondp_start=nnt
@@@ -1111,15 -1150,16 +1152,16 @@@ c--------------------------------------
        include "COMMON.INTERACT"
        include "COMMON.SETUP"
        include "COMMON.IOUNITS"
-       integer ii,jj,itask(4),ntask_cont_to,itask_cont_to(0:MaxProcs-1)
+       integer ii,jj,itask(4),ntask_cont_to,
+      &itask_cont_to(0:max_fg_procs-1)
        logical flag
        integer iturn3_start_all,iturn3_end_all,iturn4_start_all,
       & iturn4_end_all,iatel_s_all,iatel_e_all,ielstart_all,ielend_all
-       common /przechowalnia/ iturn3_start_all(0:MaxProcs),
-      & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
-      & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
-      & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
-      & ielend_all(maxres,0:MaxProcs-1)
+       common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+      & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+      & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+      &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+      & ielend_all(maxres,0:max_fg_procs-1)
        integer iproc,isent,k,l
  c Determines whether to send interaction ii,jj to other processors; a given
  c interaction can be sent to at most 2 processors.
@@@ -1201,15 -1241,15 +1243,15 @@@ c--------------------------------------
        include "COMMON.SETUP"
        include "COMMON.IOUNITS"
        integer ii,jj,itask(2),ntask_cont_from,
-      & itask_cont_from(0:MaxProcs-1)
+      & itask_cont_from(0:max_fg_procs-1)
        logical flag
        integer iturn3_start_all,iturn3_end_all,iturn4_start_all,
       & iturn4_end_all,iatel_s_all,iatel_e_all,ielstart_all,ielend_all
-       common /przechowalnia/ iturn3_start_all(0:MaxProcs),
-      & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
-      & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
-      & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
-      & ielend_all(maxres,0:MaxProcs-1)
+       common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+      & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+      & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+      &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+      & ielend_all(maxres,0:max_fg_procs-1)
        integer iproc,k,l
        do iproc=fg_rank+1,nfgtasks-1
          do k=iturn3_start_all(iproc),iturn3_end_all(iproc)
@@@ -1261,7 -1301,7 +1303,7 @@@ c--------------------------------------
        subroutine add_task(iproc,ntask_cont,itask_cont)
        implicit none
        include "DIMENSIONS"
-       integer iproc,ntask_cont,itask_cont(0:MaxProcs-1)
+       integer iproc,ntask_cont,itask_cont(0:max_fg_procs-1)
        integer ii
        do ii=1,ntask_cont
          if (itask_cont(ii).eq.iproc) return
@@@ -164,8 -164,12 +164,12 @@@ c      call memmon_print_usage(
        rr0(i)=0.0D0
        a0thet(i)=0.0D0
        do j=1,2
-         athet(j,i)=0.0D0
-         bthet(j,i)=0.0D0
+          do k=-1,1
+          do kk=-1,1
+           athet(j,i,k,kk)=0.0D0
+         bthet(j,i,k,kk)=0.0D0
+          enddo
+          enddo
          enddo
        do j=0,3
          polthet(j,i)=0.0D0
@@@ -292,11 -296,11 +296,11 @@@ c--------------------------------------
        include 'COMMON.IOUNITS'
        include 'COMMON.DERIV'
        include 'COMMON.CONTACTS'
-       common /przechowalnia/ iturn3_start_all(0:MaxProcs),
-      & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
-      & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
-      & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
-      & ielend_all(maxres,0:MaxProcs-1),
+       common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+      & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+      & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+      &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+      & ielend_all(maxres,0:max_fg_procs-1),
       & ntask_cont_from_all(0:max_fg_procs-1),
       & itask_cont_from_all(0:max_fg_procs-1,0:max_fg_procs-1),
       & ntask_cont_to_all(0:max_fg_procs-1),
@@@ -312,7 -316,7 +316,7 @@@ C... to deal with by current processor
          itask_cont_from(i)=fg_rank
          itask_cont_to(i)=fg_rank
        enddo
 -      lprint=.false.
 +      lprint=energy_dec
        if (lprint)
       &write (iout,*) 'INIT_INT_TABLE nres=',nres,' nnt=',nnt,' nct=',nct
        n_sc_int_tot=(nct-nnt+1)*(nct-nnt)/2-nss
@@@ -345,6 -349,7 +349,7 @@@ cd    write (iout,*) 'ns=',ns,' nss=',n
  cd   &   (ihpb(i),jhpb(i),i=1,nss)
        do i=nnt,nct-1
          scheck=.false.
+         if (dyn_ss) goto 10
          do ii=1,nss
            if (ihpb(ii).eq.i+nres) then
              scheck=.true.
@@@ -410,7 -415,6 +415,7 @@@ c            write (iout,*) 'jj=nct
        iatsc_s=nnt
        iatsc_e=nct-1
  #endif
 +      if (iatsc_s.eq.0) iatsc_s=1
  #ifdef MPI
        if (lprint) write (*,*) 'Processor',fg_rank,' CG Group',kolor,
       &   ' absolute rank',myrank,' iatsc_s=',iatsc_s,' iatsc_e=',iatsc_e
@@@ -543,7 -547,6 +548,7 @@@ cd        write (iout,*) 'i.gt.nct-iscp
          endif 
        enddo ! i
  #endif
 +      if (iatscp_s.eq.0) iatscp_s=1
        if (lprint) then
          write (iout,'(a)') 'SC-p interaction array:'
          do i=iatscp_s,iatscp_e
@@@ -1118,15 -1121,16 +1123,16 @@@ c--------------------------------------
        include "COMMON.INTERACT"
        include "COMMON.SETUP"
        include "COMMON.IOUNITS"
-       integer ii,jj,itask(4),ntask_cont_to,itask_cont_to(0:MaxProcs-1)
+       integer ii,jj,itask(4),
+      & ntask_cont_to,itask_cont_to(0:max_fg_procs-1)
        logical flag
        integer iturn3_start_all,iturn3_end_all,iturn4_start_all,
       & iturn4_end_all,iatel_s_all,iatel_e_all,ielstart_all,ielend_all
-       common /przechowalnia/ iturn3_start_all(0:MaxProcs),
-      & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
-      & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
-      & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
-      & ielend_all(maxres,0:MaxProcs-1)
+       common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+      & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+      & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+      &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+      & ielend_all(maxres,0:max_fg_procs-1)
        integer iproc,isent,k,l
  c Determines whether to send interaction ii,jj to other processors; a given
  c interaction can be sent to at most 2 processors.
@@@ -1208,15 -1212,15 +1214,15 @@@ c--------------------------------------
        include "COMMON.SETUP"
        include "COMMON.IOUNITS"
        integer ii,jj,itask(2),ntask_cont_from,
-      & itask_cont_from(0:MaxProcs-1)
+      & itask_cont_from(0:max_fg_procs-1)
        logical flag
        integer iturn3_start_all,iturn3_end_all,iturn4_start_all,
       & iturn4_end_all,iatel_s_all,iatel_e_all,ielstart_all,ielend_all
-       common /przechowalnia/ iturn3_start_all(0:MaxProcs),
-      & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
-      & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
-      & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
-      & ielend_all(maxres,0:MaxProcs-1)
+       common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+      & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+      & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+      &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+      & ielend_all(maxres,0:max_fg_procs-1)
        integer iproc,k,l
        do iproc=fg_rank+1,nfgtasks-1
          do k=iturn3_start_all(iproc),iturn3_end_all(iproc)
@@@ -1268,7 -1272,7 +1274,7 @@@ c--------------------------------------
        subroutine add_task(iproc,ntask_cont,itask_cont)
        implicit none
        include "DIMENSIONS"
-       integer iproc,ntask_cont,itask_cont(0:MaxProcs-1)
+       integer iproc,ntask_cont,itask_cont(0:max_fg_procs-1)
        integer ii
        do ii=1,ntask_cont
          if (itask_cont(ii).eq.iproc) return