Adam's changes
[unres.git] / source / unres / src-HCD-5D / gen_rand_conf.F
index 557f435..b5e5595 100644 (file)
@@ -780,7 +780,7 @@ c     overlapping residues left, or false otherwise (success)
       call overlap_sc_list(ioverlap,ioverlap_last)
       if (ioverlap_last.gt.0) then
         write (iout,*) '#OVERLAPing residues ',ioverlap_last
-        write (iout,'(20i4)') (ioverlap(k),k=1,ioverlap_last)
+        write (iout,'(18i5)') (ioverlap(k),k=1,ioverlap_last)
         had_overlaps=.true.
       endif
 
@@ -845,13 +845,15 @@ c     overlapping residues left, or false otherwise (success)
       integer ioverlap(maxres),ioverlap_last
       data redfac /0.5D0/
 
-c      write (iout,*) "overlap_sc_list"
+      write (iout,*) "overlap_sc_list"
+c      write(iout,*) "iatsc_s",iatsc_s," iatsc_e",iatsc_e
+      write(iout,*) "nnt",nnt," nct",nct
       ioverlap_last=0
 C Check for SC-SC overlaps and mark residues
 c      print *,'>>overlap_sc nnt=',nnt,' nct=',nct
       ind=0
-c      write(iout,*) "iatsc_s",iatsc_s," iatsc_e",iatsc_e
-      do i=iatsc_s,iatsc_e
+c      do i=iatsc_s,iatsc_e
+      do i=nnt,nct
         itypi=iabs(itype(i))
         itypi1=iabs(itype(i+1))
         if (itypi.eq.ntyp1) cycle
@@ -863,12 +865,13 @@ c      write(iout,*) "iatsc_s",iatsc_s," iatsc_e",iatsc_e
         dzi=dc_norm(3,nres+i)
         dsci_inv=dsc_inv(itypi)
 c
-       do iint=1,nint_gr(i)
-         do j=istart(i,iint),iend(i,iint)
+c        do iint=1,nint_gr(i)
+c          do j=istart(i,iint),iend(i,iint)
+          do j=i+1,nct
             ind=ind+1
             itypj=iabs(itype(j))
             if (itypj.eq.ntyp1) cycle
-c            write (iout,*) "i,j",i,j," itypi,itypj",itypi,itypj
+c           write (iout,*) "i,j",i,j," itypi,itypj",itypi,itypj
             dscj_inv=dsc_inv(itypj)
             sig0ij=sigma(itypi,itypj)
             chi1=chi(itypi,itypj)
@@ -880,13 +883,13 @@ c            write (iout,*) "i,j",i,j," itypi,itypj",itypi,itypj
             alf1=alp(itypi)   
             alf2=alp(itypj)   
             alf12=0.5D0*(alf1+alf2)
-          if (j.gt.i+1) then
-           rcomp=sigmaii(itypi,itypj)
-          else 
-           rcomp=sigma(itypi,itypj)
-          endif
-c          write (iout,'(2(a3,2i3),a3,2f10.5)'),
-c     &        ' i=',i,iti,' j=',j,itj,' d=',dist(nres+i,nres+j)
+            if (j.gt.i+1) then
+              rcomp=sigmaii(itypi,itypj)
+            else 
+              rcomp=sigma(itypi,itypj)
+            endif
+c            write (iout,'(2(a3,2i5),a3,2f10.5)'),
+c     &        ' i=',i,itypi,' j=',j,itypj,' d=',dist(nres+i,nres+j)
 c     &        ,rcomp
             xj=c(1,nres+j)-xi
             yj=c(2,nres+j)-yi
@@ -905,28 +908,28 @@ c            write (iout,*) "sigsq",sigsq
             sigsq=1.0D0/sigsq
             sig=sig0ij*dsqrt(sigsq)
             rij_shift=1.0D0/rij-sig+sig0ij
-c            write (iout,*) "rij_shift",rij_shift
-c          if ( 1.0/rij .lt. redfac*rcomp .or. 
-c     &       rij_shift.le.0.0D0 ) then
-c          write (iout,'(a,i3,a,i3,a,f10.5,a,3f10.5)')
-c     &     'overlap SC-SC: i=',i,' j=',j,
-c     &     ' dist=',dist(nres+i,nres+j),' rcomp=',
-c     &     rcomp,1.0/rij,rij_shift
-            if ( rij_shift.le.0.0D0 ) then
-c                    write (iout,*) "overlap",i,j
-          ioverlap_last=ioverlap_last+1
-          ioverlap(ioverlap_last)=i         
-          do k=1,ioverlap_last-1
-           if (ioverlap(k).eq.i) ioverlap_last=ioverlap_last-1
+c            write (iout,*) "rij",1.0d0/rij," rij_shift",rij_shift,
+c     &       " sig",sig," sig0ij",sig0ij
+c            if ( rij_shift.le.0.0D0 ) then
+            if ( rij_shift/sig0ij.le.0.1D0 ) then
+c              write (iout,*) "overlap",i,j
+              write (iout,'(a,i5,a,i5,a,f10.5,a,3f10.5)')
+     &         'overlap SC-SC: i=',i,' j=',j,
+     &         ' dist=',dist(nres+i,nres+j),' rcomp=',
+     &         rcomp,1.0/rij,rij_shift
+              ioverlap_last=ioverlap_last+1
+              ioverlap(ioverlap_last)=i         
+              do k=1,ioverlap_last-1
+                if (ioverlap(k).eq.i) ioverlap_last=ioverlap_last-1
+              enddo
+              ioverlap_last=ioverlap_last+1
+              ioverlap(ioverlap_last)=j         
+              do k=1,ioverlap_last-1
+                if (ioverlap(k).eq.j) ioverlap_last=ioverlap_last-1
+              enddo 
+            endif
           enddo
-          ioverlap_last=ioverlap_last+1
-          ioverlap(ioverlap_last)=j         
-          do k=1,ioverlap_last-1
-           if (ioverlap(k).eq.j) ioverlap_last=ioverlap_last-1
-          enddo 
-         endif
-        enddo
-       enddo
+c        enddo
       enddo
       return
       end