Re: Simulated Annealing with many frequent restarts

From: Maxim Belkin (mbelkin_at_ks.uiuc.edu)
Date: Fri May 01 2015 - 11:49:41 CDT

I see. Personally, I have been doing what you describe in the second
paragraph. But writing a proc for the same purpose is easy.

Knowing that sometimes NAMD can be interrupted while writing restart
files so you end up with unreadable velocity restart file, here is a
snippet for NAMD config file that you can try.

set coordtimes [exec awk {/WRITING COORDINATES TO RESTART FILE AT STEP/
{ printf "%d ",$8; }} last.log]
set veltimes [exec awk {/WRITING VELOCITIES TO RESTART FILE AT STEP/ {
printf "%d ",$8; }} last.log]

set lastcoor [lindex $coordtimes end]
set lastvel [lindex $veltimes end]

firsttimestep [expr {$lastcoor <= $lastvel ? $lastcoor : $lastvel}]

On 05/01/2015 11:24 AM, Phillips, Carolyn L. wrote:
> Well… if you have a system that is limiting you to 2 hours of wall-clock but a job that will need to run for 48 hours… automation is going to be pretty key.
>
> I suppose the other “automation” option is to create a sequence of jobs that will run for a set number of time steps chosen such that each will finish in ~1hour and then just have a sequence of configuration files, each designed to pick up where the last stopped off.
>
>
>
> On May 1, 2015, at 11:18 AM, Maxim Belkin <mbelkin_at_ks.uiuc.edu> wrote:
>
>> Yes. Some might say that you can write a small tcl proc to parse an old log file and figure out that number "automatically"... but it all depends on how strongly you need this "automation" :)
>>
>>
>>
>> On 05/01/2015 10:16 AM, Phillips, Carolyn L. wrote:
>>> Thanks Maxim
>>>
>>> Does firsttimestep need to be set manually to the correct value then?
>>>
>>> Carolyn
>>>
>>> Sent from my iPhone
>>>
>>>> On May 1, 2015, at 10:46 AM, Maxim Belkin <mbelkin_at_ks.uiuc.edu> wrote:
>>>>
>>>> Carolyn,
>>>>
>>>> NAMD behavior depends on how you actually "ramp up" the temperature and what you mean by "restart automatically". If you use "reassignTemp/reassignFreq/reassignIncr/reassignHold" in conjunction with "firsttimestep" then NAMD should restart with correct temperature. If you use your own tcl script along with "rescaleTemp", then you have to take care of everything yourself.
>>>>
>>>> "restartsave" does not do anything special in this regard as it only allows you to restart a simulation from an arbitrary point in the past and requires a little bit of tcl scripting.
>>>>
>>>> Maxim
>>>>
>>>> P.S. "firsttimestep" should be set to the last step in the halted/aborted simulation at which NAMD wrote restart files.
>>>>
>>>>
>>>>> On 04/30/2015 06:51 PM, Phillips, Carolyn L. wrote:
>>>>> I apologize if this has been answered before but searching the user list + manual has not answered this for me.
>>>>>
>>>>> I want to do a simulated annealing of a system. It would seems this can be done by temperature reassignment. However, I also am working with a wallclock limit that means I need to restart my simulation with fairly high frequency. What I cannot figure out is whether NAMD can correctly return to the specified temperature schedule when restarted automatically. For example, if the temperature is ramping from 300K to 350K by incrementing by 10K every 1000 time steps, and the simulation is restarted after 20001 time steps, will the temperature of the system revert to 300K or be at 320K? If I use “restartsave yes” does that do anything?
>>>>>
>>>>> Cheers,
>>>>> Carolyn

This archive was generated by hypermail 2.1.6 : Tue Dec 27 2016 - 23:21:06 CST