X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD%2FMREMD.F;h=c440bb76d07d4e9fbacb342e102e596202ccba07;hb=34d3ad3987785642be58fb2f26557d3314215577;hp=9ddb9e9aa679f2c1c05e20a68cd438087d0aacf1;hpb=a3ef63eda7d771657cc2df1d275e0a03a5cc1966;p=unres.git diff --git a/source/unres/src_MD/MREMD.F b/source/unres/src_MD/MREMD.F index 9ddb9e9..c440bb7 100644 --- a/source/unres/src_MD/MREMD.F +++ b/source/unres/src_MD/MREMD.F @@ -782,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 @@ -795,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 @@ -1696,8 +1704,13 @@ ctime call flush(iout) call xdrffloat_(ixdrf, real(t_restart1(4,il)), iret) call xdrfint_(ixdrf, nss, iret) do j=1,nss - call xdrfint_(ixdrf, ihpb(j), iret) - call xdrfint_(ixdrf, jhpb(j), iret) + if (dyn_ss) then + call xdrfint_(ixdrf, idssb(j)+nres, iret) + call xdrfint_(ixdrf, jdssb(j)+nres, iret) + else + call xdrfint_(ixdrf, ihpb(j), iret) + call xdrfint_(ixdrf, jhpb(j), iret) + endif enddo call xdrfint_(ixdrf, nfrag+npair+3*nfrag_back, iret) call xdrfint_(ixdrf, iset_restart1(il), iret) @@ -1734,8 +1747,13 @@ ctime call flush(iout) call xdrffloat(ixdrf, real(t_restart1(4,il)), iret) call xdrfint(ixdrf, nss, iret) do j=1,nss - call xdrfint(ixdrf, ihpb(j), iret) - call xdrfint(ixdrf, jhpb(j), iret) + if (dyn_ss) then + call xdrfint(ixdrf, idssb(j)+nres, iret) + call xdrfint(ixdrf, jdssb(j)+nres, iret) + else + call xdrfint(ixdrf, ihpb(j), iret) + call xdrfint(ixdrf, jhpb(j), iret) + endif enddo call xdrfint(ixdrf, nfrag+npair+3*nfrag_back, iret) call xdrfint(ixdrf, iset_restart1(il), iret) @@ -1978,9 +1996,14 @@ 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) +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