the first working version of multichain homology
[unres.git] / source / wham / src-M / initialize_p.F
index 7ca29e0..459c312 100644 (file)
@@ -62,6 +62,8 @@ C
       ihist=30
       iweight=31
       izsc=32
+C Lipidic input file for parameters range 60-79
+      iliptranpar=60
 C
 C Set default weights of the energy terms.
 C
@@ -88,8 +90,10 @@ C
       enddo
       do i=1,ntyp
        do j=1,ntyp
-         aa(i,j)=0.0D0
-         bb(i,j)=0.0D0
+         aa_lip(i,j)=0.0D0
+         bb_lip(i,j)=0.0D0
+          aa_aq(i,j)=0.0D0
+          bb_aq(i,j)=0.0D0
          augm(i,j)=0.0D0
          sigma(i,j)=0.0D0
          r0(i,j)=0.0D0
@@ -104,9 +108,13 @@ C
        sigii(i)=0.0D0
        rr0(i)=0.0D0
        a0thet(i)=0.0D0
-       do j=1,2
-         athet(j,i)=0.0D0
-         bthet(j,i)=0.0D0
+        do j=1,2
+         do ichir1=-1,1
+          do ichir2=-1,1
+          athet(j,i,ichir1,ichir2)=0.0D0
+          bthet(j,i,ichir1,ichir2)=0.0D0
+          enddo
+         enddo
         enddo
        do j=0,3
          polthet(j,i)=0.0D0
@@ -132,15 +140,37 @@ C
       enddo
       nlob(ntyp1)=0
       dsc(ntyp1)=0.0D0
-      do i=1,maxtor
-       itortyp(i)=0
-       do j=1,maxtor
-         do k=1,maxterm
-           v1(k,j,i)=0.0D0
-           v2(k,j,i)=0.0D0
+      do i=-maxtor,maxtor
+        itortyp(i)=0
+       do iblock=1,2
+        do j=-maxtor,maxtor
+          do k=1,maxterm
+            v1(k,j,i,iblock)=0.0D0
+            v2(k,j,i,iblock)=0.0D0
           enddo
         enddo
+        enddo
       enddo
+      do iblock=1,2
+       do i=-maxtor,maxtor
+        do j=-maxtor,maxtor
+         do k=-maxtor,maxtor
+          do l=1,maxtermd_1
+            v1c(1,l,i,j,k,iblock)=0.0D0
+            v1s(1,l,i,j,k,iblock)=0.0D0
+            v1c(2,l,i,j,k,iblock)=0.0D0
+            v1s(2,l,i,j,k,iblock)=0.0D0
+          enddo !l
+          do l=1,maxtermd_2
+           do m=1,maxtermd_2
+            v2c(m,l,i,j,k,iblock)=0.0D0
+            v2s(m,l,i,j,k,iblock)=0.0D0
+           enddo !m
+          enddo !l
+        enddo !k
+       enddo !j
+      enddo !i
+      enddo !iblock
       do i=1,maxres
        itype(i)=0
        itel(i)=0
@@ -158,6 +188,7 @@ C Initialize the bridge arrays
       do i=1,maxres
        ihpb(i)=0
        jhpb(i)=0
+        dyn_ss_mask(i)=.false.
       enddo
 C
 C Initialize timing.
@@ -219,27 +250,35 @@ c-------------------------------------------------------------------------
       include 'COMMON.WEIGHTS'
       include 'COMMON.FFIELD'
       data restyp /
+     &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
+     & 'DSG','DGN','DSN','DTH',
+     &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
      &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
-     &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','D'/
+     &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
+     &'AIB','ABU','D'/
       data onelet /
+     &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
+     &'a','y','w','v','l','i','f','m','c','x',
      &'C','M','F','I','L','V','W','Y','A','G','T',
-     &'S','Q','N','E','D','H','R','K','P','X'/
+     &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
       data potname /'LJ','LJK','BP','GB','GBV'/
       data ename / 
      &   "EVDW SC-SC","EVDW2 SC-p","EES p-p","ECORR4 ","ECORR5 ",
      &   "ECORR6 ","EELLO ","ETURN3 ","ETURN4 ","ETURN6 ",
      &   "EBE bend","ESC SCloc","ETORS ","ETORSD ","EHPB","EVDWPP",
-     &   "EVDW2_14","ESTR","ESCCOR","EDIHC","EVDW_T"/
+     &   "EVDW2_14","ESTR","ESCCOR","EDIHC","EVDW_T","ELIPTRAN",
+     &   "EAFM","ETHETC","EMPTY"/
       data wname /
      &   "WSC","WSCP","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC",
      &   "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR","WTORD",
-     &   "WHPB","WVDWPP","WSCP14","WBOND","WSCCOR","WDIHC","WSC"/
+     &   "WHPB","WVDWPP","WSCP14","WBOND","WSCCOR","WDIHC","WSC",
+     &   "WLIPTRAN","WAFM","WTHETC","WSHIELD"/
       data ww0 /1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,
      &    1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,0.4d0,1.0d0,1.0d0,
-     &    0.0d0,0.0/
-      data nprint_ene /21/
+     &    0.0d0,0.0,0.0d0,0.0d0,0.0d0,0.0d0/
+      data nprint_ene /22/
       data print_order /1,2,3,18,11,12,13,14,4,5,6,7,8,9,10,19,
-     &  16,15,17,20,21/
+     &  16,15,17,20,21,24,22,23,1/
       end 
 c---------------------------------------------------------------------------
       subroutine init_int_table
@@ -296,6 +335,7 @@ cd    write (iout,*) 'ns=',ns,' nss=',nss,' ihpb,jhpb',
 cd   &   (ihpb(i),jhpb(i),i=1,nss)
       do i=nnt,nct-1
         scheck=.false.
+        if (dyn_ss) goto 10
         do ii=1,nss
           if (ihpb(ii).eq.i+nres) then
             scheck=.true.
@@ -505,7 +545,7 @@ C Partition local interactions
 #else
       loc_start=2
       loc_end=nres-1
-      ithet_start=3 
+      ithet_start=3
       ithet_end=nres
       iphi_start=nnt+3
       iphi_end=nct
@@ -572,3 +612,47 @@ cd   &  ' nhpb',nhpb,' link_start=',link_start,
 cd   &  ' link_end',link_end
       return
       end
+c------------------------------------------------------------------------------
+      subroutine homology_partition
+      implicit real*8 (a-h,o-z)
+      include 'DIMENSIONS'
+      include 'DIMENSIONS.ZSCOPT'
+      include 'DIMENSIONS.FREE'
+#ifdef MPI
+      include 'mpif.h'
+#endif
+      include 'COMMON.SBRIDGE'
+      include 'COMMON.IOUNITS'
+c      include 'COMMON.SETUP'
+      include 'COMMON.CONTROL'
+      include 'COMMON.CHAIN'
+      include 'COMMON.INTERACT'
+      include 'COMMON.HOMRESTR'
+      write(iout,*)"homology_partition: lim_odl=",lim_odl,
+     &   " lim_dih",lim_dih
+#ifdef MPL
+      call int_bounds(lim_odl,link_start_homo,link_end_homo)
+      call int_bounds(lim_dih-nnt+1,idihconstr_start_homo,
+     &  idihconstr_end_homo)
+      idihconstr_start_homo=idihconstr_start_homo+nnt-1
+      idihconstr_end_homo=idihconstr_end_homo+nnt-1
+      if (me.eq.king .or. .not. out1file)
+     &  write (iout,*) 'Processor',fg_rank,' CG group',kolor,
+     &  ' absolute rank',MyRank,
+     &  ' lim_odl',lim_odl,' link_start=',link_start_homo,
+     &  ' link_end',link_end_homo,' lim_dih',lim_dih,
+     &  ' idihconstr_start_homo',idihconstr_start_homo,
+     &  ' idihconstr_end_homo',idihconstr_end_homo
+#else
+      link_start_homo=1
+      link_end_homo=lim_odl
+      idihconstr_start_homo=nnt
+      idihconstr_end_homo=lim_dih
+      write (iout,*)
+     &  ' lim_odl',lim_odl,' link_start=',link_start_homo,
+     &  ' link_end',link_end_homo,' lim_dih',lim_dih,
+     &  ' idihconstr_start_homo',idihconstr_start_homo,
+     &  ' idihconstr_end_homo',idihconstr_end_homo
+#endif
+      return
+      end