Control of Program Flow¶
Limited execution¶
STOPAFTER programpart
programpart
- Must be a predefined name associated with a (major) part of the program With this key you tell ADF to terminate the job after the named program part has been executed.
A survey of the recognized names with a brief explanation follows below. The program parts are listed in order of execution: by taking a name further down the list you execute a larger part of the program.
init
- initialization procedure, input reading and printing of the output header with the job identification.
input
- input-reading module.
geomet
- geometry section: organization of atoms in types of atoms and fragments, checks of the actual fragments against information on the attached fragment files.
config
- electronic configuration (if not determined only by the SCF procedure), printout of symmetry subspecies.
mainsy
- generation of symmetry information, representation matrices, etc.
symfit
- construction of symmetry adapted fit functions.
cblock
- generation of integration points and the distribution of them in the blocks that control the internally used segmented vectorization loops.
engrad
- Relevant only in an optimization calculation. Engrad calculates energy gradients. The geometry is not yet updated and no printing of convergence tests and new coordinates is carried out.
geopt
- This routine evaluates energy gradients and updates the geometry accordingly; it also prints the convergence tests and the computed new coordinates. Compare ‘stopafter engrad’.
forcematrix
- in a Frequencies run, terminate the calculation when all displacements have been done and before any further processing of the computed Hessian, such as the determination of normal modes, takes place.
Direct SCF: I/O vs. recalculation of data¶
The program’s performance can be defined in terms of the amounts of time (CPU and i/o seconds) and disk space used in a calculation. Also important for the human user is the turn-around time. On multi-user machines CPU-cheap jobs may take a lot of real time to execute due to i/o scheduling.
Therefore it can be a good idea to recompute some items rather than store them on disk. This will increase the amount of CPU time but reduce disk access and it may also improve the turn-around. Another consideration is of course that storage of data on disk may exhaust the available disk space in case of big calculations so that recalculation rather than storage is unavoidable.
DISK {{no}fit} {{no}basis}
instructs ADF how to handle the values of the fit functions and basis functions in all integration points: calculate once and store on disk or recompute whenever needed. The (optional) arguments are fit or nofit, and basis or nobasis.
fit and basis tell ADF to store the corresponding data on file; the prefix no induces recalculation whenever the data is needed.
Defaults are nofit and nobasis: direct-SCF mode for both features (this can be modified at the installation of ADF, see the Installation Manual).
The key DISK has replaced in ADF 2.0 the key directSCF in ADF 1.x, and extended the applicability of the I/O versus recalculation choice from fit functions-only to basis functions as well.
Skipping¶
With the following key you can restrict which parts of the program are actually executed:
SKIP argumentlist
argumentlist
- A sequence of names, separated by blanks or commas. skip may occur any number of times in input. The names in the argument list refer to various items that are associated with parts of the program. With this key you tell ADF to skip the named program part(s) and to continue execution thereafter. The program does not check any consequences and may even crash when variables have not been initialized or have attained incorrect values due to the skipping.
Use of this key should be contemplated only in debugging and testing sessions, in which you may skip the computation of certain data when before that data will be needed you’ll halt the program to inspect something.
Recognized and operational arguments are for instance (possibly not complete due to frequent extensions in this respect): atpair, ets, fitint, orthon, qmpot
Ignore checks¶
ADF performs several checks during a calculation, and stops with an error message when intermediate results are suspicious, when input-specified instructions are incompatible, etc. These controlled aborts can in some cases be overruled. Of course, the checks have been inserted for good reasons and one should realize that ignoring them probably produces incorrect results and/or may lead to a program-crash.
ALLOW argumentlist
argumentlist
- A sequence of names, separated by blanks or commas. allow may occur any number of times in input, see the list below for the names that can be used.
BadCoreInt
- Numerical integration of the frozen core density should closely approximate the analytical value. If the deviation is large compared to the user-specified numerical integration precision the program aborts with an error message like ‘BAD CORE INTEGRAL’. This control is overruled by using this ALLOW option.
BadIntegrals
- Only applicable when the direct-SCF option is turned off for the basis functions. (This happens automatically for ZORA full-potential calculations). In that case, a sequence of elementary overlap integrals are evaluated with the numerical integration grid and the outcomes tested against the analytical value. If the deviation is too large a warning is issued. Above a certain threshold the program will abort, unless you override the exit with this Allow option.
BadSCF
- If the SCF procedure hasn’t converged, any geometry manipulations (optimization, linear transit ...) will be aborted because the energy gradients are not reliably computed in a non-self-consistent field.
CloseAtoms
- Atom-atom distances should not be less than 0.2 Bohr. This is checked in the program section where the numerical integration grid is generated.
RelGeo
- Geometry manipulation (optimization, linear transit...) is not supported for all of the relativistic options. See Relativistic
SmallBlocks
- The list of numerical integration points is partitioned in blocks, so as to fit data arrays (for instance values of all basis functions in the points of a block) in available memory. The program computes the maximum block length from available memory and size parameters such as numbers of basis functions. A small block size implies a severe reduction in CPU efficiency. Therefore, the program aborts (by default, to override by this ALLOW option) if the block length turns out to be very small (less than 10).
xc
- Certain combinations of the Density Functional options or application of them with some other features are not allowed. See XC.
Parallel Communication Timings¶
With the key
COMMTIMING
in the input you instruct ADF to skip normal execution and perform only a test on the gather, broadcast and combine routines. Used mainly for ADF developers to test parallel schemes.