Backup before merge with adasko
[unres.git] / source / unres / src_MD_DFA / int_to_cart.f
diff --git a/source/unres/src_MD_DFA/int_to_cart.f b/source/unres/src_MD_DFA/int_to_cart.f
deleted file mode 100644 (file)
index 73e8384..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-       subroutine int_to_cart
-c--------------------------------------------------------------         
-c  This subroutine converts the energy derivatives from internal 
-c  coordinates to cartesian coordinates
-c-------------------------------------------------------------
-      implicit real*8 (a-h,o-z)
-      include 'DIMENSIONS'
-      include 'COMMON.VAR'
-      include 'COMMON.CHAIN'
-      include 'COMMON.DERIV'
-      include 'COMMON.GEO'
-      include 'COMMON.LOCAL'
-      include 'COMMON.INTERACT'
-      include 'COMMON.MD'
-      include 'COMMON.IOUNITS'
-      include 'COMMON.SCCOR' 
-c   calculating dE/ddc1      
-       if (nres.lt.3) goto 18
-c       do i=1,nres
-c c       do intertyp=1,3
-c          write (iout,*) "przed tosyjnymi",i,intertyp,gcart(intertyp,i)
-c     &,gloc_sc(1,i,icg),gloc(i,icg)
-c          enddo
-c       enddo
-       do j=1,3
-         gcart(j,1)=gcart(j,1)+gloc(1,icg)*dphi(j,1,4)
-     &     +gloc(nres-2,icg)*dtheta(j,1,3)      
-         if(itype(2).ne.10) then
-          gcart(j,1)=gcart(j,1)+gloc(ialph(2,1),icg)*dalpha(j,1,2)+
-     &    gloc(ialph(2,1)+nside,icg)*domega(j,1,2)             
-        endif
-       enddo
-c     Calculating the remainder of dE/ddc2
-       do j=1,3
-         gcart(j,2)=gcart(j,2)+gloc(1,icg)*dphi(j,2,4)+
-     &  gloc(nres-2,icg)*dtheta(j,2,3)+gloc(nres-1,icg)*dtheta(j,1,4)
-        if(itype(2).ne.10) then
-          gcart(j,2)=gcart(j,2)+gloc(ialph(2,1),icg)*dalpha(j,2,2)+
-     &    gloc(ialph(2,1)+nside,icg)*domega(j,2,2)
-        endif
-               if(itype(3).ne.10) then
-         gcart(j,2)=gcart(j,2)+gloc(ialph(3,1),icg)*dalpha(j,1,3)+
-     &    gloc(ialph(3,1)+nside,icg)*domega(j,1,3)
-        endif
-        if(nres.gt.4) then
-          gcart(j,2)=gcart(j,2)+gloc(2,icg)*dphi(j,1,5)
-        endif                  
-       enddo
-c  If there are only five residues       
-       if(nres.eq.5) then
-         do j=1,3
-           gcart(j,3)=gcart(j,3)+gloc(1,icg)*dphi(j,3,4)+gloc(2,icg)*
-     &     dphi(j,2,5)+gloc(nres-1,icg)*dtheta(j,2,4)+gloc(nres,icg)*
-     &     dtheta(j,1,5)
-         if(itype(3).ne.10) then
-          gcart(j,3)=gcart(j,3)+gloc(ialph(3,1),icg)*
-     &    dalpha(j,2,3)+gloc(ialph(3,1)+nside,icg)*domega(j,2,3)
-         endif
-        if(itype(4).ne.10) then
-          gcart(j,3)=gcart(j,3)+gloc(ialph(4,1),icg)*
-     &    dalpha(j,1,4)+gloc(ialph(4,1)+nside,icg)*domega(j,1,4)
-         endif
-       enddo
-       endif
-c    If there are more than five residues
-      if(nres.gt.5) then                          
-        do i=3,nres-3
-         do j=1,3
-          gcart(j,i)=gcart(j,i)+gloc(i-2,icg)*dphi(j,3,i+1)
-     &    +gloc(i-1,icg)*dphi(j,2,i+2)+
-     &    gloc(i,icg)*dphi(j,1,i+3)+gloc(nres+i-4,icg)*dtheta(j,2,i+1)+
-     &    gloc(nres+i-3,icg)*dtheta(j,1,i+2)
-          if(itype(i).ne.10) then
-           gcart(j,i)=gcart(j,i)+gloc(ialph(i,1),icg)*dalpha(j,2,i)+
-     &     gloc(ialph(i,1)+nside,icg)*domega(j,2,i)
-          endif
-          if(itype(i+1).ne.10) then
-           gcart(j,i)=gcart(j,i)+gloc(ialph(i+1,1),icg)*dalpha(j,1,i+1)
-     &     +gloc(ialph(i+1,1)+nside,icg)*domega(j,1,i+1)
-          endif
-         enddo
-        enddo
-      endif    
-c  Setting dE/ddnres-2       
-      if(nres.gt.5) then
-         do j=1,3
-           gcart(j,nres-2)=gcart(j,nres-2)+gloc(nres-4,icg)*
-     &    dphi(j,3,nres-1)+gloc(nres-3,icg)*dphi(j,2,nres)
-     &     +gloc(2*nres-6,icg)*
-     &     dtheta(j,2,nres-1)+gloc(2*nres-5,icg)*dtheta(j,1,nres)
-          if(itype(nres-2).ne.10) then
-              gcart(j,nres-2)=gcart(j,nres-2)+gloc(ialph(nres-2,1),icg)*
-     &       dalpha(j,2,nres-2)+gloc(ialph(nres-2,1)+nside,icg)*
-     &        domega(j,2,nres-2)
-          endif
-          if(itype(nres-1).ne.10) then
-             gcart(j,nres-2)=gcart(j,nres-2)+gloc(ialph(nres-1,1),icg)*
-     &      dalpha(j,1,nres-1)+gloc(ialph(nres-1,1)+nside,icg)*
-     &       domega(j,1,nres-1)
-          endif
-         enddo
-      endif 
-c  Settind dE/ddnres-1       
-       do j=1,3
-        gcart(j,nres-1)=gcart(j,nres-1)+gloc(nres-3,icg)*dphi(j,3,nres)+
-     & gloc(2*nres-5,icg)*dtheta(j,2,nres)
-        if(itype(nres-1).ne.10) then
-          gcart(j,nres-1)=gcart(j,nres-1)+gloc(ialph(nres-1,1),icg)*
-     &   dalpha(j,2,nres-1)+gloc(ialph(nres-1,1)+nside,icg)*
-     &    domega(j,2,nres-1)
-        endif
-        enddo
-c   The side-chain vector derivatives
-        do i=2,nres-1
-         if(itype(i).ne.10) then       
-            do j=1,3   
-              gxcart(j,i)=gxcart(j,i)+gloc(ialph(i,1),icg)*dalpha(j,3,i)
-     &        +gloc(ialph(i,1)+nside,icg)*domega(j,3,i)
-            enddo
-         endif     
-       enddo                                                                                                                                                   
-c----------------------------------------------------------------------
-C INTERTYP=1 SC...Ca...Ca...Ca
-C INTERTYP=2 Ca...Ca...Ca...SC
-C INTERTYP=3 SC...Ca...Ca...SC
-c   calculating dE/ddc1      
-  18   continue
-c       do i=1,nres
-c       gloc(i,icg)=0.0D0
-c          write (iout,*) "poczotkoawy",i,gloc_sc(1,i,icg)
-c       enddo
-       if (nres.lt.2) return
-       if ((nres.lt.3).and.(itype(1).eq.10)) return
-       if ((itype(1).ne.10).and.(itype(1).ne.21)) then
-        do j=1,3
-cc Derviative was calculated for oposite vector of side chain therefore
-c there is "-" sign before gloc_sc
-         gxcart(j,1)=gxcart(j,1)-gloc_sc(1,0,icg)*
-     &     dtauangle(j,1,1,3)
-         gcart(j,1)=gcart(j,1)+gloc_sc(1,0,icg)*
-     &     dtauangle(j,1,2,3)
-          if ((itype(2).ne.10).and.(itype(2).ne.21)) then
-         gxcart(j,1)= gxcart(j,1)
-     &               -gloc_sc(3,0,icg)*dtauangle(j,3,1,3)
-         gcart(j,1)=gcart(j,1)+gloc_sc(3,0,icg)*
-     &       dtauangle(j,3,2,3)
-          endif
-       enddo
-       endif
-         if ((nres.ge.3).and.(itype(3).ne.10).and.(itype(3).ne.21))
-     & then
-         do j=1,3
-         gcart(j,1)=gcart(j,1)+gloc_sc(2,1,icg)*dtauangle(j,2,1,4)
-         enddo
-         endif
-c   As potetnial DO NOT depend on omicron anlge their derivative is
-c   ommited 
-c     &     +gloc_sc(intertyp,nres-2,icg)*dtheta(j,1,3)         
-     
-c     Calculating the remainder of dE/ddc2
-       do j=1,3
-         if((itype(2).ne.10).and.(itype(2).ne.21)) then
-           if (itype(1).ne.10) gxcart(j,2)=gxcart(j,2)+
-     &                         gloc_sc(3,0,icg)*dtauangle(j,3,3,3)
-        if ((itype(3).ne.10).and.(nres.ge.3).and.(itype(3).ne.21)) then
-           gxcart(j,2)=gxcart(j,2)-gloc_sc(3,1,icg)*dtauangle(j,3,1,4)
-cc                  the   - above is due to different vector direction
-           gcart(j,2)=gcart(j,2)+gloc_sc(3,1,icg)*dtauangle(j,3,2,4)
-          endif
-          if (nres.gt.3) then
-           gxcart(j,2)=gxcart(j,2)-gloc_sc(1,1,icg)*dtauangle(j,1,1,4)
-cc                  the   - above is due to different vector direction
-           gcart(j,2)=gcart(j,2)+gloc_sc(1,1,icg)*dtauangle(j,1,2,4)
-c          write(iout,*) gloc_sc(1,1,icg),dtauangle(j,1,2,4),"gcart"
-c           write(iout,*) gloc_sc(1,1,icg),dtauangle(j,1,1,4),"gx"
-          endif
-         endif
-         if ((itype(1).ne.10).and.(itype(1).ne.21)) then
-          gcart(j,2)=gcart(j,2)+gloc_sc(1,0,icg)*dtauangle(j,1,3,3)
-c           write(iout,*)  gloc_sc(1,0,icg),dtauangle(j,1,3,3)
-         endif
-         if ((itype(3).ne.10).and.(nres.ge.3)) then
-          gcart(j,2)=gcart(j,2)+gloc_sc(2,1,icg)*dtauangle(j,2,2,4)
-c           write(iout,*) gloc_sc(2,1,icg),dtauangle(j,2,2,4)
-         endif
-         if ((itype(4).ne.10).and.(nres.ge.4)) then
-          gcart(j,2)=gcart(j,2)+gloc_sc(2,2,icg)*dtauangle(j,2,1,5)
-c           write(iout,*) gloc_sc(2,2,icg),dtauangle(j,2,1,5)
-         endif
-
-c      write(iout,*) gcart(j,2),itype(2),itype(1),itype(3), "gcart2"
-       enddo
-c    If there are more than five residues
-      if(nres.ge.5) then                          
-        do i=3,nres-2
-         do j=1,3
-c          write(iout,*) "before", gcart(j,i)
-          if (itype(i).ne.10) then
-          gxcart(j,i)=gxcart(j,i)+gloc_sc(2,i-2,icg)
-     &    *dtauangle(j,2,3,i+1)
-     &    -gloc_sc(1,i-1,icg)*dtauangle(j,1,1,i+2)
-          gcart(j,i)=gcart(j,i)+gloc_sc(1,i-1,icg)
-     &    *dtauangle(j,1,2,i+2)
-c                   write(iout,*) "new",j,i,
-c     &  gcart(j,i),gloc_sc(1,i-1,icg),dtauangle(j,1,2,i+2)
-
-          if (itype(i-1).ne.10) then
-           gxcart(j,i)=gxcart(j,i)+gloc_sc(3,i-2,icg)
-     &*dtauangle(j,3,3,i+1)
-          endif
-          if (itype(i+1).ne.10) then
-           gxcart(j,i)=gxcart(j,i)-gloc_sc(3,i-1,icg)
-     &*dtauangle(j,3,1,i+2)
-           gcart(j,i)=gcart(j,i)+gloc_sc(3,i-1,icg)
-     &*dtauangle(j,3,2,i+2)
-          endif
-          endif
-          if (itype(i-1).ne.10) then
-           gcart(j,i)=gcart(j,i)+gloc_sc(1,i-2,icg)*
-     &     dtauangle(j,1,3,i+1)
-          endif
-          if (itype(i+1).ne.10) then
-           gcart(j,i)=gcart(j,i)+gloc_sc(2,i-1,icg)*
-     &     dtauangle(j,2,2,i+2)
-c          write(iout,*) "numer",i,gloc_sc(2,i-1,icg),
-c     &    dtauangle(j,2,2,i+2)
-          endif
-          if (itype(i+2).ne.10) then
-           gcart(j,i)=gcart(j,i)+gloc_sc(2,i,icg)*
-     &     dtauangle(j,2,1,i+3)
-          endif
-         enddo
-        enddo
-      endif    
-c  Setting dE/ddnres-1       
-      if(nres.ge.4) then
-         do j=1,3
-         if ((itype(nres-1).ne.10).and.(itype(nres-1).ne.21)) then
-         gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(2,nres-3,icg)
-     &    *dtauangle(j,2,3,nres)
-c          write (iout,*) "gxcart(nres-1)", gloc_sc(2,nres-3,icg),
-c     &     dtauangle(j,2,3,nres), gxcart(j,nres-1)
-         if (itype(nres-2).ne.10) then
-        gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(3,nres-3,icg)
-     &    *dtauangle(j,3,3,nres)
-          endif
-         if ((itype(nres).ne.10).and.(itype(nres).ne.21)) then
-        gxcart(j,nres-1)=gxcart(j,nres-1)-gloc_sc(3,nres-2,icg)
-     &    *dtauangle(j,3,1,nres+1)
-        gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(3,nres-2,icg)
-     &    *dtauangle(j,3,2,nres+1)
-          endif
-         endif
-         if ((itype(nres-2).ne.10).and.(itype(nres-2).ne.21)) then
-            gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(1,nres-3,icg)*
-     &   dtauangle(j,1,3,nres)
-         endif
-          if ((itype(nres).ne.10).and.(itype(nres).ne.21)) then
-            gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(2,nres-2,icg)*
-     &     dtauangle(j,2,2,nres+1)
-c           write (iout,*) "gcart(nres-1)", gloc_sc(2,nres-2,icg),
-c     &     dtauangle(j,2,2,nres+1), itype(nres-1),itype(nres)
-           endif
-         enddo
-      endif 
-c  Settind dE/ddnres       
-       if ((nres.ge.3).and.(itype(nres).ne.10))then
-       do j=1,3
-        gxcart(j,nres)=gxcart(j,nres)+gloc_sc(3,nres-2,icg)
-     & *dtauangle(j,3,3,nres+1)+gloc_sc(2,nres-2,icg)
-     & *dtauangle(j,2,3,nres+1)
-        enddo
-       endif
-c   The side-chain vector derivatives
-      return
-      end      
-       
-