PROFASI
Version 1.5
|
Monte Carlo simulations with the Wang Landau method. More...
#include <WLRun.hh>
Public Member Functions | |
void | writeConf () |
Write program state to PROFASI binary configuration file. | |
![]() | |
int | parseCommands (std::list< InstructionString > &cmds) |
Execute commands collected with getCommands. | |
Additional Inherited Members | |
![]() | |
int | recover (unsigned rcyc=(unsigned)-1) |
Restore the state of the run to a given point of a previous run. | |
FILE * | open_segment (std::string prfx) |
Open a new conf.data___ file for a new simulation segment. | |
![]() | |
PopulationHandler | PH |
A population handler. | |
ObsHandler | H |
An observable handler. | |
RandomNumberHandler | ranh |
A handler object for random numbers. | |
FFHandler | ffh |
A force field handler. | |
This class inherits from the BasicMCRun class and provides the necessary virtual function overrides, so that the simulations actually perform Wang Landau iterations instead of Metropolis-Hastings Monte Carlo. It uses large parts of the code in BasicMCRun, including its Run and Init functions. The MC pointer is assigned to a prf::WangLandau object, which is where the details of the method are implemented.
|
virtual |
Writes information about the current state of the program to a compressed binary configuration file. Every time this function is called, the following information is written: (i) MC time (ii) Temperature index (This is always 0 for BasicMCRun, but contains useful information for programs like ParTempRun. Writing a redundant 0 in BasicMCRun keeps the format of the data in the binary files fixed across all simulation programs in PROFASI) (iii) Total energy (iv) State of the random number generator, normally, as a pair of long and unsigned long variables. The first is the original seed, the second is the number of calls to the generator up until the time of the configuration save. Using these two, the random number generator can be restored (v) All degrees of freedom of the population.
The data is simply dumped without any formatting. So, the contents of the state files (normally called "conf...", found inside the run directories) are not (normal-) human readable. Since this way of writing data makes use of the internal structure of the data, it achieves optimal compression. But without knowledge of the layout of the bytes in the files, this data would be totally unreadable. Such information was formerly contained in a separate file called "conf.info" also generated by the simulation programs. The same byte for byte description of the contents of each block of data in the conf files is now contained as a human readable "header" section inside the "conf..." files.
PROFASI 1.5 makes the interaction with the binary "conf..." files more indirect, through the PROFASI trajectory description file, called n0/traj, n1/traj etc. This is an important topic and is described in detail in PROFASI trajectory files .
Reimplemented from BasicMCRun.