X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M%2FMREMD.F;h=5b0fc354f2a94b9ee56e03da9cfbd28e6a06a711;hb=cc8bbed784599574de0b4dc917e99ff438a6c6d5;hp=d9ddba2bf8a0f1b6c78fe26b3d6f44d297c262f8;hpb=a1bbedcfb50a59f5ae082fe9016af63119b205cc;p=unres.git diff --git a/source/unres/src_MD-M/MREMD.F b/source/unres/src_MD-M/MREMD.F index d9ddba2..5b0fc35 100644 --- a/source/unres/src_MD-M/MREMD.F +++ b/source/unres/src_MD-M/MREMD.F @@ -527,6 +527,7 @@ c Variable time step algorithm. enddo C print *,'przed returnbox' call returnbox +C call enerprint(remd_ene(0,i)) do i=1,nres*2 do j=1,3 c_cache(j,i,ntwx_cache)=c(j,i) @@ -832,7 +833,7 @@ c & remd_t_bath(iex) call rescale_weights(remd_t_bath(iex)) c write (iout,*) "0,i",remd_t_bath(iex) -c call enerprint(remd_ene(0,i)) + call enerprint(remd_ene(0,i)) call sum_energy(remd_ene(0,i),.false.) c write (iout,*) "ene_i_iex",remd_ene(0,i) @@ -960,7 +961,7 @@ cd write(iout,*) "########",ii cd write(iout,*) "i=",i,i_temp,i_mult,i_iset,i_mset - i_dir=iran_num(1,3) + i_dir=iran_num(1,3) cd write(iout,*) "i_dir=",i_dir if(i_dir.eq.1 .and. remd_m(i_temp+1).gt.0 )then @@ -1171,7 +1172,7 @@ co & " rescaling weights with temperature",t_bath stdfp=dsqrt(2*Rb*t_bath/d_time) do i=1,ntyp stdfsc(i)=dsqrt(2*Rb*t_bath/d_time) - enddo + enddo cde write(iout,*) 'REMD after',me,t_bath time08=MPI_WTIME() @@ -1501,8 +1502,13 @@ c end debugging 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) @@ -1539,8 +1545,13 @@ c end debugging 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) @@ -1862,228 +1873,3 @@ c & (d_restart1(j,i+2*nres*il),j=1,3) if(me.eq.king) close(irest2) return end -c------------------------------------------ - subroutine returnbox - include 'DIMENSIONS' - include 'mpif.h' - include 'COMMON.CONTROL' - include 'COMMON.VAR' - include 'COMMON.MD' -#ifndef LANG0 - include 'COMMON.LANGEVIN' -#else - include 'COMMON.LANGEVIN.lang0' -#endif - include 'COMMON.CHAIN' - include 'COMMON.DERIV' - include 'COMMON.GEO' - include 'COMMON.LOCAL' - include 'COMMON.INTERACT' - include 'COMMON.IOUNITS' - include 'COMMON.NAMES' - include 'COMMON.TIME1' - include 'COMMON.REMD' - include 'COMMON.SETUP' - include 'COMMON.MUCA' - include 'COMMON.HAIRPIN' - j=1 - chain_beg=1 -C do i=1,nres -C write(*,*) 'initial', i,j,c(j,i) -C enddo - do i=1,nres-1 - if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then - chain_end=i - if (allareout.eq.1) then - ireturnval=int(c(j,i)/boxxsize) - if (c(j,i).le.0) ireturnval=ireturnval-1 - do k=chain_beg,chain_end - c(j,k)=c(j,k)-ireturnval*boxxsize - c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize - enddo - endif - chain_beg=i+1 - allareout=1 - else - if (int(c(j,i)/boxxsize).eq.0) allareout=0 - endif - enddo - if (allareout.eq.1) then - ireturnval=int(c(j,i)/boxxsize) - if (c(j,i).le.0) ireturnval=ireturnval-1 - do k=chain_beg,nres - c(j,k)=c(j,k)-ireturnval*boxxsize - c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize - enddo - endif -C NO JUMP -C do i=1,nres -C write(*,*) 'befor no jump', i,j,c(j,i) -C enddo - nojumpval=0 - do i=2,nres - if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then - difference=abs(c(j,i-1)-c(j,i)) -C print *,'diff', difference - if (difference.gt.boxxsize/2.0) then - if (c(j,i-1).gt.c(j,i)) then - nojumpval=1 - else - nojumpval=-1 - endif - else - nojumpval=0 - endif - endif - c(j,k)=c(j,k)+nojumpval*boxxsize - c(j,k+nres)=c(j,k+nres)+nojumpval*boxxsize - enddo - nojumpval=0 - do i=2,nres - if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then - difference=abs(c(j,i-1)-c(j,i)) - if (difference.gt.boxxsize/2.0) then - if (c(j,i-1).gt.c(j,i)) then - nojumpval=1 - else - nojumpval=-1 - endif - else - nojumpval=0 - endif - endif - c(j,k)=c(j,k)+nojumpval*boxxsize - c(j,k+nres)=c(j,k+nres)+nojumpval*boxxsize - enddo - - do i=1,nres - write(*,*) 'after no jump', i,j,c(j,i) - enddo - -C NOW Y dimension - j=2 - chain_beg=1 - do i=1,nres-1 - if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then - chain_end=i - if (allareout.eq.1) then - ireturnval=int(c(j,i)/boxysize) - if (c(j,i).le.0) ireturnval=ireturnval-1 - do k=chain_beg,chain_end - c(j,k)=c(j,k)-ireturnval*boxysize - c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize - enddo - endif - chain_beg=i+1 - allareout=1 - else - if (int(c(j,i)/boxysize).eq.0) allareout=0 - endif - enddo - if (allareout.eq.1) then - ireturnval=int(c(j,i)/boxysize) - if (c(j,i).le.0) ireturnval=ireturnval-1 - do k=chain_beg,nres - c(j,k)=c(j,k)-ireturnval*boxysize - c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize - enddo - endif - nojumpval=0 - do i=2,nres - if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then - difference=abs(c(j,i-1)-c(j,i)) - if (difference.gt.boxysize/2.0) then - if (c(j,i-1).gt.c(j,i)) then - nojumpval=1 - else - nojumpval=-1 - endif - else - nojumpval=0 - endif - endif - c(j,k)=c(j,k)+nojumpval*boxysize - c(j,k+nres)=c(j,k+nres)+nojumpval*boxysize - enddo - nojumpval=0 - do i=2,nres - if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then - difference=abs(c(j,i-1)-c(j,i)) - if (difference.gt.boxysize/2.0) then - if (c(j,i-1).gt.c(j,i)) then - nojumpval=1 - else - nojumpval=-1 - endif - else - nojumpval=0 - endif - endif - c(j,k)=c(j,k)+nojumpval*boxysize - c(j,k+nres)=c(j,k+nres)+nojumpval*boxysize - enddo - - j=3 - chain_beg=1 - do i=1,nres-1 - if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then - chain_end=i - if (allareout.eq.1) then - ireturnval=int(c(j,i)/boxysize) - if (c(j,i).le.0) ireturnval=ireturnval-1 - do k=chain_beg,chain_end - c(j,k)=c(j,k)-ireturnval*boxzsize - c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize - enddo - endif - chain_beg=i+1 - allareout=1 - else - if (int(c(j,i)/boxzsize).eq.0) allareout=0 - endif - enddo - if (allareout.eq.1) then - ireturnval=int(c(j,i)/boxzsize) - if (c(j,i).le.0) ireturnval=ireturnval-1 - do k=chain_beg,nres - c(j,k)=c(j,k)-ireturnval*boxzsize - c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize - enddo - endif - nojumpval=0 - do i=2,nres - if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then - difference=abs(c(j,i-1)-c(j,i)) - if (difference.gt.(boxzsize/2.0)) then - if (c(j,i-1).gt.c(j,i)) then - nojumpval=1 - else - nojumpval=-1 - endif - else - nojumpval=0 - endif - endif - c(j,k)=c(j,k)+nojumpval*boxzsize - c(j,k+nres)=c(j,k+nres)+nojumpval*boxzsize - enddo - nojumpval=0 - do i=2,nres - if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then - difference=abs(c(j,i-1)-c(j,i)) - if (difference.gt.boxzsize/2.0) then - if (c(j,i-1).gt.c(j,i)) then - nojumpval=1 - else - nojumpval=-1 - endif - else - nojumpval=0 - endif - endif - c(j,k)=c(j,k)+nojumpval*boxzsize - c(j,k+nres)=c(j,k+nres)+nojumpval*boxzsize - enddo - - return - end