Q-Chem has developed a simple mechanism for users to set user-defined long-term defaults to override the built-in program defaults. Such defaults may be most suited to machine specific features such as memory allocation, as the total available memory will vary from machine to machine depending on specific hardware and accounting configurations. However, users may identify other important uses for this customization feature.
Q-Chem obtains input initialization variables from four sources:
User input file
$HOME/.qchemrc file
$QC/config/preferences file
Program defaults
The order of preference of initialization is as above, where the higher placed input mechanism overrides the lower.
Details of the requirements for the Q-Chem input file are discussed in detail in this manual. In reviewing the $rem variables and their defaults, users may identify some variable defaults that they find too limiting or variables which they find repeatedly need to be set within their input files to make the most of Q-Chem’s features. Rather than having to remember to place such variables into the Q-Chem input file, users are able to set long-term defaults which are read each time the user runs a Q-Chem job. This is done by placing these defaults into the file .qchemrc stored in the users home directory. Additionally, system administrators can override Q-Chem defaults with an additional preferences file in the $QC/config directory achieving a hierarchy of input as illustrated above.
Note: The .qchemrc and preferences files are not requisites for running Q-Chem and currently only support $rem keywords.
The format of the .qchemrc and preferences files is similar to that for the input file, except that only a $rem keyword section may be entered, terminated with the usual $end keyword. Any other keyword sections will be ignored. So that jobs may easily be reproduced, a copy of the .qchemrc file (if present) is now included near the top of the job output file.
It is important that the .qchemrc and preferences files have appropriate file permissions so that they are readable by the user invoking Q-Chem. The format of both of these files is as follows:
$rem rem_variable option comment rem_variable option comment ... $end
Example 2.2 An example of a .qchemrc file to apply program default override $rem settings to all of the user’s Q-Chem jobs.
$rem
INCORE_INTS_BUFFER 4000000 More integrals in memory
DIIS_SUBSPACE_SIZE 5 Modify max DIIS subspace size
THRESH 10
$end
As mentioned, the customization files are specifically suited for placing long-term machine specific defaults as clearly some of the defaults placed by Q-Chem will not be optimal on large or very small machines. The following $rem variables are examples of those which should be considered, but the user is free to include as few or as many as desired:
AO2MO_DISK
INCORE_INTS_BUFFER
MEM_STATIC
SCF_CONVERGENCE
THRESH
NBO
Q-Chem will print a warning message to advise the user if a $rem keyword section has been detected in either .qchemrc or preferences.