integer :: i,j
if(nres.lt.100) then
- maxconts=nres
+ maxconts=10*nres
elseif(nres.lt.200) then
- maxconts=0.8*nres ! Max. number of contacts per residue
+ maxconts=10*nres ! Max. number of contacts per residue
else
- maxconts=0.6*nres ! (maxconts=maxres/4)
+ maxconts=10*nres ! (maxconts=maxres/4)
endif
maxcont=12*nres ! Max. number of SC contacts
maxvar=6*nres ! Max. number of variables
enddo
! IF ( (wcorr_nucl.gt.0.0d0.or.wcorr3_nucl.gt.0.0d0) .and.
IF ( j.gt.i+1 .and.&
- num_conti.le.maxconts) THEN
+ num_conti.le.maxcont) THEN
!C
!C Calculate the contact function. The ith column of the array JCONT will
!C contain the numbers of atoms that make contacts with the atom I (of numbers
!C greater than I). The arrays FACONT and GACONT will contain the values of
!C the contact function and its derivative.
- r0ij=2.20D0*sigma(itypi,itypj)
+ r0ij=2.20D0*sigma_nucl(itypi,itypj)
!c write (2,*) "ij",i,j," rij",1.0d0/rij," r0ij",r0ij
call gcont(rij,r0ij,1.0D0,0.2d0/r0ij,fcont,fprimcont)
!c write (2,*) "fcont",fcont
if (num_conti.gt.maxconts) then
write (iout,*) 'WARNING - max. # of contacts exceeded;',&
- ' will skip next contacts for this conf.'
+ ' will skip next contacts for this conf.',maxconts
else
jcont_hb(num_conti,i)=j
!c write (iout,*) "num_conti",num_conti,
endif
if(.not.allocated(vbld_inv)) allocate(vbld_inv(2*nres))
do i=2,nres
+ if (molnum(i).eq.1) then
vbld(i)=vbl
vbld_inv(i)=vblinv
+
+ else
+ vbld(i)=7.0
+ vbld_inv(i)=1.0/7.0
+ endif
enddo
do i=2,nres-1
+ if (molnum(i).eq.1) then
! print *, "molnum",molnum(i),itype(i,molnum(i)),nres,i
vbld(i+nres)=dsc(iabs(itype(i,molnum(i))))
vbld_inv(i+nres)=dsc_inv(iabs(itype(i,molnum(i))))
+ else
+ vbld(i+nres)=vbldsc0_nucl(1,iabs(itype(i,molnum(i))))
+ vbld_inv(i+nres)=1.0/vbldsc0_nucl(1,iabs(itype(i,molnum(i))))
+ endif
! write (iout,*) "i",i," itype",itype(i,1),
! & " dsc",dsc(itype(i,1))," vbld",vbld(i),vbld(i+nres)
enddo