Poprawiony src_MD-M gradient
authorAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Mon, 16 Feb 2015 12:34:30 +0000 (13:34 +0100)
committerAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Mon, 16 Feb 2015 12:34:30 +0000 (13:34 +0100)
source/unres/src_MD-M/intcartderiv.F
source/unres/src_MD/CMakeLists.txt
source/unres/src_MD/readpdb.F
source/unres/src_MIN/CMakeLists.txt

index 94b3989..c80ee01 100644 (file)
@@ -161,6 +161,11 @@ c   Obtaining the gamma derivatives from cosine derivative
          enddo
         endif                                                                                           
       enddo
+      do i=1,nres-1
+       do j=1,3
+        dc_norm2(j,i+nres)=-dc_norm(j,i+nres)
+       enddo
+      enddo
 Calculate derivative of Tauangle
 #ifdef PARINTDER
       do i=itau_start,itau_end
@@ -179,10 +184,10 @@ c the conventional case
         cost=dcos(theta(i))
         cost1=dcos(omicron(2,i-1))
         cosg=dcos(tauangle(1,i))
-        do j=1,3
-        dc_norm2(j,i-2+nres)=-dc_norm(j,i-2+nres)
+C        do j=1,3
+C        dc_norm2(j,i-2+nres)=-dc_norm(j,i-2+nres)
 cc       write(iout,*) dc_norm2(j,i-2+nres),"dcnorm"
-        enddo
+C        enddo
         scalp=scalar(dc_norm2(1,i-2+nres),dc_norm(1,i-1))
         fac0=1.0d0/(sint1*sint)
         fac1=cost*fac0
@@ -253,9 +258,9 @@ c the conventional case
         cost=dcos(omicron(1,i))
         cost1=dcos(theta(i-1))
         cosg=dcos(tauangle(2,i))
-c        do j=1,3
-c        dc_norm2(j,i-1+nres)=-dc_norm(j,i-1+nres)
-c        enddo
+C        do j=1,3
+C        dc_norm2(j,i-1+nres)=-dc_norm(j,i-1+nres)
+C        enddo
         scalp=scalar(dc_norm(1,i-3),dc_norm(1,i-1+nres))
         fac0=1.0d0/(sint1*sint)
         fac1=cost*fac0
@@ -269,27 +274,32 @@ c    Obtaining the gamma derivatives from sine derivative
          call vecpr(dc_norm2(1,i-1+nres),dc_norm(1,i-2),vp1)
          call vecpr(dc_norm(1,i-3),dc_norm(1,i-1+nres),vp2)
          call vecpr(dc_norm(1,i-3),dc_norm(1,i-2),vp3)
+C        print *,"chuj"
         do j=1,3
             ctgt=cost/sint
             ctgt1=cost1/sint1
             cosg_inv=1.0d0/cosg
             dsintau(j,2,1,i)=-sing*ctgt1*dtheta(j,1,i-1)
      &        +(fac0*vp1(j)-sing*dc_norm(j,i-3))*vbld_inv(i-2)
-c       write(iout,*) i,j,dsintau(j,2,1,i),sing*ctgt1*dtheta(j,1,i-1),
-c     &fac0*vp1(j),sing*dc_norm(j,i-3),vbld_inv(i-2),"dsintau(2,1)"
+
+C            write(12,*) i,j,dc_norm2(1,i-1+nres),dc_norm(1,i-2)
+
             dtauangle(j,2,1,i)=cosg_inv*dsintau(j,2,1,i)
+
             dsintau(j,2,2,i)=
      &        -sing*(ctgt1*dtheta(j,2,i-1)+ctgt*domicron(j,1,1,i))
      &        -(fac0*vp2(j)+sing*dc_norm(j,i-2))*vbld_inv(i-1)
-c            write(iout,*) "sprawdzenie",i,j,sing*ctgt1*dtheta(j,2,i-1),
-c     & sing*ctgt*domicron(j,1,2,i),
-c     & (fac0*vp2(j)+sing*dc_norm(j,i-2))*vbld_inv(i-1)
+
             dtauangle(j,2,2,i)=cosg_inv*dsintau(j,2,2,i)
-c Bug fixed 3/24/05 (AL)
+
             dsintau(j,2,3,i)=-sing*ctgt*domicron(j,1,2,i)
      &       +(fac0*vp3(j)-sing*dc_norm(j,i-1+nres))*vbld_inv(i-1+nres)
+
 c     &        +(fac0*vp3(j)-sing*dc_norm(j,i-1))*vbld_inv(i-1)
             dtauangle(j,2,3,i)=cosg_inv*dsintau(j,2,3,i)
+
+
+
          enddo
 c   Obtaining the gamma derivatives from cosine derivative
         else
@@ -327,10 +337,10 @@ c the conventional case
         cost=dcos(omicron(1,i))
         cost1=dcos(omicron(2,i-1))
         cosg=dcos(tauangle(3,i))
-        do j=1,3
-        dc_norm2(j,i-2+nres)=-dc_norm(j,i-2+nres)
-c        dc_norm2(j,i-1+nres)=-dc_norm(j,i-1+nres)
-        enddo
+C        do j=1,3
+C        dc_norm2(j,i-2+nres)=-dc_norm(j,i-2+nres)
+C        dc_norm2(j,i-1+nres)=-dc_norm(j,i-1+nres)
+C        enddo
         scalp=scalar(dc_norm2(1,i-2+nres),dc_norm(1,i-1+nres))
         fac0=1.0d0/(sint1*sint)
         fac1=cost*fac0
@@ -362,6 +372,8 @@ c Bug fixed 3/24/05 (AL)
      &        *vbld_inv(i-1+nres)
 c     &        +(fac0*vp3(j)-sing*dc_norm(j,i-1))*vbld_inv(i-1)
             dtauangle(j,3,3,i)=cosg_inv*dsintau(j,3,3,i)
+
+
          enddo
 c   Obtaining the gamma derivatives from cosine derivative
         else
index fadf9ca..c210fdc 100644 (file)
@@ -166,14 +166,14 @@ set_property(SOURCE ${UNRES_MD_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} )
 #=========================================
 if(UNRES_MD_FF STREQUAL "GAB" )
   # set preprocesor flags   
-  set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB")
+  set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC")
 
 #=========================================
 #  Settings for E0LL2Y force field
 #=========================================
 elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
   # set preprocesor flags   
-  set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DSCCORPDB" )
+  set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" )
 endif(UNRES_MD_FF STREQUAL "GAB")
 
 #=========================================
index 80c3fa3..48e0abd 100644 (file)
@@ -252,20 +252,7 @@ ctest          stop
         vbld(i+1)=dist(i,i+1)
         vbld_inv(i+1)=1.0d0/vbld(i+1)
         if (i.gt.1) theta(i+1)=alpha(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
+        if (i.gt.2) phi(i+1)=beta(i-2,i-1,i,i+1)
       enddo
 c      if (unres_pdb) then
 c        if (itype(1).eq.21) then
index ed0bb6e..d8eb8de 100644 (file)
@@ -139,7 +139,7 @@ set_property(SOURCE ${UNRES_MIN_SRC2} PROPERTY COMPILE_FLAGS ${FFLAGS2} )
 set_property(SOURCE ${UNRES_MIM_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} )
 
 # set preprocesor flags   
-set(CPPFLAGS "PROCOR -DLINUX -DISNAN -DSPLITELE -DLANG0" )
+set(CPPFLAGS "PROCOR -DLINUX -DISNAN -DSPLITELE -DLANG0 -DSCCORPDB" )
 
 if (Fortran_COMPILER_NAME STREQUAL "ifort")
   # Add ifort preprocessor flags