Merge branch 'AFM' into multichain
authorAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Thu, 6 Aug 2015 07:01:16 +0000 (09:01 +0200)
committerAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Thu, 6 Aug 2015 07:01:16 +0000 (09:01 +0200)
source/unres/src_MD-M/chainbuild.F
source/unres/src_MD-M/energy_p_new_barrier.F

index 79e3c42..157baa9 100644 (file)
@@ -416,11 +416,17 @@ c------------------------------------------
       include 'COMMON.SETUP'
       include 'COMMON.MUCA'
       include 'COMMON.HAIRPIN'
+C change suggested by Ana - begin
+      integer allareout
+C change suggested by Ana - end
         j=1
         chain_beg=1
 C        do i=1,nres
 C       write(*,*) 'initial', i,j,c(j,i)
 C        enddo
+C change suggested by Ana - begin
+        allareout=1
+C change suggested by Ana -end
         do i=1,nres-1
          if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
           chain_end=i
@@ -431,6 +437,10 @@ C        enddo
               c(j,k)=c(j,k)-ireturnval*boxxsize
               c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize
             enddo
+C Suggested by Ana
+            if (chain_beg.eq.1) 
+     &      dc_old(1,0)=dc_old(1,0)-ireturnval*boxxsize
+C Suggested by Ana -end
            endif
            chain_beg=i+1
            allareout=1
@@ -491,6 +501,9 @@ C        write(*,*) 'after no jump', i,j,c(j,i)
 C        enddo
 
 C NOW Y dimension
+C suggesed by Ana begins
+        allareout=1
+C suggested by Ana ends
         j=2
         chain_beg=1
         do i=1,nres-1
@@ -503,6 +516,10 @@ C NOW Y dimension
               c(j,k)=c(j,k)-ireturnval*boxysize
              c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize
             enddo
+C Suggested by Ana
+            if (chain_beg.eq.1)
+     &      dc_old(1,0)=dc_old(1,0)-ireturnval*boxxsize
+C Suggested by Ana -end
            endif
            chain_beg=i+1
            allareout=1
@@ -552,6 +569,10 @@ C NOW Y dimension
               c(j,i)=c(j,i)+nojumpval*boxysize
               c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
          enddo
+C Now Z dimension
+C Suggested by Ana -begins
+        allareout=1
+C Suggested by Ana -ends
        j=3
         chain_beg=1
         do i=1,nres-1
@@ -564,6 +585,10 @@ C NOW Y dimension
               c(j,k)=c(j,k)-ireturnval*boxzsize
               c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize
             enddo
+C Suggested by Ana
+            if (chain_beg.eq.1)
+     &      dc_old(1,0)=dc_old(1,0)-ireturnval*boxxsize
+C Suggested by Ana -end
            endif
            chain_beg=i+1
            allareout=1
index 2208b17..3192819 100644 (file)
@@ -3285,11 +3285,18 @@ C 14/01/2014 TURN3,TUNR4 does no go under periodic boundry condition
         if (i.le.1) cycle
 C        write(iout,*) "tu jest i",i
         if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1
+C changes suggested by Ana to avoid out of bounds
+     & .or.((i+4).gt.nres)
+     & .or.((i-1).le.0)
+C end of changes by Ana
      &  .or. itype(i+2).eq.ntyp1
-     &  .or. itype(i+3).eq.ntyp1
-     &  .or. itype(i-1).eq.ntyp1
-     &  .or. itype(i+4).eq.ntyp1
-     &  ) cycle
+     &  .or. itype(i+3).eq.ntyp1) cycle
+        if(i.gt.1)then
+          if(itype(i-1).eq.ntyp1)cycle
+        end if
+        if(i.LT.nres-3)then
+          if (itype(i+4).eq.ntyp1) cycle
+        end if
         dxi=dc(1,i)
         dyi=dc(2,i)
         dzi=dc(3,i)
@@ -3313,6 +3320,10 @@ C        write(iout,*) "tu jest i",i
       do i=iturn4_start,iturn4_end
         if (i.le.1) cycle
         if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1
+C changes suggested by Ana to avoid out of bounds
+     & .or.((i+5).gt.nres)
+     & .or.((i-1).le.0)
+C end of changes suggested by Ana
      &    .or. itype(i+3).eq.ntyp1
      &    .or. itype(i+4).eq.ntyp1
      &    .or. itype(i+5).eq.ntyp1
@@ -3377,6 +3388,10 @@ c
       do i=iatel_s,iatel_e
         if (i.le.1) cycle
         if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1
+C changes suggested by Ana to avoid out of bounds
+     & .or.((i+2).gt.nres)
+     & .or.((i-1).le.0)
+C end of changes by Ana
      &  .or. itype(i+2).eq.ntyp1
      &  .or. itype(i-1).eq.ntyp1
      &                ) cycle
@@ -3431,6 +3446,10 @@ c        write (iout,*) 'i',i,' ielstart',ielstart(i),' ielend',ielend(i)
 C          write (iout,*) i,j
          if (j.le.1) cycle
           if (itype(j).eq.ntyp1.or. itype(j+1).eq.ntyp1
+C changes suggested by Ana to avoid out of bounds
+     & .or.((j+2).gt.nres)
+     & .or.((j-1).le.0)
+C end of changes by Ana
      & .or.itype(j+2).eq.ntyp1
      & .or.itype(j-1).eq.ntyp1
      &) cycle