More 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
      Bas float
   End

"Tails"
   Type:
      Block

   Description:
      Ignore function tails.

   "Bas"
      Type:
         Float

      Default value:
         1e-06

      GUI name:
         Basis functions

      Description:
         Cut off the basis functions when smaller than the specified
         threshold.


Dependency
==========

   Dependency
      AllowBasisDependency Yes/No
      Basis float
      Core float
      CoreValence float
      Fit float
   End

"Dependency"
   Type:
      Block

   Description:
      Criteria for linear dependency of the basis and fit set

   "AllowBasisDependency"
      Type:
         Bool

      Default value:
         Yes

      Description:
         Project out the dependent part of the basis set (associated
         with small eigenvalues of the overlap matrix).

   "Basis"
      Type:
         Float

      Default value:
         1e-08

      GUI name:
         Dependency criterion

      Description:
         Criteria for linear dependency of the basis: smallest
         eigenvalue of the overlap matrix of normalized Bloch
         functions.

   "Core"
      Type:
         Float

      Default value:
         0.8

      Description:
         The program verifies that the frozen core approximation is
         reasonable, by checking the smallest eigen value of the
         overlap matrix of the core (Bloch) orbitals (which should
         ideally be one) is bigger than this criterion.

   "CoreValence"
      Type:
         Float

      Default value:
         1e-05

      Description:
         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-corevalence

   "Fit"
      Type:
         Float

      Default value:
         5e-06

      Description:
         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.


Screening
=========

Band performs many lattice summations which are in practice truncated.
The two prime examples are the construction of the Bloch basis and the
calculation of the solvation potential. The precision of the lattice
summations is controlled by the "Screening" key

   Screening
      CutOff float
      DMadel float
      NoDirectionalScreening Yes/No
      RCelx float
      RMadel float
   End

"Screening"
   Type:
      Block

   Description:
      For the periodic solvation potential and for the old (not
      default anymore) fitting method, BAND performs lattice
      summations which are in practice truncated. The precision of the
      lattice summations is controlled by the options in this block.

   "CutOff"
      Type:
         Float

      Description:
         Criterion for negligibility of tails in the construction of
         Bloch sums. Default depends on Accuracy.

   "DMadel"
      Type:
         Float

      Description:
         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

   "NoDirectionalScreening"
      Type:
         Bool

      Description:
         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. Screening is only
         applied in the periodicity directions. This key restores the
         original situation: screening in all directions

   "RCelx"
      Type:
         Float

      Description:
         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"
      Type:
         Float

      Description:
         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.


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 bool
   End


Fermi energy search
===================

   Fermi
      Delta float
      Eps float
      MaxTry integer
      RefinePostSCFFactor integer
   End

"Fermi"
   Type:
      Block

   Description:
      Technical parameter used in determining the Fermi energy, which
      is carried out at each cycle of the SCF procedure.

   "Delta"
      Type:
         Float

      Default value:
         0.0001

      Description:
         Convergence criterion: upper and lower bounds for the Fermi
         energy and the corresponding integrated charge volumes must
         be equal within delta.

   "Eps"
      Type:
         Float

      Default value:
         1e-10

      Description:
         After convergence of the Fermi energy search procedure, a
         final estimate is defined by interpolation and the
         corresponding integrated charge volume is tested. It should
         be exact, to machine precision. Tested is that it deviates
         not more than eps.

   "MaxTry"
      Type:
         Integer

      Default value:
         15

      Description:
         Maximum number of attempts to locate the Fermi energy. The
         procedure is iterative in nature, narrowing the energy band
         in which the Fermi energy must lie, between an upper and a
         lower bound. If the procedure has not converged sufficiently
         within MaxTry iterations, the program takes a reasonable
         value and constructs the charge density by interpolation
         between the functions corresponding to the last used upper
         and lower bounds for the Fermi energy.

   "RefinePostSCFFactor"
      Type:
         Integer

      Description:
         Use a finer k-grid after the scf to calculate a refined fermi
         level. Makes only sense for metals. Works like DoubleCount.
         Use 1,2,3


Block size
==========

   CPVector integer

"CPVector"
   Type:
      Integer

   Default value:
      128

   GUI name:
      Vectorlength (blocksize)

   Description:
      The code is vectorized and this key can be used to set the
      vector length

   KGrpX integer

"KGrpX"
   Type:
      Integer

   Default value:
      5

   GUI name:
      Number of K-points at once

   Description:
      Absolute upper bound on the number of k-points processed
      together. This only affects the computational performance.
