integer ifrag_(2,100),ipair_(2,100)
double precision wfrag_(100),wpair_(100)
character*500 controlcard
-c write (iout,*) "Calling read_dist_constr"
+ write (iout,*) "Calling read_dist_constr",constr_dist
c write (iout,*) "nres",nres," nstart_sup",nstart_sup," nsup",nsup
c call flush(iout)
call card_concat(controlcard,.true.)
endif
enddo
do i=1,ndist_
+ if (constr_dist.eq.11) then
+ read (inp,*) ihpb(nhpb+1),jhpb(nhpb+1),dhpb(i),dhpb1(i),
+ & ibecarb(i),forcon(nhpb+1),fordepth(nhpb+1)
+ fordepth(nhpb+1)=fordepth(nhpb+1)/forcon(nhpb+1)
+ else
read (inp,*) ihpb(nhpb+1),jhpb(nhpb+1),dhpb(i),dhpb1(i),
& ibecarb(i),forcon(nhpb+1)
+ endif
if (forcon(nhpb+1).gt.0.0d0) then
nhpb=nhpb+1
if (ibecarb(i).gt.0) then
endif
enddo
do i=1,nhpb
+ if (constr_dist.eq.11) then
+ write (iout,'(a,3i5,2f8.2,i2,2f10.1)') "+dist.constr11 ",
+ & i,ihpb(i),jhpb(i),dhpb(i),dhpb1(i),ibecarb(i),forcon(i),
+ & fordepth(i)
+ else
write (iout,'(a,3i5,2f8.2,i2,f10.1)') "+dist.constr ",
& i,ihpb(i),jhpb(i),dhpb(i),dhpb1(i),ibecarb(i),forcon(i)
+ endif
enddo
call flush(iout)
return
call reada(controlcard,"HOMOL_SCD",waga_d,1.0d0) ! new
call reada(controlcard,'DIST_CUT',dist_cut,5.0d0) ! for diff ways of calc sigma
call reada(controlcard,'DIST2_CUT',dist2_cut,9999.0d0)
- call readi(controlcard,"HOMOL_SET",homol_nset,1)
+ call readi(controlcard,"HOMOL_NSET",homol_nset,1)
read2sigma=(index(controlcard,'READ2SIGMA').gt.0)
call readi(controlcard,"IHSET",ihset,1)
if (homol_nset.gt.1)then
liiflag=.false.
iistart=ii
endif
- if (ii_in_use(ii).ne.0.and..not.liiflag) then
- iishift=ii-iistart
+ if (ii_in_use(ii).ne.0.and..not.liiflag.or.
+ & .not.liiflag.and.ii.eq.lim_odl) then
+ if (ii.eq.lim_odl) then
+ iishift=ii-iistart+1
+ else
+ iishift=ii-iistart
+ endif
liiflag=.true.
do ki=iistart,lim_odl-iishift
ires_homo(ki)=ires_homo(ki+iishift)