box shift in wham from Adam
[unres.git] / source / wham / src-M / cxread.F
index 7bb2f6a..15777b1 100644 (file)
@@ -5,6 +5,7 @@
       include 'DIMENSIONS.FREE'
       integer MaxTraj
       parameter (MaxTraj=2050)
+      include 'COMMON.CONTROL'
       include 'COMMON.CHAIN'
       include 'COMMON.INTERACT'
       include 'COMMON.NAMES'
@@ -63,8 +64,15 @@ c      write (iout,*) "rpotE",rpotE," iret",iret
       call xdrffloat_(ixdrf, rt_bath, iret)
       call xdrfint_(ixdrf, nss, iret)
       do j=1,nss
-        call xdrfint_(ixdrf, ihpb(j), iret)
-        call xdrfint_(ixdrf, jhpb(j), iret)
+           if (dyn_ss) then
+            call xdrfint(ixdrf, idssb(j), iret)
+            call xdrfint(ixdrf, jdssb(j), iret)
+        idssb(j)=idssb(j)-nres
+        jdssb(j)=jdssb(j)-nres
+           else
+            call xdrfint_(ixdrf, ihpb(j), iret)
+            call xdrfint_(ixdrf, jhpb(j), iret)
+           endif
       enddo
       call xdrfint_(ixdrf, nprop, iret)
       if (umbrella(iparm) .or. read_iset(iparm) .or. hamil_rep) 
@@ -81,8 +89,13 @@ c      write (iout,*) "rpotE",rpotE," iret",iret
       call xdrffloat(ixdrf, rt_bath, iret)
       call xdrfint(ixdrf, nss, iret)
       do j=1,nss
-        call xdrfint(ixdrf, ihpb(j), iret)
-        call xdrfint(ixdrf, jhpb(j), iret)
+           if (dyn_ss) then
+            call xdrfint(ixdrf, idssb(j), iret)
+            call xdrfint(ixdrf, jdssb(j), iret)
+           else
+            call xdrfint(ixdrf, ihpb(j), iret)
+            call xdrfint(ixdrf, jhpb(j), iret)
+           endif
       enddo
       call xdrfint(ixdrf, nprop, iret)
 c      write (iout,*) "nprop",nprop
@@ -155,6 +168,20 @@ c      call flush(iout)
         enddo
       enddo
 
+c Box shift  
+      call oligomer
+      do i=1,nres
+        do j=1,3
+          xoord(j,i)=c(j,i)
+        enddo
+      enddo  
+      do i=1,nct-nnt+1
+        do j=1,3
+          xoord(j,i+nres)=c(j,i+nres+nnt-1)
+        enddo
+      enddo  
+c end change 
+
       if (islice.gt.0 .and. islice.le.nslice .and. (.not.separate_parset
      &    .or. iset.eq.myparm)) then
         ii=ii+1