Adam's cluster wham update
[unres.git] / source / cluster / wham / src-HCD / read_coords.F
index facbc27..20abce5 100644 (file)
@@ -49,8 +49,8 @@ c Set the scratchfile names
 #endif
 c 1/27/05 AL Change stored coordinates to single precision and don't store 
 c         energy components in the binary databases.
-      lenrec=12*(nres+nct-nnt+1)+4*(2*nss+2)+16
-      lenrec_in=12*(nres+nct-nnt+1)+4*(2*nss+2)+24
+      lenrec=12*(nres+nct-nnt+1)+4*(ns+2)+16
+      lenrec_in=12*(nres+nct-nnt+1)+4*(ns+2)+24
 #ifdef DEBUG
       write (iout,*) "nres",nres," nnt",nnt," nct",nct," nss", nss
       write (iout,*) "lenrec_in",lenrec_in
@@ -217,19 +217,28 @@ c          call flush(iout)
             if (iret.eq.0) goto 101
             call xdrfint_(ixdrf, nss, iret)
             if (iret.eq.0) goto 101
-            do j=1,nss
-           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)
-              if (iret.eq.0) goto 101
-              call xdrfint_(ixdrf, jhpb(j), iret)
-              if (iret.eq.0) goto 101
-           endif
-            enddo
+            if (dyn_ss) then
+              do k=1,nss
+                call xdrfint(ixdrf, idssb(k), iret)
+                call xdrfint(ixdrf, jdssb(k), iret)
+                ihpb(k)=iss(idssb(k)-nres)+nres
+                jhpb(k)=iss(jdssb(k)-nres)+nres 
+#ifdef DEBUG
+                write (iout,*) "jj",jj+1," dyn_ss:",idssb(k)-nres,
+     &            jdssb(k)-nres,ihpb(k),jhpb(k)
+#endif
+              enddo
+            else
+              do k=1,nss
+                call xdrfint(ixdrf, ihpb(k), iret)
+                if (iret.eq.0) goto 101
+                call xdrfint(ixdrf, jhpb(k), iret)
+                if (iret.eq.0) goto 101
+#ifdef DEBUG
+                write (iout,*) "jj",jj+1," stat_ss:",ihpb(k),jhpb(k)
+#endif
+              enddo
+            endif
             call xdrffloat_(ixdrf,reini,iret)
             if (iret.eq.0) goto 101
             call xdrffloat_(ixdrf,refree,iret)
@@ -249,17 +258,28 @@ c            write (iout,*) "iret",iret
 c            write (iout,*) "nss",nss
             call flush(iout)
             if (iret.eq.0) goto 101
-            do k=1,nss
-           if (dyn_ss) then
-            call xdrfint(ixdrf, idssb(k), iret)
-            call xdrfint(ixdrf, jdssb(k), iret)
+            if (dyn_ss) then
+              do k=1,nss
+                call xdrfint(ixdrf, idssb(k), iret)
+                call xdrfint(ixdrf, jdssb(k), iret)
+                ihpb(k)=iss(idssb(k)-nres)+nres
+                jhpb(k)=iss(jdssb(k)-nres)+nres 
+#ifdef DEBUG
+                write (iout,*) "jj",jj+1," dyn_ss:",idssb(k)-nres,
+     &            jdssb(k)-nres,ihpb(k),jhpb(k)
+#endif
+              enddo
             else
-              call xdrfint(ixdrf, ihpb(k), iret)
-              if (iret.eq.0) goto 101
-              call xdrfint(ixdrf, jhpb(k), iret)
-              if (iret.eq.0) goto 101
+              do k=1,nss
+                call xdrfint(ixdrf, ihpb(k), iret)
+                if (iret.eq.0) goto 101
+                call xdrfint(ixdrf, jhpb(k), iret)
+                if (iret.eq.0) goto 101
+#ifdef DEBUG
+                write (iout,*) "jj",jj+1," stat_ss:",ihpb(k),jhpb(k)
+#endif
+              enddo
             endif
-            enddo
             call xdrffloat(ixdrf,reini,iret)
             if (iret.eq.0) goto 101
             call xdrffloat(ixdrf,refree,iret)
@@ -391,10 +411,9 @@ c------------------------------------------------------------------------------
       include "COMMON.SBRIDGE"
       include "COMMON.GEO"
       integer i,j,jj,jjj,jj_old,icount,k,kk,l,ii,ib
-     &  nn,nn1,inan,Next,itj,chalen
+     &  nn,nn1,inan,Next,itj
       double precision etot,energia(0:max_ene)
       jjj=jjj+1
-      chalen=int((nct-nnt+2)/symetr)
       call int_from_cart1(.false.)
       do j=nnt+1,nct
         if ((vbld(j).lt.2.0d0 .or. vbld(j).gt.5.0d0)
@@ -402,8 +421,7 @@ c------------------------------------------------------------------------------
          if (j.gt.2) then
           if (itel(j).ne.0 .and. itel(j-1).ne.0) then
           write (iout,*) "Conformation",jjj,jj+1
-          write (iout,*) "Bad CA-CA bond length",j," ",vbld(j),itel(j),
-     & chalen
+          write (iout,*) "Bad CA-CA bond length",j," ",vbld(j),itel(j)
           write (iout,*) "The Cartesian geometry is:"
           write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
           write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
@@ -671,17 +689,17 @@ C#define DEBUG
         write (iout,*) "Reading binary file, record",iii," ii",ii
         call flush(iout)
 #endif
-        if (dyn_ss) then
-        read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
-     &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
+c        if (dyn_ss) then
+c        read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
+c     &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
 c     &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
-     &    entfac(ii),rmstb(ii)
-        else
+c     &    entfac(ii),rmstb(ii)
+c        else
         read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
      &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
      &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
      &    entfac(ii),rmstb(ii)
-         endif
+c         endif
 #ifdef DEBUG
         write (iout,*) ii,iii,ij,entfac(ii)
         write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
@@ -738,17 +756,17 @@ c
         write (iout,*) "Writing binary file, record",iii," ii",ii
         call flush(iout)
 #endif
-       if (dyn_ss) then
-        write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
-     &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
+c       if (dyn_ss) then
+c        write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
+c     &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
 c     &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij))
-     &    entfac(ii),rmstb(ii)
-        else
+c     &    entfac(ii),rmstb(ii)
+c        else
         write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
      &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
      &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij)),
      &    entfac(ii),rmstb(ii)
-       endif
+c       endif
 #ifdef DEBUG
         write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
         write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),i=nnt+nres,