# Technical Settings¶

There are of course many other settings influencing the precision and performance. Usually the user does not need to care about them.

## Linear Scaling¶

Tails

Ignore function tails. By default no tails are ignored. Both CPU time and disk space can be saved by using the TAILS option. This option is most effective when combined with the Confine suboption.

TAILS {bas crbas} {core crcore} {fit crfit}


One real argument for keys bas and core, which should be a small value (Default: crbas = 1e-6). The core criterion defaults to the bas criterion (if set). The tail criterion specifies that tails of exponentially decaying (basis) functions are ignored, in the construction of Bloch functions, beyond the point where the remaining part of the function tail (radially) integrates to less than the criterion, relative to the integral of the function from zero to infinity. Also for the fit one can specify a cutoff, but this is turned off by default (Default: crfit = 1e-15). Here we advise to use a more strict criterion than for crbas (because the fit is usually much more dependent than the basis). This option has some refinements. For example

Tails confine=1e-2 bas=1e-5 Rosa


As you see there are two new elements (confine and Rosa). The first (confine) specifies that all basis functions are optimized for the tails option, by multiplying the tail of the function with a rapidly decaying function. This step affects the shape of all functions outside the radius where the relative norm of the function is smaller than 1e-2. The effects on the shape of the functions are typically very small. The second entry (Rosa) has the effect that the criterion becomes more strict for tight functions. For safer (but slower) calculations, specify smaller values for confine and bas, such as confine=1e-3 bas=1e-6.

The Rosa key works as follows. Determine the radius R where according to the normal criterion the function is negligible. Next substitute R -> R + 3*exp(-R/3). This means that for tight functions the tails radius is replaced by 3, and for diffuse functions this modifier has no effect.

Tentatively, based on the work by Rosa Bulo, we suggest to use

Tails bas=1e-3 Rosa


The TAILS keyword works most effectively when combined with the confinement keyword.

Note: The confine key described here should not be confused with the confinement option for each atom type. The confine option here affects functions in the region where they become very small, independent of the distance to the nucleus. The confinement option introduces a soft cut-off for all functions of a particular atom type, at a specific distance from the nucleus.

## Dependency¶

DEPENDENCY

Criterion for dependency of the basis and fit set:

DEPENDENCY {basis tolbas} {core tolcor} {fit tolfit} {corevalence tolovl}

basis
(Default: 1e-8) Smallest eigenvalue of the overlap matrix of normalized Bloch functions. See also the discussion in Recommendations about basis set dependency.
core
(Default: 0.98) The program verifies that the frozen core approximation is reasonable, by checking the smallest value of the overlap matrix of the core (Bloch) orbitals against this criterion.
fit
(Default: 1e-6) Criterion for dependency of the total set of fit functions. The value monitored is the smallest eigenvalue of the overlap matrix of normalized Bloch sums of symmetrized fit functions.
corevalence
(Default: 1e-5) Criterion for dependency of the core functions on the valence basis. The maximum overlap between any two normalized functions in the two respective function spaces should not exceed 1.0-coreval(...).

## Screening¶

The program BAND performs many lattice summations which are in practice truncated. The two prime examples are the construction of the Bloch basis and of the fit basis (obsolete option) and the construction of the Coulomb potential of the STO fit functions. The precision of the lattice summations is controlled by the SCREENING key

SCREENING (block)

Parameters that influence the screening and tails of basis functions. Recognized options are

CUTOFF
Criterion for negligibility of tails in the construction of Bloch sums. Default depends on Accuracy.
DMADEL
One of the parameters that define the screening of Coulomb-potentials in lattice sums. Depends by default on Accuracy, rmadel, and rcelx. One should consult the literature for more information.
RCELX
Max. distance of lattice site from which tails of atomic functions will be taken into account for the Bloch sums. Default depends on Accuracy.
RMADEL
One of the parameters that define screening of the Coulomb potentials in lattice summations. Depends by default on Accuracy, dmadel, rcelx. One should consult the literature for more information.
NODIRECTIONALSCREENING
Real space lattice sums of slowly (or non-) convergent terms, such as the Coulomb potential, are computed by a screening technique. In previous releases, the screening was applied to all (long-range) Coulomb expressions. Starting from BAND98 screening is only applied in the periodicity directions. This key restores the original situation: screening in all directions.

## Direct (on the fly) calculation of basis and fit¶

BAND usually calculates basis functions and theirs derivatives on the fly. However, for small bulk systems it can be faster to write the information to disk. Then one can set the DirectBas key to false. (Default = true)

Programmer
{DirectBas [true | false]}
End


## Block size¶

Efficiency and memory usage depend on how large the vector size of the program is

CPVECTOR
The code is vectorized and this key can be used to set the vector length. Default depends on the machine and should be set at the installation of the program.
KGRPX
is an absolute upper bound on the number of k-points processed together. Specifying this key and CPVector you can override bands defaults.