Merge branch 'UCGM' of mmka.chem.univ.gda.pl:unres4 into UCGM
[unres4.git] / source / unres / io_config.F90
index b9a9844..131c789 100644 (file)
           enddo
         enddo
       endif
+       if (oldion.eq.1) then
             do i=1,ntyp_molec(5)
              read(iion,*) msc(i,5),restok(i,5)
              print *,msc(i,5),restok(i,5)
             read (iion,*)  (catprm(i,k),i=1,ncatprotparm)
             enddo
             print *, catprm
+         endif
 !            read (iion,*) (vcatprm(k),k=1,ncatprotpram)
 !----------------------------------------------------
       allocate(a0thet(-ntyp:ntyp),theta0(-ntyp:ntyp))
       enddo
 #else
       allocate(iloctyp(-nloctyp:nloctyp))
+      allocate(itype2loc(-ntyp1:ntyp1))
       iloctyp(0)=10
       iloctyp(1)=9
       iloctyp(2)=20
       enddo
       enddo
       endif
+#ifndef NEWCORR
+      do i=1,ntyp1
+        itype2loc(i)=itortyp(i)
+      enddo
+#endif
+
       ELSE IF (TOR_MODE.eq.1) THEN
 
 !C read valence-torsional parameters
        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
         read(isidep,*) &
-       eps(i,j),sigma(i,j),chi(i,j),chi(j,i),chipp(i,j),chipp(j,i), &
-       (alphasur(k,i,j),k=1,4),sigmap1(i,j),sigmap2(i,j), &
-       chis(i,j),chis(j,i), &
-       nstate(i,j),(wstate(k,i,j),k=1,4), &
-       dhead(1,1,i,j),dhead(1,2,i,j),dhead(2,1,i,j),dhead(2,2,i,j),&
-       dtail(1,i,j),dtail(2,i,j), &
-       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)
-!       print *,eps(i,j),sigma(i,j),"SIGMAP",i,j,sigmap1(i,j),sigmap2(j,i) 
+       eps(i,j),sigma(i,j),chi(i,j),chi(j,i),chipp(i,j),chipp(j,i), & !6 w tej linii
+       (alphasur(k,i,j),k=1,4),sigmap1(i,j),sigmap2(i,j), &           !6 w tej linii
+       chis(i,j),chis(j,i), &                                         !2 w tej linii
+       nstate(i,j),(wstate(k,i,j),k=1,4), &                           !5 w tej lini - 1 integer pierwszy
+       dhead(1,1,i,j),dhead(1,2,i,j),dhead(2,1,i,j),dhead(2,2,i,j),&  ! 4 w tej linii
+       dtail(1,i,j),dtail(2,i,j), &                                   ! 2 w tej lini
+       epshead(i,j),sig0head(i,j), &                                  ! 2 w tej linii
+       rborn(i,j),rborn(j,i),(wqdip(k,i,j),k=1,2),wquad(i,j), &       ! 5 w tej linii
+       alphapol(i,j),alphapol(j,i), &                                 ! 2 w tej linii
+       (alphiso(k,i,j),k=1,4),sigiso1(i,j),sigiso2(i,j),epsintab(i,j),debaykap(i,j) !8 w tej linii
+        IF ((LaTeX).and.(i.gt.24)) then
+        write (2,'(2a4,1h&,14(f8.2,1h&),23(f8.2,1h&))') restyp(i,1),restyp(j,1), &
+       eps(i,j),sigma(i,j),chi(i,j),chi(j,i),chipp(i,j),chipp(j,i), & !6 w tej linii
+       (alphasur(k,i,j),k=1,4),sigmap1(i,j),sigmap2(i,j), &           !6 w tej linii
+       chis(i,j),chis(j,i)                                            !2 w tej linii
+        endif
+       print *,eps(i,j),sigma(i,j),"SIGMAP",i,j,sigmap1(i,j),sigmap2(j,i), wqdip(1,i,j)
+       END DO
+      END DO
+      do i=1,ntyp
+       do j=1,i
+        IF ((LaTeX).and.(i.gt.24)) then
+        write (2,'(2a4,1h&,14(f8.2,1h&),23(f8.2,1h&))') restyp(i,1),restyp(j,1), &
+       dhead(1,1,i,j),dhead(2,1,i,j),&  ! 2 w tej linii
+       dtail(1,i,j),dtail(2,i,j), &                                   ! 2 w tej lini
+       epshead(i,j),sig0head(i,j), &                                  ! 2 w tej linii
+       rborn(i,j),rborn(j,i), &       ! 3 w tej linii
+       alphapol(i,j),alphapol(j,i), &                                 ! 2 w tej linii
+       (alphiso(k,i,j),k=1,4),sigiso1(i,j),sigiso2(i,j),epsintab(i,j),debaykap(i,j) !8 w tej linii
+        endif
        END DO
       END DO
       DO i = 1, ntyp
 
         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
       endif
+
+
 !      goto 50
 !--------------------- GBV potential -----------------------------------
        case(5)
 !      v1ss=0.0d0
 !      v2ss=0.0d0
 !      v3ss=0.0d0
+
+! Ions by Aga
+
+       allocate(alphapolcat(ntyp,ntyp),epsheadcat(ntyp,ntyp),sig0headcat(ntyp,ntyp))
+       allocate(sigiso1cat(ntyp,ntyp),rborn1cat(ntyp,ntyp),rborn2cat(ntyp,ntyp),sigmap1cat(ntyp,ntyp))
+       allocate(sigmap2cat(ntyp,ntyp),sigiso2cat(ntyp,ntyp))
+       allocate(chis1cat(ntyp,ntyp),chis2cat(ntyp,ntyp),wquadcat(ntyp,ntyp),chipp1cat(ntyp,ntyp),chipp2cat(ntyp,ntyp))
+       allocate(epsintabcat(ntyp,ntyp))
+       allocate(dtailcat(2,ntyp,ntyp))
+       allocate(alphasurcat(4,ntyp,ntyp),alphisocat(4,ntyp,ntyp))
+       allocate(wqdipcat(2,ntyp,ntyp))
+       allocate(wstatecat(4,ntyp,ntyp))
+       allocate(dheadcat(2,2,ntyp,ntyp))
+       allocate(nstatecat(ntyp,ntyp))
+       allocate(debaykapcat(ntyp,ntyp))
+
+      if (.not.allocated(epscat)) allocate (epscat(0:ntyp1,0:ntyp1))
+      if (.not.allocated(sigmacat)) allocate(sigmacat(0:ntyp1,0:ntyp1))
+!      if (.not.allocated(chicat)) allocate(chicat(ntyp1,ntyp1)) !(ntyp,ntyp)
+      if (.not.allocated(chi1cat)) allocate(chi1cat(ntyp1,ntyp1)) !(ntyp,ntyp)
+      if (.not.allocated(chi2cat)) allocate(chi2cat(ntyp1,ntyp1)) !(ntyp,ntyp)
+
+
+      allocate (ichargecat(ntyp_molec(5)))
+! i to SC, j to jon, isideocat - nazwa pliku z ktorego czytam parametry
+       if (oldion.eq.0) then
+            if (.not.allocated(icharge)) then ! this mean you are oprating in old sc-sc mode
+            allocate(icharge(1:ntyp1))
+            read(iion,*) (icharge(i),i=1,ntyp)
+            else
+             read(iion,*) ijunk
+            endif
+
+            do i=1,ntyp_molec(5)
+             read(iion,*) msc(i,5),restok(i,5),ichargecat(i)
+             print *,msc(i,5),restok(i,5)
+            enddo
+            ip(5)=0.2
+
+      do j=1,ntyp_molec(5)
+       do i=1,ntyp
+!       do j=1,ntyp_molec(5)
+!        write (*,*) "Im in ALAB", i, " ", j
+        read(iion,*) &
+       epscat(i,j),sigmacat(i,j), &
+!       chicat(i,j),chicat(j,i),chippcat(i,j),chippcat(j,i), &
+       chi1cat(i,j),chi2cat(i,j),chipp1cat(i,j),chipp2cat(i,j), &
+
+       (alphasurcat(k,i,j),k=1,4),sigmap1cat(i,j),sigmap2cat(i,j),&
+!       chiscat(i,j),chiscat(j,i), &
+       chis1cat(i,j),chis2cat(i,j), &
+
+       nstatecat(i,j),(wstatecat(k,i,j),k=1,4), &                           !5 w tej lini - 1 integer pierwszy
+       dheadcat(1,1,i,j),dheadcat(1,2,i,j),dheadcat(2,1,i,j),dheadcat(2,2,i,j),&
+       dtailcat(1,i,j),dtailcat(2,i,j), &
+       epsheadcat(i,j),sig0headcat(i,j), &
+!wdipcat = w1 , w2
+!       rborncat(i,j),rborncat(j,i),&
+       rborn1cat(i,j),rborn2cat(i,j),&
+       (wqdipcat(k,i,j),k=1,2), &
+       alphapolcat(i,j),alphapolcat(j,i), &
+       (alphisocat(k,i,j),k=1,4),sigiso1cat(i,j),sigiso2cat(i,j),epsintabcat(i,j),debaykapcat(i,j)
+!       print *,eps(i,j),sigma(i,j),"SIGMAP",i,j,sigmap1(i,j),sigmap2(j,i) 
+!     if (i.eq.1) then
+!     write (iout,*) 'i= ', i, ' j= ', j
+!     write (iout,*) 'epsi0= ', epscat(1,j)
+!     write (iout,*) 'sigma0= ', sigmacat(1,j)
+!     write (iout,*) 'chi(i,j)= ', chicat(1,j)
+!     write (iout,*) 'chi(j,i)= ', chicat(j,1)
+!     write (iout,*) 'chip(i,j)= ', chippcat(1,j)
+!     write (iout,*) 'chip(j,i)= ', chippcat(j,1)
+!     write (iout,*) 'alphasur1= ', alphasurcat(1,1,j)
+!     write (iout,*) 'alphasur2= ', alphasurcat(2,1,j)
+!     write (iout,*) 'alphasur3= ', alphasurcat(3,1,j)
+!     write (iout,*) 'alphasur4= ', alphasurcat(4,1,j)
+!     write (iout,*) 'sig1= ', sigmap1cat(1,j)
+!     write (iout,*) 'chis(i,j)= ', chiscat(1,j)
+!     write (iout,*) 'chis(j,i)= ', chiscat(j,1)
+!     write (iout,*) 'dhead= ', dheadcat(1,1,1,j)
+!     write (iout,*) 'a1= ', rborncat(j,1)
+!     write (iout,*) 'a2= ', rborncat(1,j)
+!     write (iout,*) 'epsin= ', epsintabcat(1,j), epsintabcat(j,1)
+!     write (iout,*) 'alphapol1= ',  alphapolcat(1,j)
+!     write (iout,*) 'w1= ', wqdipcat(1,1,j)
+!     write (iout,*) 'w2= ', wqdipcat(2,1,j)
+!     endif
+
+!     
+!     If ((i.eq.1).and.(j.eq.27)) then
+!     write (iout,*) 'SEP'
+!     Write (iout,*) 'w1= ', wqdipcat(1,1,27)
+!     Write (iout,*) 'w2= ', wqdipcat(2,1,27)
+!     endif
+
+       END DO
+      END DO
+      allocate(aa_aq_cat(-ntyp:ntyp,ntyp),bb_aq_cat(-ntyp:ntyp,ntyp))
+      do i=1,ntyp
+        do j=1,ntyp_molec(5)
+          epsij=epscat(i,j)
+          rrij=sigmacat(i,j)
+          rrij=rrij**expon
+          sigeps=dsign(1.0D0,epsij)
+          epsij=dabs(epsij)
+          aa_aq_cat(i,j)=epsij*rrij*rrij
+          bb_aq_cat(i,j)=-sigeps*epsij*rrij
+         enddo
+       enddo
+
+       do i=1,ntyp
+       do j=1,ntyp_molec(5)
+      if (i.eq.1) then
+      write (iout,*) 'i= ', i, ' j= ', j
+      write (iout,*) 'epsi0= ', epscat(i,j)
+      write (iout,*) 'sigma0= ', sigmacat(i,j)
+      write (iout,*) 'chi1= ', chi1cat(i,j)
+      write (iout,*) 'chi1= ', chi2cat(i,j)
+      write (iout,*) 'chip1= ', chipp1cat(1,j)
+      write (iout,*) 'chip2= ', chipp2cat(1,j)
+      write (iout,*) 'alphasur1= ', alphasurcat(1,1,j)
+      write (iout,*) 'alphasur2= ', alphasurcat(2,1,j)
+      write (iout,*) 'alphasur3= ', alphasurcat(3,1,j)
+      write (iout,*) 'alphasur4= ', alphasurcat(4,1,j)
+      write (iout,*) 'sig1= ', sigmap1cat(1,j)
+      write (iout,*) 'sig2= ', sigmap2cat(1,j)
+      write (iout,*) 'chis1= ', chis1cat(1,j)
+      write (iout,*) 'chis1= ', chis2cat(1,j)
+      write (iout,*) 'nstatecat(i,j)= ', nstatecat(1,j)
+      write (iout,*) 'wstatecat(k,i,j),k=1= ',wstatecat(1,1,j)
+      write (iout,*) 'dhead= ', dheadcat(1,1,1,j)
+      write (iout,*) 'dhead2= ', dheadcat(1,2,1,j)
+      write (iout,*) 'a1= ', rborn1cat(i,j)
+      write (iout,*) 'a2= ', rborn2cat(i,j)
+      write (iout,*) 'epsin= ', epsintabcat(1,j), epsintabcat(j,1)
+      write (iout,*) 'alphapol1= ',  alphapolcat(1,j)
+      write (iout,*) 'alphapol2= ',  alphapolcat(j,1)
+      write (iout,*) 'w1= ', wqdipcat(1,1,j)
+      write (iout,*) 'w2= ', wqdipcat(2,1,j)
+      write (iout,*) 'debaykapcat(i,j)= ',  debaykapcat(1,j)
+      endif
+
+      If ((i.eq.1).and.(j.eq.27)) then
+      write (iout,*) 'SEP'
+      Write (iout,*) 'w1= ', wqdipcat(1,1,27)
+      Write (iout,*) 'w2= ', wqdipcat(2,1,27)
+      endif
+
+       enddo
+       enddo
+
+      endif
+
       
       if(me.eq.king) then
       write (iout,'(/a)') "Disulfide bridge parameters:"
           endif
           do j=1,3
 !            c(j,1)=c(j,2)-1.9d0*e2(j)
-             c(j,i)=c(j,i-1)+1.9d0*(-e1(j)+e2(j))/sqrt(2.0d0)
+             c(j,1)=c(j,2)+1.9d0*(e1(j)-e2(j))/sqrt(2.0d0)
           enddo
         else
         do j=1,3
       with_theta_constr = index(controlcard,"WITH_THETA_CONSTR").gt.0
       protein=index(controlcard,"PROTEIN").gt.0
       ions=index(controlcard,"IONS").gt.0
+      call readi(controlcard,'OLDION',oldion,1)
       nucleic=index(controlcard,"NUCLEIC").gt.0
       write (iout,*) "with_theta_constr ",with_theta_constr
       AFMlog=(index(controlcard,'AFM'))
 ! elemode = 0 is orignal UNRES electrostatics
 ! elemode = 1 is "Momo" potentials in progress
 ! elemode = 2 is in development EVALD
+
+
       write (iout,*) TUBEmode,"TUBEMODE"
       if (TUBEmode.gt.0) then
        call reada(controlcard,"XTUBE",tubecenter(1),0.0d0)