!     THIS SUBROUTINE SETS THE SYSTEM FOR QUENCHING
!     MSE 6270, Leonid Zhigilei

      SUBROUTINE SetQuench(S)
      INCLUDE 'common.h'
      INTEGER S

!     Stop the movement
      DO J=1,NAN3
        Q1(J)=0.0d0
        Q2(J)=0.0d0
        Q3(J)=0.0d0
        Q4(J)=0.0d0
        Q5(J)=0.0d0
      ENDDO

!     It is convenient for further analysis to have particles
!     ordered in some way
      CALL Reorder()
      TIME=0.0d0

      IF(S.EQ.0) THEN
!       Geometrical center of the computational cell
        XMAX=-1.d6
        YMAX=-1.d6
        ZMAX=-1.d6
        XMIN=1.d6
        YMIN=1.d6
        ZMIN=1.d6
        DO 1 I=1,NAN
          XMAX=DMAX1(XMAX,XD(1,I))
          YMAX=DMAX1(YMAX,XD(2,I))
          ZMAX=DMAX1(ZMAX,XD(3,I))
          XMIN=DMIN1(XMIN,XD(1,I))
          YMIN=DMIN1(YMIN,XD(2,I))
 1        ZMIN=DMIN1(ZMIN,XD(3,I))
        XCENTR1=XMIN+(XMAX-XMIN)/2.0d0
        YCENTR1=YMIN+(YMAX-YMIN)/2.0d0
        ZCENTR1=ZMIN+(ZMAX-ZMIN)/2.0d0
	if(XCENTR1.NE.XCENTR) write(* ,*) 'XCENTR is moved from ', &
          XCENTR,' to ',XCENTR1
	if(YCENTR1.NE.YCENTR) write(* ,*) 'YCENTR is moved from ', &
          YCENTR,' to ',YCENTR1
	if(ZCENTR1.NE.ZCENTR) write(* ,*) 'ZCENTR is moved from ', &
          ZCENTR,' to ',ZCENTR1
        XCENTR=XCENTR1
        YCENTR=YCENTR1
        ZCENTR=ZCENTR1
      ENDIF

      RETURN
      END


