homology energy correction and MREMD LANG restart
[unres.git] / source / unres / src-HCD-5D / energy_p_new_barrier.F
index ddc2a4d..190574e 100644 (file)
@@ -2053,6 +2053,9 @@ C derivatives.
               sigsq=1.0D0/sigsq
               sig=sig0ij*dsqrt(sigsq)
               rij_shift=1.0D0/rij-sig+sig0ij
+c              if (energy_dec)
+c     &        write (iout,*) "rij",1.0d0/rij," rij_shift",rij_shift,
+c     &       " sig",sig," sig0ij",sig0ij
 c for diagnostics; uncomment
 c            rij_shift=1.2*sig0ij
 C I hate to put IF's in the loops, but here don't have another choice!!!!
@@ -2061,7 +2064,7 @@ C I hate to put IF's in the loops, but here don't have another choice!!!!
 cd              write (iout,'(2(a3,i3,2x),17(0pf7.3))')
 cd     &        restyp(itypi),i,restyp(itypj),j,
 cd     &        rij_shift,1.0D0/rij,sig,sig0ij,sigsq,1-dsqrt(sigsq) 
-                return
+c                return
               endif
               sigder=-sig*sigsq
 c---------------------------------------------------------------
@@ -2093,7 +2096,7 @@ c     &        " eps3rt",eps3rt," eps1",eps1," e1",e1," e2",e2
      &           evdwij
               endif
 
-              if (energy_dec) write (iout,'(a,2i5,3f10.5)') 
+              if (energy_dec) write (iout,'(a,2i5,2f10.5,e15.5)') 
      &                    'r sss evdw',i,j,1.0d0/rij,sss,evdwij
 
 C Calculate gradient components.
          enddo
          
 c         min_odl=minval(distancek)
-         do kk=1,constr_homology
-          if(l_homo(kk,ii)) then 
-            min_odl=distancek(kk)
-            exit
-          endif
-         enddo
-         do kk=1,constr_homology
-          if(l_homo(kk,ii) .and. distancek(kk).lt.min_odl) 
+         if (nexl.gt.0) then
+           min_odl=0.0d0
+         else
+           do kk=1,constr_homology
+            if(l_homo(kk,ii)) then 
+              min_odl=distancek(kk)
+              exit
+            endif
+           enddo
+           do kk=1,constr_homology
+            if(l_homo(kk,ii) .and. distancek(kk).lt.min_odl) 
      &              min_odl=distancek(kk)
-         enddo
+           enddo
+         endif
 
 c        write (iout,* )"min_odl",min_odl
 #ifdef DEBUG