START / RESTART¶
The START or RESTART directive define the start-up mode and are optional keywords. If one of these two directives is not specified explicitly, the code will infer one, based upon the name of the input file and the availability of the database. When allowing NWChem to infer the start-up directive, the user must be quite certain that the contents of the database will result in the desired action. It is usually more prudent to specify the directive explicitly, using the following format:
(RESTART || START) [<string file_prefix default input_file_prefix>] \ [rtdb <string rtdb_file_name default file_prefix.db>]
The START directive indicates that the calculation is one in which a new
database is to be created. Any relevant information that already exists
in a previous database of the same name is destroyed. The string
file_prefix will be used as the prefix to name any files
created in the course of the calculation.
E.g., to start a new calculation on water, one might specify
which will make all files begin with “water.”.
If the user does not specify an entry for
file_prefix on the START
directive (or omits the START directive altogether), the code uses the
base-name of the input file as the file prefix. That is, the variable
file_prefix is assigned the name of the input file (not its full
pathname), but without the last “dot-suffix”. For example, the input
file name /home/dave/job.2.nw yields job.2 as the file prefix, if a name
is not assigned explicitly using the
The user also has the option of specifying a unique name for the
database, using the keyword rtdb. When this keyword is entered, the
string entered for
rtdb_file_name is used as the database name. If the
keyword rtdb is omitted, the name of the database defaults to
file_prefix.db in the directory for permanent files.
If a calculation is to start from a previous calculation and go on using
the existing database, the RESTART directive must be used. In such a
case, the previous database must already exist. The name specified for
file_prefix usually should not be changed when restarting a
calculation. If it is changed, NWChem will not be able to find needed
files when going on with the calculation.
In the most common situation, the previous calculation was completed (with or without an error condition), and it is desired to perform a new task or restart the previous one, perhaps with some input changes. In these instances, the RESTART directive should be used. This re-uses the previous database and associated files, and reads the input file for new input and task information.
The RESTART directive looks immediately for new input and task information, deleting information about previous incomplete tasks. For example, when doing a RESTART there is no need to specify geometry or basis set declaration because the program will detect this information since it is stored in the run-time database.
If a calculation runs out of time, for example because it is on a
queuing system, this is another instance where doing a
advisable. Simply include nothing after the
RESTART directive except
those tasks that are unfinished.
To summarize the default options for this start-up directive, if the input file does not contain a START or a RESTART directive, then
- the variable
file_prefixis assigned the name of the input file for the job, without the suffix (which is usually .nw)
- the variable
rtdb_file_nameis assigned the default name,
If the database with name file_prefix.db does not already exist, the
calculation is carried out as if a
START directive had been encountered.
If the database with name file_prefix.db does exist, then the
calculation is performed as if a
RESTART directive had been encountered.
For example, NWChem can be run using an input file with the name water.nw by typing the UNIX command line,
If the NWChem input file water.nw does not contain a START or RESTART
directive, the code sets the variable
file_prefix to water. Files
created by the job will have this prefix, and the database will be named
water.db. If the database water.db does not exist already, the code
behaves as if the input file contains the directive,
If the database water.db does exist, the code behaves as if the input file contained the directive,
Use of permanent_dir¶
We suggest the user to add the permanent directory line to the input file. This allows to store files in a specific directory for easy re-use between start and restart stages.
The start file then becomes
start water permanent_dir /home/doe/nwchem_files
while the restart file becomes
restart water permanent_dir /home/doe/nwchem_files