X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD%2Freadrtns.F;h=93ed3a46f28a372862f86cdbfb41d572ac4c1767;hb=3e42b5f53e0ec03cd03009f3b857931ce7ee25c2;hp=b51386c5c5c083bcbbbd37675003613cc902a10c;hpb=175f9b9db89039e8aaea547c80e7fcb8ab979803;p=unres.git diff --git a/source/unres/src_MD/readrtns.F b/source/unres/src_MD/readrtns.F index b51386c..93ed3a4 100644 --- a/source/unres/src_MD/readrtns.F +++ b/source/unres/src_MD/readrtns.F @@ -150,6 +150,7 @@ C Set up the time limit (caution! The time must be input in minutes!) modecalc=1 refstr=.true. endif + call reada(controlcard,"CHECKGRAD_INC",checkgrad_inc,1.0d-4) if (index(controlcard,'CHECKGRAD').gt.0) then modecalc=5 if (index(controlcard,'CART').gt.0) then @@ -2681,8 +2682,14 @@ c write (iout,*) "j",j," k",k 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 @@ -2697,8 +2704,14 @@ c write (iout,*) "j",j," k",k if (.not.out1file .or. me.eq.king) then #endif 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) #ifdef MPI @@ -2739,6 +2752,7 @@ c & sigma_odl_temp(maxres,maxres,max_template) logical lprn /.true./ integer ilen external ilen + logical liiflag c c FP - Nov. 2014 Temporary specifications for new vars c @@ -3051,22 +3065,34 @@ c shift data in all arrays c if (waga_dist.ne.0.0d0) then ii=0 + liiflag=.true. do i=nnt,nct-2 do j=i+2,nct ii=ii+1 - if (ii_in_use(ii).eq.0) then - do ki=ii,lim_odl-1 - ires_homo(ki)=ires_homo(ki+1) - jres_homo(ki)=jres_homo(ki+1) - ii_in_use(ki)=ii_in_use(ki+1) + if (ii_in_use(ii).eq.0.and.liiflag) then + liiflag=.false. + iistart=ii + endif + 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) + jres_homo(ki)=jres_homo(ki+iishift) + ii_in_use(ki)=ii_in_use(ki+iishift) do k=1,constr_homology - odl(k,ki)=odl(k,ki+1) - sigma_odl(k,ki)=sigma_odl(k,ki+1) - l_homo(k,ki)=l_homo(k,ki+1) + odl(k,ki)=odl(k,ki+iishift) + sigma_odl(k,ki)=sigma_odl(k,ki+iishift) + l_homo(k,ki)=l_homo(k,ki+iishift) enddo enddo - ii=ii-1 - lim_odl=lim_odl-1 + ii=ii-iishift + lim_odl=lim_odl-iishift endif enddo enddo