! ielep_nucl= 131
isidep_nucl=132
iscpp_nucl=133
-
-
+ isidep_scbase=141
+ isidep_pepbase=142
+ isidep_scpho=143
+ isidep_peppho=144
iliptranpar=60
itube=61
+! IONS
+ iion=401
#if defined(WHAM_RUN) || defined(CLUSTER)
!
! setting the mpi variables for WHAM
ind_eleint_old_nucl,ind_eleint_nucl,nele_int_tot_vdw_nucl,&
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
+ my_scp_inde_nucl,ind_scpint_nucl,ind_scpint_old_nucl,impishi
! 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)
write (iout,'(i3,2(2x,2i3))') &
i,(istart(i,iint),iend(i,iint),iint=1,nint_gr(i))
enddo
- endif
+! endif
! lprint=.false.
write (iout,'(a)') 'Interaction array2:'
do i=iatsc_s_nucl,iatsc_e_nucl
write (iout,'(i3,2(2x,2i4))') &
i,(istart_nucl(i,iint),iend_nucl(i,iint),iint=1,nint_gr_nucl(i))
enddo
-
+ endif
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
ibond_nucl_start=ibond_nucl_start+nnt_molec(2)-1
ibond_nucl_end=ibond_nucl_end+nnt_molec(2)-1
print *,"NUCLibond",ibond_nucl_start,ibond_nucl_end
+ if (nres_molec(2).ne.0) then
print *, "before devision",nnt_molec(2),nct_molec(2)-nnt_molec(2)
call int_bounds(nct_molec(2)-nnt_molec(2),ibondp_nucl_start,ibondp_nucl_end)
ibondp_nucl_start=ibondp_nucl_start+nnt_molec(2)
ibondp_nucl_end=ibondp_nucl_end+nnt_molec(2)
+ else
+ ibondp_nucl_start=1
+ ibondp_nucl_end=0
+ endif
print *,"NUCLibond2",ibondp_nucl_start,ibondp_nucl_end
call MPI_Type_contiguous(18,MPI_DOUBLE_PRECISION,MPI_UYZGRAD,&
IERROR)
call MPI_Type_commit(MPI_UYZGRAD,IERROR)
+ call MPI_Type_contiguous(maxcontsshi,MPI_INTEGER,MPI_I50,IERROR)
+ call MPI_Type_commit(MPI_I50,IERROR)
+ call MPI_Type_contiguous(maxcontsshi,MPI_DOUBLE_PRECISION,MPI_D50,IERROR)
+ call MPI_Type_commit(MPI_D50,IERROR)
+
+ impishi=maxcontsshi*3
+! call MPI_Type_contiguous(impishi,MPI_DOUBLE_PRECISION, &
+! MPI_SHI,IERROR)
+! call MPI_Type_commit(MPI_SHI,IERROR)
+! print *,MPI_SHI,"MPI_SHI",MPI_D50
call MPI_Type_contiguous(2,MPI_DOUBLE_PRECISION,MPI_MU,IERROR)
call MPI_Type_commit(MPI_MU,IERROR)
call MPI_Type_contiguous(4,MPI_DOUBLE_PRECISION,MPI_MAT1,IERROR)
!-----------------------------------------------------------------------------
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)
+ write(iout,*) "i",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
return
end subroutine setup_var
!-----------------------------------------------------------------------------
-! rescode.f
-!-----------------------------------------------------------------------------
- integer function rescode(iseq,nam,itype,molecule)
-
- use io_base, only: ucase
-! implicit real*8 (a-h,o-z)
-! include 'DIMENSIONS'
-! include 'COMMON.NAMES'
-! include 'COMMON.IOUNITS'
- character(len=3) :: nam !,ucase
- integer :: iseq,itype,i
- integer :: molecule
- print *,molecule,nam
- if (molecule.eq.1) then
- if (itype.eq.0) then
-
- do i=-ntyp1_molec(molecule),ntyp1_molec(molecule)
- if (ucase(nam).eq.restyp(i,molecule)) then
- rescode=i
- return
- endif
- enddo
-
- else
-
- do i=-ntyp1_molec(molecule),ntyp1_molec(molecule)
- if (nam(1:1).eq.onelet(i)) then
- rescode=i
- return
- endif
- enddo
-
- endif
- else if (molecule.eq.2) then
- do i=1,ntyp1_molec(molecule)
- print *,nam(1:1),restyp(i,molecule)(1:1)
- if (nam(2:2).eq.restyp(i,molecule)(1:1)) then
- rescode=i
- return
- endif
- enddo
- else if (molecule.eq.3) then
- write(iout,*) "SUGAR not yet implemented"
- stop
- else if (molecule.eq.4) then
- write(iout,*) "Explicit LIPID not yet implemented"
- stop
- else if (molecule.eq.5) then
- do i=1,ntyp1_molec(molecule)
- print *,i,restyp(i,molecule)(1:2)
- if (ucase(nam(1:2)).eq.restyp(i,molecule)(1:2)) then
- rescode=i
- return
- endif
- enddo
- else
- write(iout,*) "molecule not defined"
- endif
- write (iout,10) iseq,nam
- stop
- 10 format ('**** Error - residue',i4,' has an unresolved name ',a3)
- end function rescode
- integer function sugarcode(sugar,ires)
- character sugar
- integer ires
- if (sugar.eq.'D') then
- sugarcode=1
- else if (sugar.eq.' ') then
- sugarcode=2
- else
- write (iout,*) 'UNKNOWN sugar type for residue',ires,' ',sugar
- stop
- endif
- return
- end function sugarcode
-
-!-----------------------------------------------------------------------------
! timing.F
!-----------------------------------------------------------------------------
! $Date: 1994/10/05 16:41:52 $