read_restart command

Syntax

read_restart file
  • file = name of binary restart file to read in

Examples

read_restart save.10000
read_restart restart.*
read_restart poly.*.%

Description

Read in a previously saved simulation from a restart file. This allows continuation of a previous run. Information about what is stored in a restart file is given below.

Restart files are saved in binary format to enable exact restarts, meaning that the trajectories of a restarted run will precisely match those produced by the original run had it continued on.

Several things can prevent exact restarts due to round-off effects, in which case the trajectories in the 2 runs will slowly diverge. These include running on a different number of processors or changing certain settings such as those set by the newton or processors commands. LIGGGHTS(R)-PUBLIC will issue a warning in these cases.

Certain fixes will not restart exactly, though they should provide statistically similar results.

Certain pair styles will not restart exactly, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities, which are used at half-step values every timestep when forces are computed. When a run restarts, forces are initially evaluated with a full-step velocity, which is different than if the run had continued. These pair styles include granular pair styles.

If a restarted run is immediately different than the run which produced the restart file, it could be a LIGGGHTS(R)-PUBLIC bug, so consider reporting it if you think the behavior is wrong.

Because restart files are binary, they may not be portable to other machines. In this case, you can use the -r command-line switch to convert a restart file to a data file.

Similar to how restart files are written (see the write_restart and restart commands), the restart filename can contain two wild-card characters. If a “*” appears in the filename, the directory is searched for all filenames that match the pattern where “*” is replaced with a timestep value. The file with the largest timestep value is read in. Thus, this effectively means, read the latest restart file. It’s useful if you want your script to continue a run from where it left off. See the run command and its “upto” option for how to specify the run command so it doesn’t need to be changed either.

If a “%” character appears in the restart filename, LIGGGHTS(R)-PUBLIC expects a set of multiple files to exist. The restart and write_restart commands explain how such sets are created. Read_restart will first read a filename where “%” is replaced by “base”. This file tells LIGGGHTS(R)-PUBLIC how many processors created the set and how many files are in it. Read_restart then reads the additional files. For example, if the restart file was specified as save.% when it was written, then read_restart reads the files save.base, save.0, save.1, ... save.P-1, where P is the number of processors that created the restart file. The processors in the current LIGGGHTS(R)-PUBLIC simulation share the work of reading these files; each reads a roughly equal subset of the files. The number of processors which created the set can be different the number of processors in the current LIGGGHTS(R)-PUBLIC simulation. This can be a fast mode of input on parallel machines that support parallel I/O.


A restart file stores the following information about a simulation: units and atom style, simulation box size and shape and boundary settings, group definitions, per-type atom settings such as mass, per-atom attributes including their group assignments and molecular topology attributes, force field styles and coefficients, and special_bonds settings. This means that commands for these quantities do not need to be re-specified in the input script that reads the restart file, though you can redefine settings after the restart file is read.

One exception is that some pair styles do not store their info in restart files. The doc pages for individual pair styles note if this is the case. This is also true of bond_style hybrid (and angle_style, dihedral_style, improper_style hybrid).

All settings made by the pair_modify command, such as the shift and tail settings, are stored in the restart file with the pair style. The one exception is the pair_modify compute setting is not stored.

The list of fixes used for a simulation is not stored in the restart file. This means the new input script should specify all fixes it will use. Note that some fixes store an internal “state” which is written to the restart file. This allows the fix to continue on with its calculations in a restarted simulation. To re-enable such a fix, the fix command in the new input script must use the same fix-ID and group-ID as was used in the input script that wrote the restart file. If a match is found, LIGGGHTS(R)-PUBLIC prints a message indicating that the fix is being re-enabled. If no match is found before the first run or minimization is performed by the new script, the “state” information for the saved fix is discarded. See the doc pages for individual fixes for info on which ones can be restarted in this manner.

Bonds that are broken (e.g. by a bond-breaking potential) are written to the restart file as broken bonds with a type of 0. Thus these bonds will still be broken when the restart file is read.

Warning

No other information is stored in the restart file. This means that an input script that reads a restart file should specify settings for quantities like timestep size, thermodynamic, neighbor list criteria including settings made via the neigh_modify comand, dump file output, geometric regions, etc.


Restrictions

none