Octopus usually stores binary information, such as the wavefunctions, to be used in subsequent calculations. The most common example is the ground-state states that are used to start a time-dependent calculation. This variable allows to control where this information is written to or read from. The format of this block is the following: for each line, the first column indicates the type of data, the second column indicates the path to the directory that should be used to read and write that restart information, and the third column, which is optional, allows one to set some flags to modify the way how the data is read or written. For example, if you are running a time-dependent calculation, you can indicate where Octopus can find the ground-state information in the following way:
restart_gs | "gs_restart"
restart_td | "td_restart"
The second line of the above example also tells Octopus that the time-dependent restart data should be read from and written to the "td_restart" directory.
In case you want to change the path of all the restart directories, you can use the restart_all option. When using the restart_all option, it is still possible to have a different restart directory for specific data types. For example, when including the following block in your input file:
restart_all | "my_restart"
restart_td | "td_restart"
the time-dependent restart information will be stored in the "td_restart" directory, while all the remaining restart information will be stored in the "my_restart" directory.
By default, the name of the "restart_all" directory is set to "restart".
Some CalculationModes also take into account specific flags set in the third column of the RestartOptions block. These are used to determine if some specific part of the restart data is to be taken into account or not when reading the restart information. For example, when restarting a ground-state calculation, one can set the restart_rho flags, so that the density used is not built from the saved wavefunctions, but is instead read from the restart directory. In this case, the block should look like this:
restart_gs | "restart" | restart_rho
A list of available flags is given below, but note that the code might ignore some of them, which will happen if they are not available for that particular calculation, or might assume some of them always present, which will happen in case they are mandatory.
Finally, note that all the restart information of a given data type is always stored in a subdirectory of the specified path. The name of this subdirectory is fixed and cannot be changed. For example, ground-state information will always be stored in a subdirectory named "gs". This makes it safe in most situations to use the same path for all the data types. The name of these subdirectories is indicated in the description of the data types below.
Currently, the available restart data types and flags are the following:
Option to globally change the path of all the restart information.
The data resulting from a ground-state calculation.
This information is stored under the "gs" subdirectory.
The data resulting from an unoccupied states calculation. This information also corresponds to a ground state and
can be used as such, so it is stored under the same subdirectory as the one of restart_gs.
The data resulting from a real-time time-dependent calculation.
This information is stored under the "td" subdirectory.
The data resulting from the calculation of the electromagnetic response using the Sternheimer approach.
This information is stored under the "em_resp" subdirectory.
The data resulting from the calculation of the electromagnetic response using finite-differences.
This information is stored under the "em_resp_fd" subdirectory.
The data resulting from the calculation of effective masses by k.p perturbation theory.
This information is stored under the "kdotp" subdirectory.
The data resulting from the calculation of vibrational modes.
This information is stored under the "vib_modes" subdirectory.
The data resulting from the calculation of van der Waals coefficients.
This information is stored under the "vdw" subdirectory.
The data resulting from a Casida calculation.
This information is stored under the "casida" subdirectory.
The data for optimal control calculations.
This information is stored under the "opt-control" subdirectory.
The data for the mesh partitioning.
This information is stored under the "partition" subdirectory.
The ground-state to be used with the td_occup and populations options of TDOutput.
This information should be a ground state, so the "gs" subdirectory is used.
Read the electronic states. (not yet implemented)
Read the electronic density.
Read the Hartree and XC potentials.
Read the SCF mixing information.
This flag allows to selectively skip the reading and writting of specific restart information.
Restart data is written when the iteration number is a multiple of the RestartWriteInterval variable. For time-dependent runs this includes the update of the output controlled by the TDOutput variable. (Other output is controlled by OutputInterval.)
Time in minutes before which the restart file will be written. This is to make sure that at least one restart file can be written before the code might be killed to to exceeding the given CPU time. If a finite time (in minutes) is specified, the code will write the restart file when the next iteration (plus the RestartWriteTime) would exceed the given time. A value less than 1 second (1/60 minutes) will disable the timer.
By default, all files are written and read from the working directory, i.e. the directory from which the executable was launched. This behavior can be changed by setting this variable. If you set WorkDir to a name other than ".", the following directories are written and read in that directory: