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
call int_from_cart1(.false.)
call etotal(energia(0),fT)
totfree(i)=energia(0)
-c#define DEBUG
+#define DEBUG
#ifdef DEBUG
write (iout,*) i," energia",(energia(j),j=0,20)
call enerprint(energia(0),ft)
call flush(iout)
#endif
-c#undef DEBUG
+#undef DEBUG
do k=1,max_ene
enetb(k,i)=energia(k)
enddo
& +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
& +wbond*estr
#endif
+#ifdef MPI
+ Fdimless_(i)=beta_h(ib)*etot+entfac(ii)
+ totfree_(i)=etot
+#ifdef DEBUG
+ write (iout,*) "etrop", i,ii,ib,
+ & 1.0d0/(1.987d-3*beta_h(ib)),totfree(i),
+ & entfac(ii),Fdimless_(i)
+#endif
+#else
Fdimless(i)=beta_h(ib)*etot+entfac(ii)
totfree(i)=etot
#ifdef DEBUG
-
write (iout,*) "etrop", i,ii,ib,
& 1.0d0/(1.987d-3*beta_h(ib)),totfree(i),
& entfac(ii),Fdimless(i)
#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
c#define DEBUG
#ifdef DEBUG
sumprob=0.0
do i=1,min0(ncon,maxstr_proc)-1
sumprob=sumprob+dexp(dble(-fdimless(i)+fdimless(1)))/qfree
-c#define DEBUG
#ifdef DEBUG
write (iout,*) 'i=',i,ib,beta_h(ib),
& 1.0d0/(1.987d-3*beta_h(ib)),list_conf(i),
& totfree(list_conf(i)),
& -entfac(list_conf(i)),fdimless(i),sumprob
#endif
-c#undef DEBUG
if (sumprob.gt.prob_limit) goto 122
c if (sumprob.gt.1.00d0) goto 122
nlist=nlist+1