By Adam
[unres.git] / source / unres / src_MD / checkder_p.F
index 26854e6..6f9ca70 100644 (file)
@@ -8,6 +8,7 @@ C Check the gradient of Cartesian coordinates in internal coordinates.
       include 'COMMON.GEO'
       include 'COMMON.LOCAL'
       include 'COMMON.DERIV'
+      include 'COMMON.SCCOR'
       dimension temp(6,maxres),xx(3),gg(3)
       indmat(i,j)=((2*(nres-2)-i)*(i-1))/2+j-1
 *
@@ -180,6 +181,7 @@ C Check the gradient of the energy in Cartesian coordinates.
       include 'COMMON.IOUNITS'
       include 'COMMON.VAR'
       include 'COMMON.CONTACTS'
+      include 'COMMON.SCCOR'
       common /srutu/ icall
       dimension ggg(6),cc(3),xx(3),ddc(3),ddx(3),x(maxvar),g(maxvar)
       dimension grad_s(6,maxres)
@@ -261,6 +263,7 @@ C Check the gradient of the energy in Cartesian coordinates.
       include 'COMMON.MD'
       include 'COMMON.LOCAL'
       include 'COMMON.SPLITELE'
+      include 'COMMON.SCCOR'
       common /srutu/ icall
       dimension ggg(6),ggg1(6),cc(3),xx(3),ddc(3),ddx(3),x(maxvar),
      &  g(maxvar)
@@ -288,10 +291,16 @@ c      call checkintcartgrad
       call geom_to_var(nvar,x)
       if (.not.split_ene) then
         call etotal(energia(0))
+c        do i=1,nres
+c        write (iout,*) "atu?", gloc_sc(1,i,icg),gloc(i,icg)
+c        enddo
         etot=energia(0)
         call enerprint(energia(0))
         call flush(iout)
         write (iout,*) "enter cartgrad"
+c        do i=1,nres
+c        write (iout,*) gloc_sc(1,i,icg)
+c        enddo 
         call flush(iout)
         call cartgrad
         write (iout,*) "exit cartgrad"
@@ -338,6 +347,9 @@ c      call checkintcartgrad
         call zerograd
         call etotal_short(energia(0))
         call enerprint(energia(0))
+c        do i=1,nres
+c        write (iout,*) gloc_sc(1,i,icg)
+c        enddo 
         call flush(iout)
         write (iout,*) "enter cartgrad"
         call flush(iout)
@@ -502,7 +514,7 @@ c-------------------------------------------------------------------------
       time01=MPI_Wtime()
 #endif
 #if defined(PARINT) && defined(MPI)
-      do i=iint_start,iint_end
+      do i=iint_start,iint_end+1
 #else
       do i=2,nres
 #endif
@@ -513,7 +525,22 @@ c-------------------------------------------------------------------------
      &     +(c(j,i+1)-c(j,i))/dnorm2)
         enddo
         be=0.0D0
-        if (i.gt.2) phi(i+1)=beta(i-2,i-1,i,i+1)
+        if (i.gt.2) then
+        if (i.le.nres) phi(i+1)=beta(i-2,i-1,i,i+1)
+        if ((itype(i).ne.10).and.(itype(i-1).ne.10)) then
+         tauangle(3,i+1)=beta(i+nres-1,i-1,i,i+nres)
+        endif
+        if (itype(i-1).ne.10) then
+         tauangle(1,i+1)=beta(i-1+nres,i-1,i,i+1)
+         omicron(1,i)=alpha(i-2,i-1,i-1+nres)
+         omicron(2,i)=alpha(i-1+nres,i-1,i)
+        endif
+        if (itype(i).ne.10) then
+         tauangle(2,i+1)=beta(i-2,i-1,i,i+nres)
+        endif
+        endif
+c        write (2,*) "i",i,tauangle(1,i+1),tauangle(2,i+1),
+c     &     omicron(1,i),omicron(2,i)
         omeg(i)=beta(nres+i,i,maxres2,i+1)
         alph(i)=alpha(nres+i,i,maxres2)
         theta(i+1)=alpha(i-1,i,i+1)
@@ -526,6 +553,7 @@ c-------------------------------------------------------------------------
           vbld_inv(nres+i)=0.0d0
         endif
       enddo   
+
 #if defined(PARINT) && defined(MPI)
        if (nfgtasks1.gt.1) then
 cd       write(iout,*) "iint_start",iint_start," iint_count",