equilibration phase versus "statistics" phase?

14 views
Skip to first unread message

Sophie Weber

unread,
Jul 9, 2024, 1:27:35 PM (13 days ago) Jul 9
to Vampire Users
Hello,
I wanted to clarify the difference between the equilibration phase and the "measurement" phase where statistics are taken. I have a Monte Carlo simulation (just a time-series program) where I try to equilibrate for 500,000 time steps with sim:equilibration-time-steps, and then I want to gather statistics for an additional 500,000 time steps using sim:total-time-steps=500000 . Though I now realize, that probably I wanted to use sim:loop-time-steps instead..perhaps with total-time-steps this includes the equilibration steps, such that with these settings I would run equilibration steps only. Is it correct that I should instead be using loop-time-steps?

Regardless of the answer, I am confused by the number of timesteps in the output files, which is 1 million. My understanding is that the output should not print the equilibration time steps, and only those for which statistics are being gathered. But then certainly the 1000000 number makes no sense. Could someone please clarify whether or not equilibration steps are included in the output file? 

Thanks very much
Sophie

Luke Elliott

unread,
Jul 10, 2024, 8:50:11 PM (11 days ago) Jul 10
to Vampire Users
Hi Sophie,

Sorry it took me a second to reply to this, I wanted to be certain I was giving accurate information so I jumped into the source code to check how it is implemented.

Checking src/program/time_series.cpp on the develop branch the time_series function is broadly implemented as follows:

1. Initialise the simulation via a checkpoint file or an input equilibration temperature
2. Output data
3. Loop through the simulation for the equilibration time, calling the vout::data output function on each step which internally handles things like output rate
4. Reset temperature and statistics tracking
5. Loop through the simulation for the sim::total_time, again outputing data as before

Boiling it down, equilibration-time is primarily a convenience for resetting the underlying statistics tracking but will still be outputting values. If I remember correctly, it's quite an old piece of the code and recognised as being potentially a bit clunky/confusing.

From what I understand from what you've written, I think you're using the right split of equilibration and total-time-steps.

Hope that helps!

Luke

Sophie Weber

unread,
Jul 15, 2024, 6:09:42 PM (6 days ago) Jul 15
to Vampire Users
Thank you so much Luke! This is very helpful.

Best
Sophie

Reply all
Reply to author
Forward
0 new messages