pierwsza proba merga devela do adasko
[unres.git] / source / wham / src / parmread.F
index 6f09ed7..77a255f 100644 (file)
@@ -23,7 +23,6 @@ C
       include 'COMMON.FREE'
       character*1 t1,t2,t3
       character*1 onelett(4) /"G","A","P","D"/
-      character*1 toronelet(-2:2)/"p","a","G","A","P"/
       logical lprint
       dimension blower(3,3,maxlob)
       character*800 controlcard
@@ -52,10 +51,31 @@ C Assign virtual-bond length
         key = wname(i)(:ilen(wname(i)))
         call reada(controlcard,key(:ilen(key)),ww(i),1.0d0)
       enddo
-
+      call reada(controlcard,"D0CM",d0cm,3.78d0)
+      call reada(controlcard,"AKCM",akcm,15.1d0)
+      call reada(controlcard,"AKTH",akth,11.0d0)
+      call reada(controlcard,"AKCT",akct,12.0d0)
+      call reada(controlcard,"V1SS",v1ss,-1.08d0)
+      call reada(controlcard,"V2SS",v2ss,7.61d0)
+      call reada(controlcard,"V3SS",v3ss,13.7d0)
+      call reada(controlcard,"EBR",ebr,-5.50D0)
+c      dyn_ss=(index(controlcard,'DYN_SS').gt.0)
       write (iout,*) "iparm",iparm," myparm",myparm
-c If reading not own parameters, skip assignment
+c      do i=1,maxres
+c        dyn_ss_mask(i)=.false.
+c      enddo
+      do i=1,maxres-1
+        do j=i+1,maxres
+          dyn_ssbond_ij(i,j)=1.0d300
+        enddo
+      enddo
+      call reada(controlcard,"HT",Ht,0.0D0)
 
+c      if(me.eq.king.or..not.out1file) then
+c       print *,'indpdb=',indpdb,' pdbref=',pdbref
+c      endif
+c If reading not own parameters, skip assignment
+cc      write(iout,*) "KURWA", ww(15)
       if (iparm.eq.myparm .or. .not.separate_parset) then
 
 c
@@ -76,10 +96,12 @@ c
       wtor=ww(13)
       wtor_d=ww(14)
       wvdwpp=ww(16)
+      wstrain=ww(15)
       wbond=ww(18)
       wsccor=ww(19)
 
       endif
+cc      write(iout,*) "KURWA", wstrain,akcm,akth,wsc,dyn_ss
 
       call card_concat(controlcard,.false.)
 
@@ -645,8 +667,8 @@ C
         do j=-ntortyp+1,ntortyp-1
           do k=-ntortyp+1,ntortyp-1
             read (itordp,'(3a1)') 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
                stop "Error in double torsional parameter file"
@@ -1117,8 +1139,27 @@ c           augm(i,j)=0.5D0**(2*expon)*aa(i,j)
         enddo
       enddo
 C
-C Define the SC-p interaction constants
+C Define the SC-p interaction constants and SS bond potentials
 C
+      if (dyn_ss) then
+        ss_depth=ebr/wsc-0.25*eps(1,1)
+        Ht=Ht/wsc-0.25*eps(1,1)
+        akcm=akcm*wstrain/wsc
+        akth=akth*wstrain/wsc
+        akct=akct*wstrain/wsc
+        v1ss=v1ss*wstrain/wsc
+        v2ss=v2ss*wstrain/wsc
+        v3ss=v3ss*wstrain/wsc
+      else
+        ss_depth=ebr/wstrain-0.25*eps(1,1)*wsc/wstrain
+      endif
+       write (iout,*) "Parameters of the SS-bond potential:"
+       write (iout,*) "D0CM",d0cm," AKCM",akcm," AKTH",akth,
+     & " AKCT",akct
+       write (iout,*) "V1SS",v1ss," V2SS",v2ss," V3SS",v3ss
+       write (iout,*) "EBR",ebr," SS_DEPTH",ss_depth
+       write (iout,*)" HT",Ht
+
 #ifdef OLDSCP
       do i=1,20
 C "Soft" SC-p repulsion (causes helices to be too flat, but facilitates 
@@ -1167,7 +1208,7 @@ C
 C
 C Define the constants of the disulfide bridge
 C
-      ebr=-5.50D0
+c      ebr=-5.50D0
 c
 c Old arbitrary potential - commented out.
 c
@@ -1178,21 +1219,21 @@ c Constants of the disulfide-bond potential determined based on the RHF/6-31G**
 c energy surface of diethyl disulfide.
 c A. Liwo and U. Kozlowska, 11/24/03
 c
-      D0CM = 3.78d0
-      AKCM = 15.1d0
-      AKTH = 11.0d0
-      AKCT = 12.0d0
-      V1SS =-1.08d0
-      V2SS = 7.61d0
-      V3SS = 13.7d0
+c      D0CM = 3.78d0
+c      AKCM = 15.1d0
+c      AKTH = 11.0d0
+c      AKCT = 12.0d0
+c      V1SS =-1.08d0
+c      V2SS = 7.61d0
+c      V3SS = 13.7d0
 
-      if (lprint) then
-      write (iout,'(/a)') "Disulfide bridge parameters:"
-      write (iout,'(a,f10.2)') 'S-S bridge energy: ',ebr
-      write (iout,'(2(a,f10.2))') 'd0cm:',d0cm,' akcm:',akcm
-      write (iout,'(2(a,f10.2))') 'akth:',akth,' akct:',akct
-      write (iout,'(3(a,f10.2))') 'v1ss:',v1ss,' v2ss:',v2ss,
-     & ' v3ss:',v3ss
-      endif
+c      if (lprint) then
+c      write (iout,'(/a)') "Disulfide bridge parameters:"
+c      write (iout,'(a,f10.2)') 'S-S bridge energy: ',ebr
+c      write (iout,'(2(a,f10.2))') 'd0cm:',d0cm,' akcm:',akcm
+c      write (iout,'(2(a,f10.2))') 'akth:',akth,' akct:',akct
+c      write (iout,'(3(a,f10.2))') 'v1ss:',v1ss,' v2ss:',v2ss,
+c     & ' v3ss:',v3ss
+c      endif
       return
       end