hdiff output

r31391/mc_gbh.F90 2017-01-21 10:35:35.230250000 +0000 r31390/mc_gbh.F90 2017-01-21 10:35:35.466250000 +0000
348:      RALL(I) = DSQRT(R)348:      RALL(I) = DSQRT(R)
349:      IF(RMAX < RALL(I)) RMAX = RALL(I)349:      IF(RMAX < RALL(I)) RMAX = RALL(I)
350:   ENDDO350:   ENDDO
351:   !351:   !
352:   R=(DPRAND()-0.5D0)*2.0D0 ! 50% chance of no angular move352:   R=(DPRAND()-0.5D0)*2.0D0 ! 50% chance of no angular move
353:   RMIN = RMAX - R*ASTEP(1)353:   RMIN = RMAX - R*ASTEP(1)
354:   N1=0; N2=0354:   N1=0; N2=0
355:   !355:   !
356:   DO I=1,N356:   DO I=1,N
357:      J=DIM*(I-1)357:      J=DIM*(I-1)
358:      THETA = ACOS(2*DPRAND()-1) !THETA = DPRAND()*PI 
359:      PHI = DPRAND()*TWOPI 
360:      IF(RESET) THEN ! Reset to random coordinates358:      IF(RESET) THEN ! Reset to random coordinates
361:         !        359:         !        
 360:         THETA = ACOS(2*DPRAND()-1) !THETA = DPRAND()*PI
 361:         PHI = DPRAND()*TWOPI
362:         R=RMAX*DPRAND()**(1.0D0/3.0D0) !R = DPRAND()*RMAX362:         R=RMAX*DPRAND()**(1.0D0/3.0D0) !R = DPRAND()*RMAX
363:         X(J+1) = CNTR(1) + R*DSIN(THETA)*DCOS(PHI)363:         X(J+1) = CNTR(1) + R*DSIN(THETA)*DCOS(PHI)
364:         X(J+2) = CNTR(2) + R*DSIN(THETA)*DSIN(PHI)364:         X(J+2) = CNTR(2) + R*DSIN(THETA)*DSIN(PHI)
365:         IF(DIM>2) X(J+3) = CNTR(3) + R*DCOS(THETA)365:         IF(DIM>2) X(J+3) = CNTR(3) + R*DCOS(THETA)
366:         !366:         !
367:      ELSEIF(RALL(I) > RMIN) THEN ! Surface angular move367:      ELSEIF(RALL(I) > RMIN) THEN ! Surface angular move
368:         !368:         !
 369:         THETA = ACOS(2*DPRAND()-1) !THETA = DPRAND()*PI
 370:         PHI = DPRAND()*TWOPI
369:         X(J+1) = CNTR(1) + RMAX*DSIN(THETA)*DCOS(PHI)371:         X(J+1) = CNTR(1) + RMAX*DSIN(THETA)*DCOS(PHI)
370:         X(J+2) = CNTR(2) + RMAX*DSIN(THETA)*DSIN(PHI)372:         X(J+2) = CNTR(2) + RMAX*DSIN(THETA)*DSIN(PHI)
371:         IF(DIM>2) X(J+3) = CNTR(3) + RMAX*DCOS(THETA)373:         IF(DIM>2) X(J+3) = CNTR(3) + RMAX*DCOS(THETA)
372:         N2=N2+1374:         N2=N2+1
373:         !375:         !
374:      ELSE ! Interior shake move376:      ELSE ! Interior shake move
375:         !377:         !
376:         R=STEP(1)*DPRAND()**(1.0D0/3.0D0) !R = DPRAND()*RMAX378:         DO K=1,DIM
377:         X(J+1) = X(J+1) + R*DSIN(THETA)*DCOS(PHI)379:            R=(DPRAND()-0.5D0)*2.0D0
378:         X(J+2) = X(J+2) + R*DSIN(THETA)*DSIN(PHI)380:            X(J+K)=X(J+K) + STEP(1)*R
379:         IF(DIM>2) X(J+3) = X(J+3) + R*DCOS(THETA)381:         ENDDO
380:         ! 
381:         ! old way: 
382:         !DO K=1,DIM 
383:            !R=(DPRAND()-0.5D0)*2.0D0 
384:            !X(J+K)=X(J+K) + STEP(1)*R 
385:         !ENDDO 
386:         N1=N1+1382:         N1=N1+1
387:         !383:         !
388:      ENDIF384:      ENDIF
389:   ENDDO385:   ENDDO
390:   !386:   !
391:   IF(RESET) THEN387:   IF(RESET) THEN
392:      WRITE(MYUNIT,'(A)') 'mc_gbh> Configuration reset!'388:      WRITE(MYUNIT,'(A)') 'mc_gbh> Configuration reset!'
393:   !ELSEIF(N2>0) THEN389:   !ELSEIF(N2>0) THEN
394:   !   WRITE(MYUNIT, '(A,I6)') 'mc_gbh> Atoms rotated: ', N2390:   !   WRITE(MYUNIT, '(A,I6)') 'mc_gbh> Atoms rotated: ', N2
395:   ENDIF391:   ENDIF


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0