X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?p=unres.git;a=blobdiff_plain;f=source%2Fcluster%2Fwham%2Fsrc-M%2Fprobabl.F;fp=source%2Fcluster%2Fwham%2Fsrc-M%2Fprobabl.F;h=d563dafe2975ea7f236f3fae1db88b2a24c19b55;hp=293fb8fb2c10320a3470aafa95c2ba6f373776e2;hb=9453fc761eb545fcb727824c94d012dbf3931951;hpb=6f521277aa2a382d409f5189957283b0998b0d07 diff --git a/source/cluster/wham/src-M/probabl.F b/source/cluster/wham/src-M/probabl.F index 293fb8f..d563daf 100644 --- a/source/cluster/wham/src-M/probabl.F +++ b/source/cluster/wham/src-M/probabl.F @@ -29,8 +29,9 @@ character*5 ctemper integer ilen external ilen - real*4 Fdimless(maxconf) + real*4 Fdimless(maxconf),Fdimless_(maxconf) double precision energia(0:max_ene) + double precision totfree_(maxconf),entfac_(maxconf) do i=1,ncon list_conf(i)=i enddo @@ -139,7 +140,7 @@ c write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct) c call enerprint(energia(0),fT) c call pdbout(totfree(i),16,i) #ifdef DEBUG - write (iout,*) i," energia",(energia(j),j=0,19) + write (iout,*) i," energia",(energia(j),j=0,max_ene) write (iout,*) "etot", etot write (iout,*) "ft(6)", ft(6) #endif @@ -179,6 +180,7 @@ c write (iout,*) evdw estr=enetb(18,i) esccor=enetb(19,i) edihcnstr=enetb(20,i) + evdw_t=enetb(21,i) c#ifdef SPLITELE c etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2+ c &ft(1)*welec*ees+wvdwpp*evdw1 @@ -207,8 +209,13 @@ c#endif write (iout,*) "evdw1", wvdwpp,evdw1 write (iout,*) "ebe" ebe,wang #endif +#ifdef MPI + Fdimless_(i)=beta_h(ib)*etot+entfac(ii) + totfree_(i)=etot +#else Fdimless(i)=beta_h(ib)*etot+entfac(ii) totfree(i)=etot +#endif #ifdef DEBUG write (iout,*) "fdim calc", i,ii,ib, & 1.0d0/(1.987d-3*beta_h(ib)),totfree(i), @@ -216,19 +223,22 @@ c#endif #endif enddo ! i #ifdef MPI - call MPI_Gatherv(Fdimless(1),scount(me), + call MPI_Gatherv(Fdimless_(1),scount(me), & MPI_REAL,Fdimless(1), & scount(0),idispl(0),MPI_REAL,Master, & MPI_COMM_WORLD, IERROR) - call MPI_Gatherv(totfree(1),scount(me), + call MPI_Gatherv(totfree_(1),scount(me), & MPI_DOUBLE_PRECISION,totfree(1), & scount(0),idispl(0),MPI_DOUBLE_PRECISION,Master, & MPI_COMM_WORLD, IERROR) call MPI_Gatherv(entfac(indstart(me)+1),scount(me), - & MPI_DOUBLE_PRECISION,entfac(1), + & MPI_DOUBLE_PRECISION,entfac_(1), & scount(0),idispl(0),MPI_DOUBLE_PRECISION,Master, & MPI_COMM_WORLD, IERROR) if (me.eq.Master) then + do i=1,ncon + entfac(i)=entfac_(i) + enddo #endif #ifdef DEBUG write (iout,*) "The FDIMLESS array before sorting"