Gromacs  2019-beta1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for handlerestart.h:

Description

This file declares functions for mdrun to call to manage the details of doing a restart (ie. reading checkpoints, appending output files).

Todo:
There may be other code in runner.cpp etc. that can usefully live here
Author
Berk Hess hess@.nosp@m.kth..nosp@m.se
Erik Lindahl erik@.nosp@m.kth..nosp@m.se
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Functions

void handleRestart (t_commrec *cr, const gmx_multisim_t *ms, gmx_bool bTryToAppendFiles, int NFILE, t_filenm fnm[], bool *bDoAppendFiles, bool *bStartFromCpt)
 Handle startup of mdrun, particularly regarding -cpi and -append. More...
 

Function Documentation

void handleRestart ( t_commrec *  cr,
const gmx_multisim_t *  ms,
gmx_bool  bTryToAppendFiles,
int  NFILE,
t_filenm  fnm[],
bool *  bDoAppendFiles,
bool *  bStartFromCpt 
)

Handle startup of mdrun, particularly regarding -cpi and -append.

If there is a checkpoint file, then prepare to start from that state. If restarting from a checkpoint file and appending is requested with tryToAppendFiles, we will set doAppendFiles to true on return if all files were found correctly. If some files are not found when appending should be done, we will instead issue a fatal error to avoid unintentional problems.

If there is no checkpoint file, we assume it is the first part of a new run, and in this case we silently set doAppendFiles to false on return.

On return, fnm is updated with suffix strings for part numbers if we are doing a restart from checkpoint and are not appending. The routine also does communication to coordinate behaviour between all ranks of a simulation, and/or simulations.

Parameters
[in]crCommunication structure
[in]msHandles multi-simulations.
[in]bTryToAppendFilesWhether appending is requested (from mdrun)
[in]NFILESize of fnm struct
[in,out]fnmFilename parameters to mdrun
[out]bDoAppendFilesTrue on return if we will do appending. Note that the routine will generate a fatal error for some scenarios where appending is requested but the necessary files not found.
[out]bStartFromCptTrue on return if we found the checkpoint and will use it to restart.