zmiany, wylaczenie diagnostyki, dzialajacy WHAM
authorAdam Kazimierz Sieradzan <adasko@sun1.chem.univ.gda.pl>
Sun, 25 May 2014 15:23:08 +0000 (11:23 -0400)
committerAdam Kazimierz Sieradzan <adasko@sun1.chem.univ.gda.pl>
Sun, 25 May 2014 15:23:08 +0000 (11:23 -0400)
source/unres/src_MD-M/MREMD.F
source/unres/src_MD-M/energy_p_new_barrier.F
source/unres/src_MD-M/readpdb.F
source/wham/src-M/energy_p_new.F

index d9ddba2..df51b13 100644 (file)
@@ -527,6 +527,7 @@ c Variable time step algorithm.
             enddo
 C            print *,'przed returnbox'
             call returnbox
+C            call enerprint(remd_ene(0,i))
             do i=1,nres*2
              do j=1,3
               c_cache(j,i,ntwx_cache)=c(j,i)
@@ -832,7 +833,7 @@ c     &          remd_t_bath(iex)
                call rescale_weights(remd_t_bath(iex))
 
 c               write (iout,*) "0,i",remd_t_bath(iex)
-c               call enerprint(remd_ene(0,i))
+               call enerprint(remd_ene(0,i))
 
                call sum_energy(remd_ene(0,i),.false.)
 c               write (iout,*) "ene_i_iex",remd_ene(0,i)
@@ -1935,8 +1936,8 @@ C             print *,'diff', difference
               nojumpval=0
               endif
               endif
-              c(j,k)=c(j,k)+nojumpval*boxxsize
-              c(j,k+nres)=c(j,k+nres)+nojumpval*boxxsize
+              c(j,i)=c(j,i)+nojumpval*boxxsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
          enddo
        nojumpval=0
         do i=2,nres
@@ -1952,13 +1953,13 @@ C             print *,'diff', difference
               nojumpval=0
               endif
              endif
-              c(j,k)=c(j,k)+nojumpval*boxxsize
-              c(j,k+nres)=c(j,k+nres)+nojumpval*boxxsize
+              c(j,i)=c(j,i)+nojumpval*boxxsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
          enddo
 
-        do i=1,nres
-        write(*,*) 'after no jump', i,j,c(j,i)
-        enddo
+C        do i=1,nres
+C        write(*,*) 'after no jump', i,j,c(j,i)
+C        enddo
 
 C NOW Y dimension
         j=2
@@ -2002,8 +2003,8 @@ C NOW Y dimension
               nojumpval=0
               endif
            endif
-              c(j,k)=c(j,k)+nojumpval*boxysize
-              c(j,k+nres)=c(j,k+nres)+nojumpval*boxysize
+              c(j,i)=c(j,i)+nojumpval*boxysize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
          enddo
       nojumpval=0
         do i=2,nres
@@ -2019,8 +2020,8 @@ C NOW Y dimension
               nojumpval=0
               endif
             endif
-              c(j,k)=c(j,k)+nojumpval*boxysize
-              c(j,k+nres)=c(j,k+nres)+nojumpval*boxysize
+              c(j,i)=c(j,i)+nojumpval*boxysize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
          enddo
 
         j=3
@@ -2064,8 +2065,8 @@ C NOW Y dimension
               nojumpval=0
               endif
             endif
-              c(j,k)=c(j,k)+nojumpval*boxzsize
-              c(j,k+nres)=c(j,k+nres)+nojumpval*boxzsize
+              c(j,i)=c(j,i)+nojumpval*boxzsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
          enddo
        nojumpval=0
         do i=2,nres
@@ -2081,8 +2082,8 @@ C NOW Y dimension
               nojumpval=0
               endif
             endif
-              c(j,k)=c(j,k)+nojumpval*boxzsize
-              c(j,k+nres)=c(j,k+nres)+nojumpval*boxzsize
+              c(j,i)=c(j,i)+nojumpval*boxzsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
          enddo
 
         return
index c8acad2..23aafae 100644 (file)
@@ -4787,7 +4787,7 @@ C YES   vbldpDUM is the equlibrium length of spring for Dummy atom
 C NO    vbldp0 is the equlibrium lenght of spring for peptide group
         diff = vbld(i)-vbldp0
          endif 
-        if (energy_dec) write (iout,'(a7,i5,4f7.3)') 
+        if (energy_dec)    write (iout,'(a7,i5,4f7.3)') 
      &     "estr bb",i,vbld(i),vbldp0,diff,AKP*diff*diff
         estr=estr+diff*diff
         do j=1,3
@@ -4806,7 +4806,7 @@ c
           nbi=nbondterm(iti)
           if (nbi.eq.1) then
             diff=vbld(i+nres)-vbldsc0(1,iti)
-            if (energy_dec) write (iout,*) 
+            if (energy_dec)  write (iout,*) 
      &      "estr sc",i,iti,vbld(i+nres),vbldsc0(1,iti),diff,
      &      AKSC(1,iti),AKSC(1,iti)*diff*diff
             estr=estr+0.5d0*AKSC(1,iti)*diff*diff
index ca0be94..978d0ae 100644 (file)
@@ -17,8 +17,11 @@ C geometry.
       character*80 card
       dimension sccor(3,20)
       double precision e1(3),e2(3),e3(3)
-      integer rescode
+      integer rescode,iterter(maxres)
       logical fail
+      do i=1,maxres
+         iterter(i)=0
+      enddo
       ibeg=1
       lsecondary=.false.
       nhfrag=0
@@ -48,7 +51,9 @@ crc----------------------------------------
 C End current chain
           ires_old=ires+2
           itype(ires_old-1)=ntyp1 
+          iterter(ires_old-1)=1
           itype(ires_old)=ntyp1
+          iterter(ires_old)=1
           ibeg=2
           write (iout,*) "Chain ended",ires,ishift,ires_old
           if (unres_pdb) then
@@ -120,8 +125,8 @@ C system
       nres=ires
       do i=2,nres-1
         write (iout,*) i,itype(i),itype(i+1)
-        if (itype(i).eq.ntyp1) then
-         if (itype(i+1).eq.ntyp1) then
+        if (itype(i).eq.ntyp1.and.iterter(i).eq.1) then
+         if (itype(i+1).eq.ntyp1.and.iterter(i+1).eq.1 ) then
 C 16/01/2014 by Adasko: Adding to dummy atoms in the chain
 C first is connected prevous chain (itype(i+1).eq.ntyp1)=true
 C second dummy atom is conected to next chain itype(i+1).eq.ntyp1=false
index 810275a..7217542 100644 (file)
@@ -1908,11 +1908,15 @@ C      write (iout,*) 'iatel_s=',iatel_s,' iatel_e=',iatel_e
         gcorr_loc(i)=0.0d0
       enddo
       do i=iatel_s,iatel_e
-          if (i.eq.1) cycle
+          if (i.eq.1) then 
+           if (itype(i).eq.ntyp1.or. itype(i+1).eq.ntyp1
+     &  .or. itype(i+2).eq.ntyp1) cycle
+          else
         if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1
      &  .or. itype(i+2).eq.ntyp1
      &  .or. itype(i-1).eq.ntyp1
      &) cycle
+         endif
         if (itel(i).eq.0) goto 1215
         dxi=dc(1,i)
         dyi=dc(2,i)
@@ -1932,11 +1936,16 @@ C      write (iout,*) 'iatel_s=',iatel_s,' iatel_e=',iatel_e
         num_conti=0
 C        write (iout,*) 'i',i,' ielstart',ielstart(i),' ielend',ielend(i)
         do j=ielstart(i),ielend(i)
-          if (j.eq.1) cycle
+          if (j.eq.1) then
+           if (itype(j).eq.ntyp1 .or. itype(j+1).eq.ntyp1
+     & .or.itype(j+2).eq.ntyp1
+     &) cycle  
+          else     
           if (itype(j).eq.ntyp1 .or. itype(j+1).eq.ntyp1
      & .or.itype(j+2).eq.ntyp1
      & .or.itype(j-1).eq.ntyp1
      &) cycle
+         endif
 C
 C) cycle
           if (itel(j).eq.0) goto 1216
@@ -2032,7 +2041,7 @@ c             write (iout,'(a6,2i5,0pf7.3,2i5,2e11.3)')
 c     &'evdw1',i,j,evdwij
 c     &,iteli,itelj,aaa,evdw1
 
-              write (iout,'(a6,2i5,0pf7.3)') 'ees',i,j,eesij
+C              write (iout,'(a6,2i5,0pf7.3)') 'ees',i,j,eesij
 c          write(iout,'(2(2i3,2x),7(1pd12.4)/2(3(1pd12.4),5x)/)')
 c     &      iteli,i,itelj,j,aaa,bbb,ael6i,ael3i,
 c     &      1.0D0/dsqrt(rrmij),evdwij,eesij,
@@ -3272,13 +3281,14 @@ C        else
          else
           diff = vbld(i)-vbldp0
 c          write (iout,*) i,vbld(i),vbldp0,diff,AKP*diff*diff
+         endif
           estr=estr+diff*diff
           do j=1,3
             gradb(j,i-1)=AKP*diff*dc(j,i-1)/vbld(i)
           enddo
-        endif
-        write (iout,'(a7,i5,4f7.3)')
-     &     "estr bb",i,vbld(i),vbldp0,diff,AKP*diff*diff
+C        endif
+C        write (iout,'(a7,i5,4f7.3)')
+C     &     "estr bb",i,vbld(i),vbldp0,diff,AKP*diff*diff
       enddo
       estr=0.5d0*AKP*estr+estr1
 c
@@ -3290,8 +3300,8 @@ c
           nbi=nbondterm(iti)
           if (nbi.eq.1) then
             diff=vbld(i+nres)-vbldsc0(1,iti)
-c            write (iout,*) i,iti,vbld(i+nres),vbldsc0(1,iti),diff,
-c     &      AKSC(1,iti),AKSC(1,iti)*diff*diff
+C            write (iout,*) i,iti,vbld(i+nres),vbldsc0(1,iti),diff,
+C     &      AKSC(1,iti),AKSC(1,iti)*diff*diff
             estr=estr+0.5d0*AKSC(1,iti)*diff*diff
             do j=1,3
               gradbx(j,i)=AKSC(1,iti)*diff*dc(j,i+nres)/vbld(i+nres)
@@ -3320,8 +3330,8 @@ c     &      AKSC(1,iti),AKSC(1,iti)*diff*diff
               usum=usum+uprod1
               usumsqder=usumsqder+ud(j)*uprod2
             enddo
-c            write (iout,*) i,iti,vbld(i+nres),(vbldsc0(j,iti),
-c     &      AKSC(j,iti),abond0(j,iti),u(j),j=1,nbi)
+            write (iout,*) i,iti,vbld(i+nres),(vbldsc0(j,iti),
+     &      AKSC(j,iti),abond0(j,iti),u(j),j=1,nbi)
             estr=estr+uprod/usum
             do j=1,3
              gradbx(j,i)=usumsqder/(usum*usum)*dc(j,i+nres)/vbld(i+nres)