homology dihederal i-3 gradient correction src_MD
[unres.git] / source / unres / src_MD / readrtns.F
index 2c65cbb..8e73ba0 100644 (file)
@@ -2681,8 +2681,14 @@ c            write (iout,*) "j",j," k",k
         endif
       enddo 
       do i=1,ndist_
+       if (constr_dist.eq.11) then
+        read (inp,*) ihpb(nhpb+1),jhpb(nhpb+1),dhpb(i),dhpb1(i),
+     &     ibecarb(i),forcon(nhpb+1),fordepth(nhpb+1)
+        fordepth(nhpb+1)=fordepth(nhpb+1)/forcon(nhpb+1)
+       else
         read (inp,*) ihpb(nhpb+1),jhpb(nhpb+1),dhpb(i),dhpb1(i),
      &     ibecarb(i),forcon(nhpb+1)
+       endif
         if (forcon(nhpb+1).gt.0.0d0) then
           nhpb=nhpb+1
           if (ibecarb(i).gt.0) then
@@ -2697,8 +2703,14 @@ c            write (iout,*) "j",j," k",k
       if (.not.out1file .or. me.eq.king) then
 #endif
       do i=1,nhpb
+         if (constr_dist.eq.11) then
+          write (iout,'(a,3i5,2f8.2,i2,2f10.1)') "+dist.constr11 ",
+     &     i,ihpb(i),jhpb(i),dhpb(i),dhpb1(i),ibecarb(i),forcon(i),
+     &     fordepth(i)
+         else 
           write (iout,'(a,3i5,2f8.2,i2,f10.1)') "+dist.constr ",
      &     i,ihpb(i),jhpb(i),dhpb(i),dhpb1(i),ibecarb(i),forcon(i)
+         endif
       enddo
       call flush(iout)
 #ifdef MPI
@@ -3060,8 +3072,13 @@ c
             liiflag=.false.
             iistart=ii
           endif
-          if (ii_in_use(ii).ne.0.and..not.liiflag) then
-             iishift=ii-iistart
+          if (ii_in_use(ii).ne.0.and..not.liiflag.or.
+     &                   .not.liiflag.and.ii.eq.lim_odl) then
+             if (ii.eq.lim_odl) then
+              iishift=ii-iistart+1
+             else
+              iishift=ii-iistart
+             endif
              liiflag=.true.
              do ki=iistart,lim_odl-iishift
               ires_homo(ki)=ires_homo(ki+iishift)