From: Radak, Brian K (bradak_at_anl.gov)
Date: Tue Mar 22 2016 - 13:21:53 CDT
Hi,
So I have been implementing a simulated tempering protocol in Tcl by calling "run" for a fixed period of time and then performing a Monte Carlo step to accept or reject a new temperature. In the case that a new temperature is accepted, I have followed the standard protocol of rescaling the velocities by the square root of the new and old temperatures. Here's a pseudo code for a successful MC step:
run $steps_per_cycle
rescalevels [expr {sqrt($Tnew/$Told)}]
langevinTemp $Tnew
This has the expected effect in the output, namely that a new ENERGY entry appears with the same timestep and only differs in the TOTAL, KINETIC, TEMP, PRESSURE, GPRESSURE, and corresponding AVG terms. However, even when this sequence is NOT called, I this difference appears. For example here is the first rejected MC move in my output (note that the Tcl does NOT call "rescalevels 1.0"):
ETITLE: TS BOND ANGLE DIHED IMPRP
ELECT VDW BOUNDARY MISC KINETIC
TOTAL TEMP POTENTIAL TOTAL3 TEMPAVG
PRESSURE GPRESSURE VOLUME PRESSAVG GPRESSAVG
ENERGY: 11000 4.0294 8.2718 0.9686 0.9371
-20895.5939 1912.0569 0.0000 0.0000 3860.4649
-15108.8652 325.4061 -18969.3301 -15100.9906 320.7588
195.4380 129.0709 58895.1677 334.6593 333.4862
TCL: STMD exchange 321.9 --> 315.3 : dU = 0.6175 kT : accept = 0
TCL: STMD cycle 6 : temperature 321.9 : index 5
TCL: Running for 1000 steps
ENERGY: 11000 4.0294 8.2718 0.9686 0.9371
-20895.5935 1912.0569 0.0000 0.0000 3850.8681
-15118.4615 324.5972 -18969.3296 -15123.5694 324.5972
124.5563 125.6508 58895.1677 124.5563 125.6508
Does anyone know why this changes? I've seen the kinetic energy jump this way after a restart due to the lower precision in the binary velocity file, but not usually by 10 kcal/mol. This is just empirical heresay, but the ratio of the "old" and "new" temperatures is usually ~1.002, if that means anything.
Ideally we would just always discard the first entry with the same time step, since the MD/MC procedure should be considered as a single move in the Markov chain. Is there any way to do this? I have not run temperature replica exchange, but I was told by other colleagues that this duplicate step business does not appear in that output.
Thanks,
Brian
Brian Radak
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory
9700 South Cass Avenue, Bldg. 240
Argonne, IL 60439-4854
(630) 252-8643
brian.radak_at_anl.gov
This archive was generated by hypermail 2.1.6 : Tue Dec 27 2016 - 23:21:54 CST