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.

The recognized names are listed below, together with brief
explanations. 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: grouping atoms into atom types and fragments, and
   checking the actual fragments against the information in the
   attached fragment files.

"config"
   Determination of the electronic configuration, if it is not
   determined solely by the SCF procedure, and printing of symmetry
   subspecies.

"mainsy"
   Generation of symmetry information, representation matrices, etc.

"symfit"
   Construction of symmetry-adapted fit functions.

"cblock"
   Generation of integration points and their assignment to the blocks
   used by the internal 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.


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. The SKIP key
   may occur any number of times in the 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 the consequences and may even crash when variables
   have not been initialized or have attained incorrect values due to
   the skipping.

This key should be used only in debugging and testing sessions, in
which you may skip the computation of certain data when, before those
data are needed, you halt the program to inspect something.

Recognized operational arguments include, for example, atpair, ets,
fitint, orthon, qmpot. This list may be incomplete because this
functionality is extended frequently.


Ignore checks
=============

ADF performs several checks during a calculation and stops with an
error message when intermediate results are suspicious, when input
instructions are incompatible, etc. These controlled aborts can in
some cases be overridden. Of course, the checks have been inserted for
good reasons, and you 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 the 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
   check can be overridden with 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 is evaluated with the numerical integration grid
   and the outcomes are 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 has not converged, any geometry manipulations
   (optimization, linear transit...) will be aborted because the
   energy gradients cannot be computed reliably for 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
   effects.

"SmallBlocks"
   The list of numerical integration points is partitioned into
   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; override with this ALLOW option) if the
   block length turns out to be very small (less than 10).

"XC"
   Certain combinations of Density Functional options, or the use of
   these options with some other features, are not allowed. See "XC".
