X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD%2FMREMD.F;h=0e4045f9200165fb53b3f3aa00c7d4fb874cd8a7;hb=5e2358117d5efe154a9c192de01e50c1f84f6a43;hp=2d184b62e862c634cb66edf43e7d1f9d1a71af8a;hpb=478a9d9a1c99eb3f4bc4ca676ff3162bdd01d633;p=unres.git diff --git a/source/unres/src_MD/MREMD.F b/source/unres/src_MD/MREMD.F index 2d184b6..0e4045f 100644 --- a/source/unres/src_MD/MREMD.F +++ b/source/unres/src_MD/MREMD.F @@ -479,6 +479,10 @@ c Variable time step algorithm. stop #endif endif + if(hmc.gt.0 .and. mod(itime,hmc).eq.0) then + call statout(itime) + call hmc_test(itime) + endif if(ntwe.ne.0) then if (mod(itime,ntwe).eq.0) call statout(itime) endif @@ -778,6 +782,7 @@ ctime call flush(iout) remd_t_bath(i)=remd_ene(n_ene+1,i) iremd_iset(i)=remd_ene(n_ene+2,i) enddo +#ifdef DEBUG if(lmuca) then co write(iout,*) 'REMD exchange temp,ene,elow,ehigh' do i=1,nodes @@ -791,20 +796,27 @@ co write(iout,*) 'REMD exchange temp,ene,elow,ehigh' write(iout,'(6f12.5)') (remd_ene(j,i),j=1,n_ene) enddo endif +#endif c------------------------------------- IF(.not.usampl.and.hremd.eq.0) THEN +#ifdef DEBUG write (iout,*) "Enter exchnge, remd_m",remd_m(1), & " nodes",nodes ctime call flush(iout) write (iout,*) "remd_m(1)",remd_m(1) +#endif do irr=1,remd_m(1) i=ifirst(iran_num(1,remd_m(1))) +#ifdef DEBUG write (iout,*) "i",i +#endif ctime call flush(iout) do ii=1,nodes-1 +#ifdef DEBUG write (iout,*) "i",i," nupa(0,i)",int(nupa(0,i)) +#endif if(i.gt.0.and.nupa(0,i).gt.0) then iex=i c if (i.eq.1 .and. int(nupa(0,i)).eq.1) then @@ -1403,6 +1415,8 @@ cd end & 'MD steps:',t_MD write (iout,'(/28(1h=),a25,27(1h=))') & ' End of MD calculation ' + if(hmc.gt.0) write (iout,*) 'HMC acceptance ratio', + & n_timestep*1.0d0/hmc/hmc_acc endif return end @@ -1814,6 +1828,7 @@ ctime call flush(iout) integer*2 i_index & (maxprocs/4,maxprocs/20,maxprocs/200,maxprocs/200) common /przechowalnia/ d_restart1 + integer i2set_(0:maxprocs) write (*,*) "Processor",me," called read1restart" if(me.eq.king)then @@ -1972,13 +1987,16 @@ c & (d_restart1(j,i+2*nres*il),j=1,3) enddo endif #endif - call mpi_scatter(i2set,1,mpi_integer, - & iset,1,mpi_integer,king, - & CG_COMM,ierr) - +c Corrected AL 8/19/2014: each processor needs whole iset array not only its +c own element +c call mpi_scatter(i2set,1,mpi_integer, +c & iset,1,mpi_integer,king, +c & CG_COMM,ierr) + call mpi_bcast(i2set(0),nodes,mpi_integer,king, + & CG_COMM,ierr) + iset=i2set(me) endif - if(me.eq.king) close(irest2) return end