fix in iio_conf
[unres4.git] / source / unres / io_config.F90
index 5907752..c9fe771 100644 (file)
         itype2loc(-i)=-itype2loc(i)
       enddo
 #else
+      allocate(iloctyp(-nloctyp:nloctyp))
+      allocate(itype2loc(-ntyp1:ntyp1))
       iloctyp(0)=10
       iloctyp(1)=9
       iloctyp(2)=20
       allocate(ccold(2,2,-nloctyp-1:nloctyp+1))
       allocate(ddold(2,2,-nloctyp-1:nloctyp+1))
       allocate(eeold(2,2,-nloctyp-1:nloctyp+1))
-
+      allocate(b(13,-nloctyp-1:nloctyp+1))
       if (lprint) &
        write (iout,*) "Coefficients of the expansion of Eloc(l1,l2)"
       do i=0,nloctyp-1
         b(4,-i)=-b(4,i)
         b(5,-i)=-b(5,i)
         endif
-c        B1(1,i)  = b(3)
-c        B1(2,i)  = b(5)
-c        B1(1,-i) = b(3)
-c        B1(2,-i) = -b(5)
-c        b1(1,i)=0.0d0
-c        b1(2,i)=0.0d0
-c        B1tilde(1,i) = b(3)
-c        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
-c        B2(1,i)  = b(2)
-c        B2(2,i)  = b(4)
-c        B2(1,-i)  =b(2)
-c        B2(2,-i)  =-b(4)
-cc        B1tilde(1,i) = b(3,i)
-cc        B1tilde(2,i) =-b(5,i)
-C        B1tilde(1,-i) =-b(3,i)
-C        B1tilde(2,-i) =b(5,i)
-cc        b1tilde(1,i)=0.0d0
-cc        b1tilde(2,i)=0.0d0
-cc        B2(1,i)  = b(2,i)
-cc        B2(2,i)  = b(4,i)
-C        B2(1,-i)  =b(2,i)
-C        B2(2,-i)  =-b(4,i)
-
-c        b2(1,i)=0.0d0
-c        b2(2,i)=0.0d0
+!c        B1(1,i)  = b(3)
+!c        B1(2,i)  = b(5)
+!c        B1(1,-i) = b(3)
+!c        B1(2,-i) = -b(5)
+!c        b1(1,i)=0.0d0
+!c        b1(2,i)=0.0d0
+!c        B1tilde(1,i) = b(3)
+!c!        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
+!c        B2(1,i)  = b(2)
+!c        B2(2,i)  = b(4)
+!c        B2(1,-i)  =b(2)
+!c        B2(2,-i)  =-b(4)
+!cc        B1tilde(1,i) = b(3,i)
+!cc        B1tilde(2,i) =-b(5,i)
+!c        B1tilde(1,-i) =-b(3,i)
+!c        B1tilde(2,-i) =b(5,i)
+!cc        b1tilde(1,i)=0.0d0
+!cc        b1tilde(2,i)=0.0d0
+!cc        B2(1,i)  = b(2,i)
+!cc        B2(2,i)  = b(4,i)
+!c        B2(1,-i)  =b(2,i)
+!c        B2(2,-i)  =-b(4,i)
+
+!c        b2(1,i)=0.0d0
+!c        b2(2,i)=0.0d0
         CCold(1,1,i)= b(7,i)
         CCold(2,2,i)=-b(7,i)
         CCold(2,1,i)= b(9,i)
@@ -1878,27 +1880,27 @@ c        b2(2,i)=0.0d0
         CCold(2,2,-i)=-b(7,i)
         CCold(2,1,-i)=-b(9,i)
         CCold(1,2,-i)=-b(9,i)
-c        CC(1,1,i)=0.0d0
-c        CC(2,2,i)=0.0d0
-c        CC(2,1,i)=0.0d0
-c        CC(1,2,i)=0.0d0
-c        Ctilde(1,1,i)= CCold(1,1,i)
-c        Ctilde(1,2,i)= CCold(1,2,i)
-c        Ctilde(2,1,i)=-CCold(2,1,i)
-c        Ctilde(2,2,i)=-CCold(2,2,i)
-c        CC(1,1,i)=0.0d0
-c        CC(2,2,i)=0.0d0
-c        CC(2,1,i)=0.0d0
-c        CC(1,2,i)=0.0d0
-c        Ctilde(1,1,i)= CCold(1,1,i)
-c        Ctilde(1,2,i)= CCold(1,2,i)
-c        Ctilde(2,1,i)=-CCold(2,1,i)
-c        Ctilde(2,2,i)=-CCold(2,2,i)
-
-c        Ctilde(1,1,i)=0.0d0
-c        Ctilde(1,2,i)=0.0d0
-c        Ctilde(2,1,i)=0.0d0
-c        Ctilde(2,2,i)=0.0d0
+!c        CC(1,1,i)=0.0d0
+!c        CC(2,2,i)=0.0d0
+!c        CC(2,1,i)=0.0d0
+!c        CC(1,2,i)=0.0d0
+!c        Ctilde(1,1,i)= CCold(1,1,i)
+!c        Ctilde(1,2,i)= CCold(1,2,i)
+!c        Ctilde(2,1,i)=-CCold(2,1,i)
+!c        Ctilde(2,2,i)=-CCold(2,2,i)
+!c        CC(1,1,i)=0.0d0
+!c        CC(2,2,i)=0.0d0
+!c        CC(2,1,i)=0.0d0
+!c        CC(1,2,i)=0.0d0
+!c        Ctilde(1,1,i)= CCold(1,1,i)
+!c        Ctilde(1,2,i)= CCold(1,2,i)
+!c        Ctilde(2,1,i)=-CCold(2,1,i)
+!c        Ctilde(2,2,i)=-CCold(2,2,i)
+
+!c        Ctilde(1,1,i)=0.0d0
+!c        Ctilde(1,2,i)=0.0d0
+!c        Ctilde(2,1,i)=0.0d0
+!c        Ctilde(2,2,i)=0.0d0
         DDold(1,1,i)= b(6,i)
         DDold(2,2,i)=-b(6,i)
         DDold(2,1,i)= b(8,i)
@@ -1907,19 +1909,19 @@ c        Ctilde(2,2,i)=0.0d0
         DDold(2,2,-i)=-b(6,i)
         DDold(2,1,-i)=-b(8,i)
         DDold(1,2,-i)=-b(8,i)
-c        DD(1,1,i)=0.0d0
-c        DD(2,2,i)=0.0d0
-c        DD(2,1,i)=0.0d0
-c        DD(1,2,i)=0.0d0
-c        Dtilde(1,1,i)= DD(1,1,i)
-c        Dtilde(1,2,i)= DD(1,2,i)
-c        Dtilde(2,1,i)=-DD(2,1,i)
-c        Dtilde(2,2,i)=-DD(2,2,i)
-
-c        Dtilde(1,1,i)=0.0d0
-c        Dtilde(1,2,i)=0.0d0
-c        Dtilde(2,1,i)=0.0d0
-c        Dtilde(2,2,i)=0.0d0
+!c        DD(1,1,i)=0.0d0
+!c        DD(2,2,i)=0.0d0
+!c        DD(2,1,i)=0.0d0
+!c        DD(1,2,i)=0.0d0
+!c        Dtilde(1,1,i)= DD(1,1,i)
+!c        Dtilde(1,2,i)= DD(1,2,i)
+!c        Dtilde(2,1,i)=-DD(2,1,i)
+!c        Dtilde(2,2,i)=-DD(2,2,i)
+
+!c        Dtilde(1,1,i)=0.0d0
+!c        Dtilde(1,2,i)=0.0d0
+!c        Dtilde(2,1,i)=0.0d0
+!c        Dtilde(2,2,i)=0.0d0
         EEold(1,1,i)= b(10,i)+b(11,i)
         EEold(2,2,i)=-b(10,i)+b(11,i)
         EEold(2,1,i)= b(12,i)-b(13,i)
@@ -1930,11 +1932,11 @@ c        Dtilde(2,2,i)=0.0d0
         EEold(1,2,-i)=-b(12,i)-b(13,i)
         write(iout,*) "TU DOCHODZE"
         print *,"JESTEM"
-c        ee(1,1,i)=1.0d0
-c        ee(2,2,i)=1.0d0
-c        ee(2,1,i)=0.0d0
-c        ee(1,2,i)=0.0d0
-c        ee(2,1,i)=ee(1,2,i)
+!c        ee(1,1,i)=1.0d0
+!c        ee(2,2,i)=1.0d0
+!c        ee(2,1,i)=0.0d0
+!c        ee(1,2,i)=0.0d0
+!c        ee(2,1,i)=ee(1,2,i)
       enddo
       if (lprint) then
       write (iout,*)
@@ -2644,8 +2646,11 @@ c        ee(2,1,i)=ee(1,2,i)
        allocate(wstate(4,ntyp,ntyp))
        allocate(dhead(2,2,ntyp,ntyp))
        allocate(nstate(ntyp,ntyp))
+       allocate(debaykap(ntyp,ntyp))
+
       if (.not.allocated(sigma)) allocate(sigma(0:ntyp1,0:ntyp1))
       if (.not.allocated(chi)) allocate(chi(ntyp1,ntyp1)) !(ntyp,ntyp)
+
       do i=1,ntyp
        do j=1,i
 !        write (*,*) "Im in ALAB", i, " ", j
@@ -2659,7 +2664,7 @@ c        ee(2,1,i)=ee(1,2,i)
        epshead(i,j),sig0head(i,j), &
        rborn(i,j),rborn(j,i),(wqdip(k,i,j),k=1,2),wquad(i,j), &
        alphapol(i,j),alphapol(j,i), &
-       (alphiso(k,i,j),k=1,4),sigiso1(i,j),sigiso2(i,j),epsintab(i,j)
+       (alphiso(k,i,j),k=1,4),sigiso1(i,j),sigiso2(i,j),epsintab(i,j),debaykap(i,j)
 !       print *,eps(i,j),sigma(i,j),"SIGMAP",i,j,sigmap1(i,j),sigmap2(j,i) 
        END DO
       END DO
@@ -2695,6 +2700,7 @@ c        ee(2,1,i)=ee(1,2,i)
 
         wquad(i,j) = wquad(j,i)
         epsintab(i,j) = epsintab(j,i)
+        debaykap(i,j)=debaykap(j,i)
 !        if (epsintab(i,j).ne.1.0) print *,"WHAT?",i,j,epsintab(i,j)
        END DO
       END DO
@@ -3407,6 +3413,8 @@ c        ee(2,1,i)=ee(1,2,i)
         if (index(card,"FREE ENERGY").gt.0) read(card(35:),*) efree_temp
 ! Fish out the ATOM cards.
 !        write(iout,*) 'card',card(1:20)
+!        print *,"ATU ",card(1:6), CARD(3:6)
+!        print *,card
         if (index(card(1:4),'ATOM').gt.0) then  
           read (card(12:16),*) atom
 !          write (iout,*) "! ",atom," !",ires
@@ -3428,9 +3436,9 @@ c        ee(2,1,i)=ee(1,2,i)
                 enddo
               else
                 call sccenter(ires_old,iii,sccor)
-              endif
+              endif !unres_pdb
               iii=0
-            endif
+            endif !ind_pdb
 ! Start new residue.
             if (res.eq.'Cl-' .or. res.eq.'Na+') then
               ires=ires_old
@@ -3442,7 +3450,7 @@ c        ee(2,1,i)=ee(1,2,i)
                 ishift=ishift-1
                 itype(1,1)=ntyp1
                 nres_molec(molecule)=nres_molec(molecule)+1
-              endif
+              endif ! Gly
               ires=ires-ishift+ishift1
               ires_old=ires
 !              write (iout,*) "ishift",ishift," ires",ires,&
@@ -3461,7 +3469,7 @@ c        ee(2,1,i)=ee(1,2,i)
               ishift=ishift-(ires-ishift+ishift1-ires_old-1)
               ires=ires-ishift+ishift1
               ires_old=ires
-            endif 
+            endif ! Na Cl
 !            print *,'atom',ires,atom
             if (res.eq.'ACE' .or. res.eq.'NHE') then
               itype(ires,1)=10
@@ -3485,11 +3493,11 @@ c        ee(2,1,i)=ee(1,2,i)
 !              print *,"ires=",ires,istype(ires)
 !            endif
 
-            endif
-            endif
+            endif ! atom.eq.CA
+            endif !ACE
           else
             ires=ires-ishift+ishift1
-          endif
+          endif !ires_old
 !          write (iout,*) "ires_old",ires_old," ires",ires
           if (card(27:27).eq."A" .or. card(27:27).eq."B") then
 !            ishift1=ishift1+1
@@ -3574,6 +3582,7 @@ c        ee(2,1,i)=ee(1,2,i)
             read(card(31:54),'(3f8.3)') (sccor(j,iii),j=1,3)
               endif
           endif
+!         print *,"IONS",ions,card(1:6)
         else if ((ions).and.(card(1:6).eq.'HETATM')) then
        if (firstion.eq.0) then 
        firstion=1
@@ -3583,10 +3592,10 @@ c        ee(2,1,i)=ee(1,2,i)
          enddo
        else
           call sccenter(ires,iii,sccor)
-       endif
-       endif
+       endif ! unres_pdb
+       endif !firstion
           read (card(12:16),*) atom
-          print *,"HETATOM", atom
+!          print *,"HETATOM", atom
           read (card(18:20),'(a3)') res
           if ((atom(1:2).eq.'NA').or.(atom(1:2).eq.'CL').or.&
           (atom(1:2).eq.'CA').or.(atom(1:2).eq.'MG')           &
@@ -3600,7 +3609,7 @@ c        ee(2,1,i)=ee(1,2,i)
            res=res(2:3)//' '
            itype(ires,molecule)=rescode(ires,res,0,molecule)
            read(card(31:54),'(3f8.3)') (c(j,ires),j=1,3)
-          endif
+          endif! NA
         endif !atom
       enddo
    10 write (iout,'(a,i5)') ' Number of residues found: ',ires
@@ -3674,7 +3683,8 @@ c        ee(2,1,i)=ee(1,2,i)
 !              e2(3)=0.0d0
 !            endif
             do j=1,3
-              c(j,i)=c(j,i+1)-1.9d0*e2(j)
+!              c(j,i)=c(j,i+1)-1.9d0*e2(j)
+             c(j,i)=c(j,i-1)+1.9d0*(-e1(j)+e2(j))/sqrt(2.0d0)
             enddo
 !          else !unres_pdb
            do j=1,3
@@ -3789,7 +3799,8 @@ c        ee(2,1,i)=ee(1,2,i)
             e2(3)=0.0d0
           endif
           do j=1,3
-            c(j,1)=c(j,2)-1.9d0*e2(j)
+!            c(j,1)=c(j,2)-1.9d0*e2(j)
+             c(j,1)=c(j,2)+1.9d0*(e1(j)-e2(j))/sqrt(2.0d0)
           enddo
         else
         do j=1,3