Merge branch 'devel' into AFM
[unres.git] / source / unres / src_MD / parmread.F
index 074db7c..63999f8 100644 (file)
@@ -106,9 +106,9 @@ C
         read (ithep,*,err=111,end=111) a0thet(i),(athet(j,i,1,1),j=1,2),
      &    (bthet(j,i,1,1),j=1,2)
         read (ithep,*,err=111,end=111) (polthet(j,i),j=0,3)
-       read (ithep,*,err=111,end=111) (gthet(j,i),j=1,3)
-       read (ithep,*,err=111,end=111) theta0(i),sig0(i),sigc0(i)
-       sigc0(i)=sigc0(i)**2
+        read (ithep,*,err=111,end=111) (gthet(j,i),j=1,3)
+        read (ithep,*,err=111,end=111) theta0(i),sig0(i),sigc0(i)
+        sigc0(i)=sigc0(i)**2
       enddo
       do i=1,ntyp
       athet(1,i,1,-1)=athet(1,i,1,1)
@@ -144,6 +144,7 @@ C
          gthet(j,i)=gthet(j,-i)
        enddo
       enddo
+
       close (ithep)
       if (lprint) then
       if (.not.LaTeX) then
@@ -209,8 +210,11 @@ C Kozlowska et al., J. Phys.: Condens. Matter 19 (2007) 285203
 C
       read (ithep,*,err=111,end=111) nthetyp,ntheterm,ntheterm2,
      &  ntheterm3,nsingle,ndouble
+C      print *, "tu"
       nntheterm=max0(ntheterm,ntheterm2,ntheterm3)
+      write(iout,*) "I am here",ntyp1
       read (ithep,*,err=111,end=111) (ithetyp(i),i=1,ntyp1)
+C      write(iout,*) "I am herew"
       do i=-ntyp1,-1
         ithetyp(i)=-ithetyp(-i)
       enddo
@@ -248,6 +252,7 @@ c VAR:ntethtyp is type of theta potentials type currently 0=glycine
 c VAR:1=non-glicyne non-proline 2=proline
 c VAR:negative values for D-aminoacid
       do i=0,nthetyp
+C        print *,i
         do j=-nthetyp,nthetyp
           do k=-nthetyp,nthetyp
             read (ithep,'(6a)',end=111,err=111) res1
@@ -460,18 +465,10 @@ C
        bsc(1,i)=0.0D0
         read(irotam,*,end=112,err=112)(censc(k,1,i),k=1,3),
      &    ((blower(k,l,1),l=1,k),k=1,3)
-        censc(1,1,-i)=censc(1,1,i)
-        censc(2,1,-i)=censc(2,1,i)
-        censc(3,1,-i)=-censc(3,1,i)
-        
        do j=2,nlob(i)
          read (irotam,*,end=112,err=112) bsc(j,i)
          read (irotam,*,end=112,err=112) (censc(k,j,i),k=1,3),
      &                                 ((blower(k,l,j),l=1,k),k=1,3)
-        censc(1,j,-i)=censc(1,j,i)
-        censc(2,j,-i)=censc(2,j,i)
-        censc(3,j,-i)=-censc(3,j,i)
-C BSC is amplitude of Gaussian
         enddo
        do j=1,nlob(i)
          do k=1,3
@@ -482,14 +479,6 @@ C BSC is amplitude of Gaussian
               enddo
              gaussc(k,l,j,i)=akl
              gaussc(l,k,j,i)=akl
-              if (((k.eq.3).and.(l.ne.3))
-     &        .or.((l.eq.3).and.(k.ne.3))) then
-                gaussc(k,l,j,-i)=-akl
-                gaussc(l,k,j,-i)=-akl
-              else
-                gaussc(k,l,j,-i)=akl
-                gaussc(l,k,j,-i)=akl
-              endif
             enddo
           enddo 
        enddo
@@ -621,18 +610,18 @@ C
       do i=-ntyp,-1
        itortyp(i)=-itortyp(-i)
       enddo
-c      write (iout,*) 'ntortyp',ntortyp
+      write (iout,*) 'ntortyp',ntortyp
       do i=0,ntortyp-1
-       do j=-ntortyp+1,ntortyp-1
-         read (itorp,*,end=113,err=113) nterm(i,j,iblock),
+        do j=-ntortyp+1,ntortyp-1
+          read (itorp,*,end=113,err=113) nterm(i,j,iblock),
      &          nlor(i,j,iblock)
           nterm(-i,-j,iblock)=nterm(i,j,iblock)
           nlor(-i,-j,iblock)=nlor(i,j,iblock)
           v0ij=0.0d0
           si=-1.0d0
-         do k=1,nterm(i,j,iblock)
-           read (itorp,*,end=113,err=113) kk,v1(k,i,j,iblock),
-     &      v2(k,i,j,iblock) 
+          do k=1,nterm(i,j,iblock)
+            read (itorp,*,end=113,err=113) kk,v1(k,i,j,iblock),
+     &      v2(k,i,j,iblock)
             v1(k,-i,-j,iblock)=v1(k,i,j,iblock)
             v2(k,-i,-j,iblock)=-v2(k,i,j,iblock)
             v0ij=v0ij+si*v1(k,i,j,iblock)
@@ -641,9 +630,9 @@ c         write(iout,*) i,j,k,iblock,nterm(i,j,iblock)
 c         write(iout,*) v1(k,-i,-j,iblock),v1(k,i,j,iblock),
 c      &v2(k,-i,-j,iblock),v2(k,i,j,iblock)
           enddo
-         do k=1,nlor(i,j,iblock)
+          do k=1,nlor(i,j,iblock)
             read (itorp,*,end=113,err=113) kk,vlor1(k,i,j),
-     &        vlor2(k,i,j),vlor3(k,i,j) 
+     &        vlor2(k,i,j),vlor3(k,i,j)
             v0ij=v0ij+vlor1(k,i,j)/(1+vlor3(k,i,j)**2)
           enddo
           v0(i,j,iblock)=v0ij
@@ -653,18 +642,18 @@ c      &v2(k,-i,-j,iblock),v2(k,i,j,iblock)
       enddo
       close (itorp)
       if (lprint) then
-       write (iout,'(/a/)') 'Torsional constants:'
-       do i=1,ntortyp
-         do j=1,ntortyp
+        write (iout,'(/a/)') 'Torsional constants:'
+        do i=1,ntortyp
+          do j=1,ntortyp
             write (iout,*) 'ityp',i,' jtyp',j
             write (iout,*) 'Fourier constants'
             do k=1,nterm(i,j,iblock)
-             write (iout,'(2(1pe15.5))') v1(k,i,j,iblock),
+              write (iout,'(2(1pe15.5))') v1(k,i,j,iblock),
      &        v2(k,i,j,iblock)
             enddo
             write (iout,*) 'Lorenz constants'
             do k=1,nlor(i,j,iblock)
-             write (iout,'(3(1pe15.5))') 
+              write (iout,'(3(1pe15.5))')
      &         vlor1(k,i,j),vlor2(k,i,j),vlor3(k,i,j)
             enddo
           enddo
@@ -673,16 +662,19 @@ c      &v2(k,-i,-j,iblock),v2(k,i,j,iblock)
 C
 C 6/23/01 Read parameters for double torsionals
 C
+C      do i=1,ntortyp
+C        do j=1,ntortyp
+C          do k=1,ntortyp
       do iblock=1,2
       do i=0,ntortyp-1
         do j=-ntortyp+1,ntortyp-1
           do k=-ntortyp+1,ntortyp-1
             read (itordp,'(3a1)',end=114,err=114) t1,t2,t3
-c              write (iout,*) "OK onelett",
-c     &         i,j,k,t1,t2,t3
+              write (iout,*) "OK onelett",
+     &         i,j,k,t1,t2,t3
 
-            if (t1.ne.toronelet(i) .or. t2.ne.toronelet(j) 
-     &        .or. t3.ne.toronelet(k)) then
+            if (t1.ne.onelett(i) .or. t2.ne.onelett(j) 
+     &        .or. t3.ne.onelett(k)) then
               write (iout,*) "Error in double torsional parameter file",
      &         i,j,k,t1,t2,t3
 #ifdef MPI
@@ -690,17 +682,17 @@ c     &         i,j,k,t1,t2,t3
 #endif
                stop "Error in double torsional parameter file"
             endif
-            read (itordp,*,end=114,err=114) ntermd_1(i,j,k,iblock),
+           read (itordp,*,end=114,err=114) ntermd_1(i,j,k,iblock),
      &         ntermd_2(i,j,k,iblock)
             ntermd_1(-i,-j,-k,iblock)=ntermd_1(i,j,k,iblock)
             ntermd_2(-i,-j,-k,iblock)=ntermd_2(i,j,k,iblock)
             read (itordp,*,end=114,err=114) (v1c(1,l,i,j,k,iblock),l=1,
      &         ntermd_1(i,j,k,iblock))
-            read (itordp,*,end=114,err=114) (v1s(1,l,i,j,k,iblock),l=1,
+            read (itordp,*,end=114,err=114)(v1s(1,l,i,j,k,iblock),l=1,
      &         ntermd_1(i,j,k,iblock))
-            read (itordp,*,end=114,err=114) (v1c(2,l,i,j,k,iblock),l=1,
+            read (itordp,*,end=114,err=114)(v1c(2,l,i,j,k,iblock),l=1,
      &         ntermd_1(i,j,k,iblock))
-            read (itordp,*,end=114,err=114) (v1s(2,l,i,j,k,iblock),l=1,
+            read (itordp,*,end=114,err=114)(v1s(2,l,i,j,k,iblock),l=1,
      &         ntermd_1(i,j,k,iblock))
 C Martix of D parameters for one dimesional foureir series
             do l=1,ntermd_1(i,j,k,iblock)
@@ -729,7 +721,7 @@ C Martix of D parameters for two dimesional fourier series
       enddo!i
       enddo!iblock
       if (lprint) then
-      write (iout,*) 
+      write (iout,*)
       write (iout,*) 'Constants for double torsionals'
       do iblock=1,2
       do i=0,ntortyp-1
@@ -750,13 +742,13 @@ C Martix of D parameters for two dimesional fourier series
             write (iout,*) 'Pairs of angles:'
             write (iout,'(3x,20i10)') (l,l=1,ntermd_2(i,j,k,iblock))
             do l=1,ntermd_2(i,j,k,iblock)
-              write (iout,'(i5,20f10.5)') 
+              write (iout,'(i5,20f10.5)')
      &         l,(v2c(l,m,i,j,k,iblock),m=1,ntermd_2(i,j,k,iblock))
             enddo
             write (iout,*)
             write (iout,'(3x,20i10)') (l,l=1,ntermd_2(i,j,k,iblock))
             do l=1,ntermd_2(i,j,k,iblock)
-              write (iout,'(i5,20f10.5)') 
+              write (iout,'(i5,20f10.5)')
      &         l,(v2s(l,m,i,j,k,iblock),m=1,ntermd_2(i,j,k,iblock)),
      &         (v2s(l,m,-i,-j,-k,iblock),m=1,ntermd_2(i,j,k,iblock))
             enddo
@@ -771,20 +763,23 @@ C Read of Side-chain backbone correlation parameters
 C Modified 11 May 2012 by Adasko
 CCC
 C
-      read (isccor,*,end=119,err=119) nsccortyp
+      read (isccor,*,end=1113,err=1113) nsccortyp
 #ifdef SCCORPDB
-      read (isccor,*,end=119,err=119) (isccortyp(i),i=1,ntyp)
+      write (iout,*) "Tu wchodze"
+      read (isccor,*,end=1113,err=1113) (isccortyp(i),i=1,ntyp)
       do i=-ntyp,-1
         isccortyp(i)=-isccortyp(-i)
       enddo
       iscprol=isccortyp(20)
-c      write (iout,*) 'ntortyp',ntortyp
+C      write (iout,*) 'ntortyp',ntortyp
       maxinter=3
 cc maxinter is maximum interaction sites
       do l=1,maxinter    
       do i=1,nsccortyp
-       do j=1,nsccortyp
-         read (isccor,*,end=119,err=119) nterm_sccor(i,j),nlor_sccor(i,j)
+        do j=1,nsccortyp
+         read (isccor,*,end=1113,err=1113) nterm_sccor(i,j),
+     &             nlor_sccor(i,j)
+          print *,i,j,l
           v0ijsccor=0.0d0
           v0ijsccor1=0.0d0
           v0ijsccor2=0.0d0
@@ -793,9 +788,10 @@ cc maxinter is maximum interaction sites
           nterm_sccor(-i,j)=nterm_sccor(i,j)
           nterm_sccor(-i,-j)=nterm_sccor(i,j)
           nterm_sccor(i,-j)=nterm_sccor(i,j)  
-         do k=1,nterm_sccor(i,j)
-           read (isccor,*,end=119,err=119) kk,v1sccor(k,l,i,j)
+          do k=1,nterm_sccor(i,j)
+           read (isccor,*,end=1113,err=1113) kk,v1sccor(k,l,i,j)
      &    ,v2sccor(k,l,i,j)
+c            write(iout,*) "k=",kk
             if (j.eq.iscprol) then
               if (i.eq.isccortyp(10)) then
               v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)
@@ -828,14 +824,16 @@ cc maxinter is maximum interaction sites
             endif
              endif
              endif 
+C         read (isccor,*,end=1113,err=1113) kk,v1sccor(k,l,i,j)
+C     &    ,v2sccor(k,l,i,j) 
             v0ijsccor=v0ijsccor+si*v1sccor(k,l,i,j)
             v0ijsccor1=v0ijsccor+si*v1sccor(k,l,-i,j)
             v0ijsccor2=v0ijsccor+si*v1sccor(k,l,i,-j)
             v0ijsccor3=v0ijsccor+si*v1sccor(k,l,-i,-j)
             si=-si
           enddo
-         do k=1,nlor_sccor(i,j)
-            read (isccor,*,end=119,err=119) kk,vlor1sccor(k,i,j),
+         do k=1,nlor_sccor(i,j)
+            read (isccor,*,end=1113,err=1113) kk,vlor1sccor(k,i,j),
      &        vlor2sccor(k,i,j),vlor3sccor(k,i,j) 
             v0ijsccor=v0ijsccor+vlor1sccor(k,i,j)/
      &(1+vlor3sccor(k,i,j)**2)
@@ -849,6 +847,7 @@ cc maxinter is maximum interaction sites
       enddo
       close (isccor)
 #else
+      write(iout,*) "a tu nie wchodze"
       read (isccor,*,end=119,err=119) (isccortyp(i),i=1,ntyp)
 c      write (iout,*) 'ntortyp',ntortyp
       maxinter=3
@@ -907,7 +906,7 @@ C
         write (iout,*) "Coefficients of the cumulants"
       endif
       read (ifourier,*) nloctyp
-      do i=0,nloctyp-1
+      do i=1,nloctyp
         read (ifourier,*,end=115,err=115)
         read (ifourier,*,end=115,err=115) (b(ii),ii=1,13)
         if (lprint) then
@@ -916,31 +915,22 @@ C
         endif
         B1(1,i)  = b(3)
         B1(2,i)  = b(5)
-        B1(1,-i) = b(3)
-        B1(2,-i) = -b(5)
 c        b1(1,i)=0.0d0
 c        b1(2,i)=0.0d0
         B1tilde(1,i) = b(3)
         B1tilde(2,i) =-b(5)
-        B1tilde(1,-i) =-b(3)
-        B1tilde(2,-i) =b(5)
+C        B1tilde(1,-i) =-b(3)
+C        B1tilde(2,-i) =b(5)
 c        b1tilde(1,i)=0.0d0
 c        b1tilde(2,i)=0.0d0
         B2(1,i)  = b(2)
         B2(2,i)  = b(4)
-        B2(1,-i)  =b(2)
-        B2(2,-i)  =-b(4)
-
 c        b2(1,i)=0.0d0
 c        b2(2,i)=0.0d0
         CC(1,1,i)= b(7)
         CC(2,2,i)=-b(7)
         CC(2,1,i)= b(9)
         CC(1,2,i)= b(9)
-        CC(1,1,-i)= b(7)
-        CC(2,2,-i)=-b(7)
-        CC(2,1,-i)=-b(9)
-        CC(1,2,-i)=-b(9)
 c        CC(1,1,i)=0.0d0
 c        CC(2,2,i)=0.0d0
 c        CC(2,1,i)=0.0d0
@@ -949,11 +939,6 @@ c        CC(1,2,i)=0.0d0
         Ctilde(1,2,i)=b(9)
         Ctilde(2,1,i)=-b(9)
         Ctilde(2,2,i)=b(7)
-        Ctilde(1,1,-i)=b(7)
-        Ctilde(1,2,-i)=-b(9)
-        Ctilde(2,1,-i)=b(9)
-        Ctilde(2,2,-i)=b(7)
-
 c        Ctilde(1,1,i)=0.0d0
 c        Ctilde(1,2,i)=0.0d0
 c        Ctilde(2,1,i)=0.0d0
@@ -962,10 +947,6 @@ c        Ctilde(2,2,i)=0.0d0
         DD(2,2,i)=-b(6)
         DD(2,1,i)= b(8)
         DD(1,2,i)= b(8)
-        DD(1,1,-i)= b(6)
-        DD(2,2,-i)=-b(6)
-        DD(2,1,-i)=-b(8)
-        DD(1,2,-i)=-b(8)
 c        DD(1,1,i)=0.0d0
 c        DD(2,2,i)=0.0d0
 c        DD(2,1,i)=0.0d0
@@ -974,11 +955,6 @@ c        DD(1,2,i)=0.0d0
         Dtilde(1,2,i)=b(8)
         Dtilde(2,1,i)=-b(8)
         Dtilde(2,2,i)=b(6)
-        Dtilde(1,1,-i)=b(6)
-        Dtilde(1,2,-i)=-b(8)
-        Dtilde(2,1,-i)=b(8)
-        Dtilde(2,2,-i)=b(6)
-
 c        Dtilde(1,1,i)=0.0d0
 c        Dtilde(1,2,i)=0.0d0
 c        Dtilde(2,1,i)=0.0d0
@@ -987,11 +963,6 @@ c        Dtilde(2,2,i)=0.0d0
         EE(2,2,i)=-b(10)+b(11)
         EE(2,1,i)= b(12)-b(13)
         EE(1,2,i)= b(12)+b(13)
-        EE(1,1,-i)= b(10)+b(11)
-        EE(2,2,-i)=-b(10)+b(11)
-        EE(2,1,-i)=-b(12)+b(13)
-        EE(1,2,-i)=-b(12)-b(13)
-
 c        ee(1,1,i)=1.0d0
 c        ee(2,2,i)=1.0d0
 c        ee(2,1,i)=0.0d0
@@ -1296,6 +1267,9 @@ c      v3ss=0.0d0
       goto 999
   113 write (iout,*) "Error reading torsional energy parameters."
       goto 999
+ 1113 write (iout,*) 
+     &  "Error reading side-chain torsional energy parameters."
+      goto 999
   114 write (iout,*) "Error reading double torsional energy parameters."
       goto 999
   115 write (iout,*)