!*********************************************************************** ! ! SUBROUTINE reset_pos ! ! !*********************************************************************** ! ! ! Subroutine to reset bodies in a box so that it contains all bodies. ! !======================================================================= USE fly_h implicit none ! Declaration of local variables. ! ------------------------------- INTEGER :: p,k,imult REAL(KIND=8) :: diff !======================================================================= IF(me.eq.0) write(uterm,*)"Executing Reset Pos" ! remember: rsize=Lbox DO p=1,nb_res_loc(me+1) DO k=1,ndim IF(pos(k,p).lt.rmin(k)) THEN diff=rmin(k)-pos(k,p) imult=diff/rsize+1 IF(imult.gt.1) write(uterm,*)'WARNING - RP: pos(',k,',',p+idisp,') =',pos(k,p) pos(k,p)=pos(k,p)+rsize*imult ENDIF IF(pos(k,p).ge.rmin(k)+rsize) THEN diff=pos(k,p)-rmin(k) imult=diff/rsize IF(imult.gt.1) write(uterm,*)'WARNING + RP: pos(',k,',',p+idisp,') =',pos(k,p) pos(k,p)=pos(k,p)-rsize*imult ENDIF END DO END DO RETURN END