./compinfo
${FC} -c ${FFLAGS} cinfo.f
$(FC) ${OPT} ${objects} ${objects_compar} cinfo.o \
- ${LIBS} -static-intel -o ${BIN}/wham_ifort_MPICH-restr-DFA_E0LL2Y.exe
+ ${LIBS} -static-intel -o ${BIN}/wham_ifort_MPICH-restr-DFA_E0LL2Y-test.exe
xdrf/libxdrf.a:
cd xdrf && make
include 'DIMENSIONS.FREE'
integer MaxTraj
parameter (MaxTraj=2050)
+ include 'COMMON.CONTROL'
include 'COMMON.CHAIN'
include 'COMMON.INTERACT'
include 'COMMON.NAMES'
endif
enddo
call xdrfint_(ixdrf, nprop, iret)
- if (umbrella(iparm) .or. read_iset(iparm) .or. hamil_rep)
+ if (umbrella(iparm) .or. homol_nset.gt.1 .or. read_iset(iparm)
+ & .or. hamil_rep)
& call xdrfint(ixdrf, iset, iret)
do i=1,nprop
call xdrffloat_(ixdrf, rprop(i), iret)
nprop_prev=nprop
endif
call flush(iout)
- if (umbrella(iparm) .or. read_iset(iparm) .or. hamil_rep)
+ if (umbrella(iparm) .or. homol_nset.gt.1 .or. read_iset(iparm)
+ & .or. hamil_rep)
& call xdrfint(ixdrf, iset, iret)
do i=1,nprop
call xdrffloat(ixdrf, rprop(i), iret)
c & bprotfile_temp(:ilen(bprotfile_temp))
islice1=islice
endif
- if (umbrella(iparm)) then
+ if (umbrella(iparm) .or. homol_nset.gt.1) then
write(ientout,rec=ll(islice))
& ((xoord(l,k),l=1,3),k=1,nres),
& ((xoord(l,k),l=1,3),k=nres+1,nres+nct-nnt+1),
& iR,iib,iparm
endif
#ifdef DEBUG
+ write (iout,*) " constr_homology",constr_homology,
+ & " ll",ll(islice)," iset",iset
call int_from_cart1(.false.)
write (iout,*) "Writing conformation, record",ll(islice)
write (iout,*) "Cartesian coordinates"
& ((csingle(l,k+nres),l=1,3),k=nnt,nct),
& nss,(ihpb(k),jhpb(k),k=1,nss),
& eini,efree,rmsdev,(q(j,iii+1),j=1,nQ),iR,ib,ipar
+#ifdef DEBUG
+ write (iout,*) "homol_nset",homol_nset,
+ & " i",i," iR",iR," ib",ib," iset",iset
+#endif
+ if (homol_nset.gt.1) iset=iR
+#ifdef DEBUG
+ write (iout,*) "homol_nset",homol_nset,
+ & " i",i," iR",iR," ib",ib," iset",iset
+#endif
cc write(iout,*), 'NAWEJ',i,eini
if (indpdb.gt.0) then
do k=1,nres
& wtor_d,wsccor,wbond
#endif
call etotal(energia(0),fT)
+ if (constr_homology) energia(0)=energia(0)+
+ & waga_homology(iset)*energia(22)
#ifdef DEBUG
write (iout,*) "Conformation",i
call enerprint(energia(0),fT)
& +wcorr6*fact(5)*ecorr6+wturn4*fact(3)*eello_turn4
& +wturn3*fact(2)*eello_turn3+wturn6*fact(5)*eturn6
& +wel_loc*fact(2)*eel_loc+edihcnstr+wtor_d*fact(2)*etors_d
- & +wbond*estr+wsccor*fact(1)*esccor+ehomology_constr
+ & +wbond*estr+wsccor*fact(1)*esccor!+ehomology_constr
& +wdfa_dist*edfadis+wdfa_tor*edfator+wdfa_nei*edfanei
& +wdfa_beta*edfabet
#else
& +wcorr6*fact(5)*ecorr6+wturn4*fact(3)*eello_turn4
& +wturn3*fact(2)*eello_turn3+wturn6*fact(5)*eturn6
& +wel_loc*fact(2)*eel_loc+edihcnstr+wtor_d*fact(2)*etors_d
- & +wbond*estr+wsccor*fact(1)*esccor+ehomology_constr
+ & +wbond*estr+wsccor*fact(1)*esccor!+ehomology_constr
& +wdfa_dist*edfadis+wdfa_tor*edfator+wdfa_nei*edfanei
& +wdfa_beta*edfabet
#endif
c
c For Gaussian-type Urestr
c
- ehomology_constr=(waga_dist*odleg+waga_angle*kat+
- & waga_theta*Eval+waga_d*Erot)*waga_homology(iset)
+c ehomology_constr=(waga_dist*odleg+waga_angle*kat+
+c & waga_theta*Eval+waga_d*Erot)*waga_homology(iset)
+ ehomology_constr=waga_dist*odleg+waga_angle*kat+
+ & waga_theta*Eval+waga_d*Erot
c write (iout,*) "ehomology_constr=",ehomology_constr
else
c
c For Lorentzian-type Urestr
c
- ehomology_constr=(-waga_dist*odleg+waga_angle*kat+
- & waga_theta*Eval+waga_d*Erot)*waga_homology(iset)
+c ehomology_constr=(-waga_dist*odleg+waga_angle*kat+
+c & waga_theta*Eval+waga_d*Erot)*waga_homology(iset)
+ ehomology_constr=-waga_dist*odleg+waga_angle*kat+
+ & waga_theta*Eval+waga_d*Erot
c write (iout,*) "ehomology_constr=",ehomology_constr
endif
#ifdef DEBUG
endif
replica(iparm)=index(controlcard,"REPLICA").gt.0
umbrella(iparm)=index(controlcard,"UMBRELLA").gt.0
+ if (umbrella(iparm) .and. homol_nset.gt.1) then
+ umbrella(iparm) = .false.
+ write (iout,*)
+ & "Replica in homology restraints weights UMBRELLA ignored,",iparm
+ endif
read_iset(iparm)=index(controlcard,"READ_ISET").gt.0
write (iout,*) "nQ",nQ," nT",nT_h(iparm)," replica ",
& replica(iparm)," umbrella ",umbrella(iparm),
& +ft(2)*wturn3*eello_turn3
& +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
& +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
- & +wbond*estr+ehomology_constr+wdfa_dist*edfadis
+ & +wbond*estr+wdfa_dist*edfadis
& +wdfa_tor*edfator+wdfa_nei*edfanei+wdfa_beta*edfabet
#else
etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2
& +ft(2)*wturn3*eello_turn3
& +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
& +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
- & +wbond*estr+ehomology_constr+wdfa_dist*edfadis
+ & +wbond*estr+wdfa_dist*edfadis
& +wdfa_tor*edfator+wdfa_nei*edfanei+wdfa_beta*edfabet
#endif
#ifdef DEBUG
call enerprint(energia(0),fT)
endif
#endif
+ if (homol_nset.le.1) then
+
+ do kk=1,nR(ib,iparm)
+ Econstr=waga_homology(kk)*ehomology_constr
+ v(i,kk,ib,iparm)=
+ & -beta_h(ib,iparm)*(etot+Econstr)
+#ifdef DEBUG
+ write (iout,'(4i5,4e15.5)') i,kk,ib,iparm,
+ & etot,v(i,kk,ib,iparm)
+#endif
+ enddo ! kk
+
+ else
+
+ etot=etot+ehomology_constr
do kk=1,nR(ib,iparm)
Econstr=0.0d0
do j=1,nQ
& etot,v(i,kk,ib,iparm)
#endif
enddo ! kk
+
+ endif
enddo ! ib
enddo ! iparm
enddo ! i