working base with peptide group
[unres4.git] / source / unres / control.F90
index b851d37..ff90290 100644 (file)
 !      ielep_nucl= 131
       isidep_nucl=132
       iscpp_nucl=133
-
-
+      isidep_scbase=141
+      isidep_pepbase=142
 
       iliptranpar=60
       itube=61
+!     IONS
+      iion=401
 #if defined(WHAM_RUN) || defined(CLUSTER)
 !
 ! setting the mpi variables for WHAM
             my_ele_inds_vdw_nucl,my_ele_inde_vdw_nucl,ind_eleint_vdw_nucl,&
             ind_eleint_vdw_old_nucl,nscp_int_tot_nucl,my_scp_inds_nucl,&
             my_scp_inde_nucl,ind_scpint_nucl,ind_scpint_old_nucl
-      integer,dimension(5) :: nct_molec,nnt_molec
+!      integer,dimension(5) :: nct_molec,nnt_molec
 !el      allocate(itask_cont_from(0:nfgtasks-1)) !(0:max_fg_procs-1)
 !el      allocate(itask_cont_to(0:nfgtasks-1)) !(0:max_fg_procs-1)
 
         enddo
       enddo
       do i=nnt_molec(2),nct_molec(2)-1
-!        print*, "inloop2",i
+        print*, "inloop2",i
       call int_partition(ind_scint_nucl,my_sc_inds_nucl,my_sc_inde_nucl,i,&
            iatsc_s_nucl,iatsc_e_nucl,i+1,nct_molec(2),nint_gr_nucl(i), &
            istart_nucl(i,1),iend_nucl(i,1),*112)
       ispp=4 !?? wham ispp=2
 #ifdef MPI
 ! Now partition the electrostatic-interaction array
-      if (itype(nres_molec(1),1).eq.ntyp1_molec(1)) then
+      if (nres_molec(1).eq.0) then  
+       npept=0
+      elseif (itype(nres_molec(1),1).eq.ntyp1_molec(1)) then
       npept=nres_molec(1)-nnt-1
       else
       npept=nres_molec(1)-nnt
           ijunk,ielstart_nucl(i),ielend_nucl(i),*113)
       enddo ! i 
   113 continue
-      if (iatel_s.eq.0) iatel_s=1
+      if (iatel_s_nucl.eq.0) iatel_s_nucl=1
 
       nele_int_tot_vdw=(npept-2)*(npept-2+1)/2
 !      write (iout,*) "nele_int_tot_vdw",nele_int_tot_vdw
       if (iatel_s_vdw.eq.0) iatel_s_vdw=1
    15 continue
       if (iatel_s.eq.0) iatel_s=1
-
+      if (iatel_s_vdw.eq.0) iatel_s_vdw=1
       nele_int_tot_vdw_nucl=(npept_nucl-2)*(npept_nucl-2+1)/2
 !      write (iout,*) "nele_int_tot_vdw",nele_int_tot_vdw
       call int_bounds(nele_int_tot_vdw_nucl,my_ele_inds_vdw_nucl,&
 !        write (iout,*) i," ielstart_vdw",ielstart_vdw(i),
 !     &   " ielend_vdw",ielend_vdw(i)
       enddo ! i 
-      if (iatel_s_vdw.eq.0) iatel_s_vdw=1
+      if (iatel_s_vdw.eq.0) iatel_s_vdw_nucl=1
   115 continue
 
 #else
       enddo ! i
   114 continue
       print *, "after inloop3",iatscp_s_nucl,iatscp_e_nucl
+      if (iatscp_s_nucl.eq.0) iatscp_s_nucl=1
 #else
       iatscp_s=nnt
       iatscp_e=nct_molec(1)-1
       call int_bounds(nres_molec(1)-2,loc_start,loc_end)
       loc_start=loc_start+1
       loc_end=loc_end+1
+      call int_bounds(nres_molec(2)-2,loc_start_nucl,loc_end_nucl)
+      loc_start_nucl=loc_start_nucl+1+nres_molec(1)
+      loc_end_nucl=loc_end_nucl+1+nres_molec(1)
       call int_bounds(nres_molec(1)-2,ithet_start,ithet_end)
       ithet_start=ithet_start+2
       ithet_end=ithet_end+2
 !-----------------------------------------------------------------------------
       subroutine setup_var
 
-      integer :: i
+      integer :: i,mnum
 !      implicit real*8 (a-h,o-z)
 !      include 'DIMENSIONS'
 !      include 'COMMON.IOUNITS'
       nvar=ntheta+nphi
       nside=0
       do i=2,nres-1
+      mnum=molnum(i)
 #ifdef WHAM_RUN
         if (itype(i,1).ne.10) then
 #else
-        if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1) then
+        if (itype(i,1).ne.10 .and. itype(i,mnum).ne.ntyp1_molec(mnum) .and. mnum.ne.5) then
 #endif
          nside=nside+1
           ialph(i,1)=nvar+nside