SiPMF class

Code author: Niklaus Johner <niklaus.johner@a3.epfl.ch>

This module contains the siPMF class

class SiPMF(system, environment)

The siPMF class defines the process that will supervise the whole calculation of the free energy landscape. It will survey the status of the jobs, submit new jobs, create new windows and so on.

Parameters:
  • system (System) – The system that will be studied
  • environment (Environment) – The environment
Run(max_time, max_jobs, sleep_length, generate_new_windows=True)

Run the process to explore the free energy landscape. The process is an infinite loop in which it will sleep for some time, then when it wakes up it checks the status of the jobs in the queue. If some jobs have finished, it will submit new phases for the corresponding windows if necessary (i.e not enough data accumulated yet). When all the windows have been properly sampled, and no more jobs are running, it will create new windows and start sampling those. The process either stops when it cannot create any new windows or when it has run for more than a preset time or if it has submitted more jobs than a preset maximal number of jobs. For any of these stopping conditions, the process will keep on running until there are no jobs left in the queue, then it will update the PMF once more, save its state and stop. When running it saves its state everytime it has changed. It also recalculates and plots the PMF every time it generates new windows.

Parameters:
  • max_time (int) – Maximal time (in seconds) the process will run for
  • max_jobs (int) – Maximal number of jobs the process will submit
  • sleep_length (int) – time (in seconds) the process will sleep between two cycles.