X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?p=unres.git;a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M%2Freadrtns_CSA.F;h=fa4c75a929948470ce7aff390d0f50f6e37c0387;hp=d0c10c759cdb4757057eaf1e8a9e876f23bf94e6;hb=6f352fb19a065386a573d715b09235bbdcfdd744;hpb=661698da20bbce5a332222e67a7bb4c67df3ce6c diff --git a/source/unres/src_MD-M/readrtns_CSA.F b/source/unres/src_MD-M/readrtns_CSA.F index d0c10c7..fa4c75a 100644 --- a/source/unres/src_MD-M/readrtns_CSA.F +++ b/source/unres/src_MD-M/readrtns_CSA.F @@ -147,6 +147,8 @@ C constrains on theta angles WITH_THETA_CONSTR is the keyword print *,'AFMlog',AFMlog,selfguide,"KUPA" call readi(controlcard,'TUBEMOD',tubelog,0) write (iout,*) TUBElog,"TUBEMODE" + call readi(controlcard,'GENCONSTR',genconstr,0) +C write (iout,*) TUBElog,"TUBEMODE" call readi(controlcard,'IPRINT',iprint,0) C SHIELD keyword sets if the shielding effect of side-chains is used C 0 denots no shielding is used all peptide are equally despite the @@ -789,12 +791,12 @@ C 12/1/95 Added weight for the multi-body term WCORR if (dyn_ss) then ss_depth=ebr/wsc-0.25*eps(1,1) Ht=Ht/wsc-0.25*eps(1,1) - akcm=akcm*wstrain/wsc - akth=akth*wstrain/wsc - akct=akct*wstrain/wsc - v1ss=v1ss*wstrain/wsc - v2ss=v2ss*wstrain/wsc - v3ss=v3ss*wstrain/wsc + akcm=akcm/wsc + akth=akth/wsc + akct=akct/wsc + v1ss=v1ss/wsc + v2ss=v2ss/wsc + v3ss=v3ss/wsc else if (wstrain.ne.0.0) then ss_depth=ebr/wstrain-0.25*eps(1,1)*wsc/wstrain @@ -1527,6 +1529,31 @@ cd print *,'gen_dist_constr: nnt=',nnt,' nct=',nct cd write (2,*) 'gen_dist_constr: nnt=',nnt,' nct=',nct, cd & ' nstart_sup',nstart_sup,' nstart_seq',nstart_seq, cd & ' nsup',nsup + if (constr_dist.eq.11) then + do i=nstart_sup,nstart_sup+nsup-1 + do j=i+2,nstart_sup+nsup-1 + distance=dist(i,j) + if (distance.le.15.0) then + nhpb=nhpb+1 + ihpb(nhpb)=i+nstart_seq-nstart_sup + jhpb(nhpb)=j+nstart_seq-nstart_sup + forcon(nhpb)=sqrt(0.04*distance) + fordepth(nhpb)=sqrt(40.0/distance) + dhpb(nhpb)=distance-0.1d0 + dhpb1(nhpb)=distance+0.1d0 + +#ifdef MPI + if (.not.out1file .or. me.eq.king) + & write (iout,'(a,3i5,f8.2,f10.2)') "+dist.constr ", + & nhpb,ihpb(nhpb),jhpb(nhpb),dhpb(nhpb),forcon(nhpb) +#else + write (iout,'(a,3i5,f8.2,f10.2)') "+dist.constr ", + & nhpb,ihpb(nhpb),jhpb(nhpb),dhpb(nhpb),forcon(nhpb) +#endif + endif + enddo + enddo + else do i=nstart_sup,nstart_sup+nsup-1 cd write (2,*) 'i',i,' seq ',restyp(itype(i+nstart_seq-nstart_sup)), cd & ' seq_pdb', restyp(itype_pdb(i)) @@ -1537,7 +1564,8 @@ cd & ' seq_pdb', restyp(itype_pdb(i)) forcon(nhpb)=weidis dhpb(nhpb)=dist(i,j) enddo - enddo + enddo + endif cd write (iout,'(a)') 'Distance constraints:' cd do i=nss+1,nhpb cd ii=ihpb(i) @@ -2456,6 +2484,10 @@ c------------------------------------------------------------------------------- write (iout,*) "Calling read_dist_constr" c write (iout,*) "nres",nres," nstart_sup",nstart_sup," nsup",nsup c call flush(iout) + if ((genconstr.gt.0).and.(constr_dist.eq.11)) then + call gen_dist_constr + go to 1712 + endif call card_concat(controlcard) call readi(controlcard,"NFRAG",nfrag_,0) call readi(controlcard,"NPAIR",npair_,0) @@ -2581,6 +2613,7 @@ C dhpb(nhpb)=dist(ihpb(nhpb),jhpb(nhpb)) #endif enddo + 1712 continue call flush(iout) return end