working gradient
[unres4.git] / source / unres / control.F90
index b851d37..24ea5e5 100644 (file)
             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)
 
       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