update
[unres.git] / source / unres / src_MD / MREMD.F
index 0e4045f..c440bb7 100644 (file)
@@ -1704,8 +1704,13 @@ ctime        call flush(iout)
           call xdrffloat_(ixdrf, real(t_restart1(4,il)), 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)+nres, iret)
+            call xdrfint_(ixdrf, jdssb(j)+nres, iret)
+           else
+            call xdrfint_(ixdrf, ihpb(j), iret)
+            call xdrfint_(ixdrf, jhpb(j), iret)
+           endif
           enddo
           call xdrfint_(ixdrf, nfrag+npair+3*nfrag_back, iret)
           call xdrfint_(ixdrf, iset_restart1(il), iret)
@@ -1742,8 +1747,13 @@ ctime        call flush(iout)
           call xdrffloat(ixdrf, real(t_restart1(4,il)), 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)+nres, iret)
+            call xdrfint(ixdrf, jdssb(j)+nres, iret)
+           else
+            call xdrfint(ixdrf, ihpb(j), iret)
+            call xdrfint(ixdrf, jhpb(j), iret)
+           endif
           enddo
           call xdrfint(ixdrf, nfrag+npair+3*nfrag_back, iret)
           call xdrfint(ixdrf, iset_restart1(il), iret)
@@ -1828,7 +1838,6 @@ ctime        call flush(iout)
       integer*2 i_index
      &            (maxprocs/4,maxprocs/20,maxprocs/200,maxprocs/200)
       common /przechowalnia/ d_restart1
-      integer i2set_(0:maxprocs)
       write (*,*) "Processor",me," called read1restart"
 
          if(me.eq.king)then
@@ -1987,16 +1996,18 @@ c     &                (d_restart1(j,i+2*nres*il),j=1,3)
               enddo
              endif
 #endif
-c Corrected AL 8/19/2014: each processor needs whole iset array not only its
+Corrected AL 8/19/2014: each processor needs whole iset array not only its
 c own element
 c              call mpi_scatter(i2set,1,mpi_integer,
 c     &           iset,1,mpi_integer,king,
-c     &           CG_COMM,ierr) 
+c     &           CG_COMM,ierr)
               call mpi_bcast(i2set(0),nodes,mpi_integer,king,
      &         CG_COMM,ierr)
               iset=i2set(me)
+
            endif
 
+
         if(me.eq.king) close(irest2)
         return
         end