X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Fwham%2Fenecalc.F90;h=d0bd838d476a32a808cd7436bc6a54fc9261289b;hb=bc23440fbe68672d430f71f22f46b11265f003db;hp=c6988831cf5af1cd4cf0b180ca45995c135145c4;hpb=c27f7da3393f9e3a5b9d46fba0bbd520490a9fcc;p=unres4.git diff --git a/source/wham/enecalc.F90 b/source/wham/enecalc.F90 index c698883..d0bd838 100644 --- a/source/wham/enecalc.F90 +++ b/source/wham/enecalc.F90 @@ -405,7 +405,7 @@ write(iout,*)"enecalc_ i ntot",i,ntot endif endif potE(iii+1,iparm)=energia(0) - do k=1,49 + do k=1,50 enetb(k,iii+1,iparm)=energia(k) enddo ! write (iout,'(2i5,21f8.2)') "debug",k,iii+1,(enetb(k,iii+1,iparm),k=1,21) @@ -1231,7 +1231,7 @@ write(iout,*)"end of store_parm" eello_turn6,eel_loc,edihcnstr,etors_d,estr,evdw2_14,esccor,tt, & ecation_prot, ecationcation,evdwpp,eespp,evdwpsb,eelpsb,evdwsb, & eelsb,estr_nucl,ebe_nucl,esbloc,etors_nucl,etors_d_nucl,& - ecorr_nucl,ecorr3_nucl,escbase, epepbase,escpho, epeppho + ecorr_nucl,ecorr3_nucl,escbase, epepbase,escpho, epeppho,ecation_nucl integer :: i,ii,ik,iproc,iscor,j,k,l,ib,iparm,iprot,nlist real(kind=8) :: qfree,sumprob,eini,efree,rmsdev @@ -1246,7 +1246,7 @@ write(iout,*)"end of store_parm" integer :: iperm(MaxStr) integer :: islice integer,dimension(0:nprocs) :: scount_ - + write(iout,*) "Begin make ensemble" #ifdef MPI if (me.eq.Master) then #endif @@ -1271,14 +1271,15 @@ write(iout,*)"end of store_parm" form="unformatted",access="direct",recl=lenrec1) #ifdef MPI endif -#endif +#endif + write(iout,*) "iparmprint",iparmprint,iparm do iparm=1,iparm if (iparm.ne.iparmprint) exit call restore_parm(iparm) do ib=1,nT_h(iparm) -#ifdef DEBUG +!#ifdef DEBUG write (iout,*) "iparm",iparm," ib",ib -#endif +!#endif temper=1.0d0/(beta_h(ib,iparm)*1.987D-3) ! quot=1.0d0/(T0*beta_h(ib,iparm)*1.987D-3) ! quotl=1.0d0 @@ -1400,6 +1401,7 @@ write(iout,*)"end of store_parm" escpho= enetb(48,i,iparm) epepbase= enetb(47,i,iparm) escbase= enetb(46,i,iparm) + ecation_nucl=enetb(50,i,iparm) ! wscbase=ww(46) ! wpepbase=ww(47) ! wscpho=ww(48) @@ -1431,7 +1433,7 @@ write(iout,*)"end of store_parm" etot=wsc*evdw+wscp*evdw2+welec*ees & +wvdwpp*evdw1 & +wang*ebe+wtor*etors+wscloc*escloc & - +wstrain*ehpb+nss*ebr+wcorr*ecorr+wcorr5*ecorr5 & + +wstrain*ehpb+wcorr*ecorr+wcorr5*ecorr5 & +wcorr6*ecorr6+wturn4*eello_turn4 & +wturn3*eello_turn3 & +wturn6*eello_turn6+wel_loc*eel_loc & @@ -1442,13 +1444,14 @@ write(iout,*)"end of store_parm" +wvdwsb*evdwsb+welsb*eelsb+wsbloc*esbloc+wtor_nucl*etors_nucl& +wtor_d_nucl*etors_d_nucl+wcorr_nucl*ecorr_nucl+wcorr3_nucl*ecorr3_nucl& +wscbase*escbase& - +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho + +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho& + +wcatnucl*ecation_nucl #else etot=wsc*evdw+wscp*evdw2 & +welec*(ees+evdw1) & +wang*ebe+wtor*etors+wscloc*escloc & - +wstrain*ehpb+nss*ebr+wcorr*ecorr+wcorr5*ecorr5 & + +wstrain*ehpb+wcorr*ecorr+wcorr5*ecorr5 & +wcorr6*ecorr6+wturn4*eello_turn4 & +wturn3*eello_turn3 & +wturn6*eello_turn6+wel_loc*eel_loc+edihcnstr & @@ -1459,7 +1462,8 @@ write(iout,*)"end of store_parm" +wvdwsb*evdwsb+welsb*eelsb+wsbloc*esbloc+wtor_nucl*etors_nucl& +wtor_d_nucl*etors_d_nucl+wcorr_nucl*ecorr_nucl+wcorr3_nucl*ecorr3_nucl& +wscbase*escbase& - +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho + +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho& + +wcatnucl*ecation_nucl #endif @@ -1467,11 +1471,11 @@ write(iout,*)"end of store_parm" Fdimless(i)= & beta_h(ib,iparm)*etot-entfac(i) potE(i,iparm)=etot -#ifdef DEBUG +!#ifdef DEBUG write (iout,*) i,indstart(me)+i-1,ib,& 1.0d0/(1.987d-3*beta_h(ib,iparm)),potE(i,iparm),& -entfac(i),Fdimless(i) -#endif +!#endif #else Fdimless(i)=beta_h(ib,iparm)*etot-entfac(i) potE(i,iparm)=etot @@ -1484,6 +1488,11 @@ write(iout,*)"end of store_parm" enddo write(iout,*) "before gather Fdimless" write(iout,*) scount(me),scount_(0),idispl(0) + write (iout,*) "added update of scount_" + call MPI_AllGather( scount(me), 1, MPI_INTEGER, scount_(0), 1, & + MPI_INTEGER, WHAM_COMM, IERROR) + + call MPI_Gatherv(Fdimless_(1),scount(me),& MPI_REAL,Fdimless(1),& scount_(0),idispl(0),MPI_REAL,Master,& @@ -1500,23 +1509,23 @@ write(iout,*)"end of store_parm" WHAM_COMM, IERROR) #endif if (me.eq.Master) then -#ifdef DEBUG +!#ifdef DEBUG write (iout,*) "The FDIMLESS array before sorting" do i=1,ntot(islice) write (iout,*) i,fdimless(i) enddo -#endif +!#endif #endif do i=1,ntot(islice) iperm(i)=i enddo call mysort1(ntot(islice),Fdimless,iperm) -#ifdef DEBUG +!#ifdef DEBUG write (iout,*) "The FDIMLESS array after sorting" do i=1,ntot(islice) write (iout,*) i,iperm(i),fdimless(i) enddo -#endif +!#endif qfree=0.0d0 do i=1,ntot(islice) qfree=qfree+exp(-fdimless(i)+fdimless(1)) @@ -1526,12 +1535,12 @@ write(iout,*)"end of store_parm" sumprob=0.0 do i=1,min0(ntot(islice),ensembles) sumprob=sumprob+exp(-fdimless(i)+fdimless(1))/qfree -#ifdef DEBUG +!#ifdef DEBUG write (iout,*) i,ib,beta_h(ib,iparm),& 1.0d0/(1.987d-3*beta_h(ib,iparm)),iperm(i),& potE(iperm(i),iparm),& -entfac(iperm(i)),fdimless(i),sumprob -#endif +!#endif if (sumprob.gt.0.99d0) goto 122 nlist=nlist+1 enddo @@ -1561,10 +1570,10 @@ write(iout,*)"end of store_parm" ik=ii-indstart(iproc)+1 if (iproc.ne.Master) then if (me.eq.iproc) then -#ifdef DEBUG +!#ifdef DEBUG write (iout,*) "i",i," ii",ii," iproc",iproc," ik",ik,& " energy",potE(ik,iparm) -#endif +!#endif call MPI_Send(potE(ik,iparm),1,MPI_DOUBLE_PRECISION,& Master,i,WHAM_COMM,IERROR) else if (me.eq.Master) then @@ -1580,6 +1589,7 @@ write(iout,*)"end of store_parm" enepot(i)=potE(iperm(i),iparm) enddo #endif + write(iout,*) "DEBUG",me #ifdef MPI if (me.eq.Master) then #endif