Basis set¶
With the key BasisDefaults
you can control the quality of the basis set, and the level of frozen core approximation. Given your preferences the basis and fit sets are retrieved from the database. The output starts with a copy of your input, but with the basis and fit sets inserted from the database: at this point you can exactly see which values are used. You can always override the defaults by specifying the AtomType keyword. There is no need for special basis sets for relativistic calculations.
Automatic mode: BasisDefaults¶
The simplest way of specifying a basis set is via the BasisDefaults
block key. For example:
BasisDefaults
BasisType TZP
Core None
End
instructs BAND to use an all-electron (Core None
) TZP basis set.
BasisDefaults (block-type)
This key allows you to generate automatically the required AtomType blocks (i.e. basis and fit sets) from the database. The basis sets database is located in “$ADFHOME/atomicdata/band”. You can always see what has been generated at the beginning of the output file, where your input is echoed with the AtomType blocks expanded. It shows as a comment from which file each AtomType has been copied.
! --- basis from file /path/to/TZ2P/C.1s--- AtomType C ... End ! --- basis from file /path/to/DZ/H--- AtomType H ... End
The
BasisDefaults
block has the following subkeys.BasisType
The following basis sets are available.
- DZ: Double zeta. Adapted from the ADF basis set of the same name. The smallest basis set. The results are most likely not so accurate
- DZP: Double zeta plus polarization function. Is only available for main group elements up to Krypton. For other elements a TZP basis set will be used automatically!
- TZP: Triple zeta plus polarization. Adapted from the ADF basis set of the same name.
- TZ2P: Triple zeta plus double polarization. Adapted from the ADF basis set of the same name. This is a good basis set.
- QZ4P: Quadruple zeta plus quadrupole polarization. The biggest basis set. For benchmark purposes only.
If you have a large unit cell, you could start with the DZ basis, to see if it will be feasible at all. For more reliable results, use a triple zeta basis set. You can override the defaults per type by specifying Atoms%Core and Atoms%BasisType, or Atoms%Path (sub)keys.
Core
(Default: Large) This influences the size of the frozen core used. Possible values are None, Small, Medium, Large. You should be aware that a change of this parameter does not necessarily mean that a different frozen core is used. You can again check in the output what file was really used. You can see it from the extension in the comment line preceding the AtomType key
! --- basis from file /path/to/TZ2P/C.1s---
or from the Dirac block in the AtomType key.
Note: For all elements up to Au the Medium and Large frozen core are identical. And starting with Thallium there are three different frozen core definitions available.
FitType
- The STO fit set is by default determined via the BasisType. With this key one can choose the fit set independently from the BasisType key. (See obsolete density fitting)
Available standard basis sets¶
The next table gives an idication which all electron (ae) and frozen core (fc) standard basis sets are available for the different elements in BAND.
Element | ae | fc | SZ, DZ | DZP | TZP, TZ2P, QZ4P |
---|---|---|---|---|---|
H-He (Z=1-2) | ae | Yes | Yes | Yes | |
Li-Ne (Z=3-10) | ae | .1s | Yes | Yes | Yes |
Na-Mg (Z=11-12) | ae | .1s .2p | Yes | Yes | Yes |
Al-Ar (Z=13-18) | ae | .2p | Yes | Yes | Yes |
K-Ca (Z=19-20) | ae | .2p .3p | Yes | Yes | Yes |
Sc-Zn (Z=21-30) | ae | .2p .3p | Yes | Yes | |
Ga-Kr (Z=31-36) | ae | .3p .3d | Yes | Yes | Yes |
Rb-Sr (Z=37-38) | ae | .3p .3d .4p | Yes | Yes | |
Y-Cd (Z=39-48) | ae | .3d .4p | Yes | Yes | |
In-Ba (Z=49-56) | ae | .4p .4d | Yes | Yes | |
La-Lu (Z=57-71) | ae | .4d .5p | Yes | Yes | |
Hf-Hg (Z=72-80) | ae | .4d .4f | Yes | Yes | |
Tl (Z=81) | ae | .4d .4f .5p | Yes | Yes | |
Pb-Rn (Z=82-86) | ae | .4d .4f .5p .5d | Yes | Yes | |
Fr-Ra (Z=87-88) | ae | .5p .5d | Yes | Yes | |
Ac-Lr (Z=89-103) | ae | .5d .6p | Yes | Yes | |
Rf-Uuo(Z=104-118) | ae | .5d .5f | Yes | Yes |
- element name (without suffix): all electron (ae)
- .1s frozen: 1s
- .2p frozen: 1s 2s 2p
- .3p frozen: 1s 2s 2p 3s 3p
- .3d frozen: 1s 2s 2p 3s 3p 3d
- .4p frozen: 1s 2s 2p 3s 3p 3d 4s 4p
- .4d frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d
- .4f frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f
- .5p frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 5s 5p (La-Lu)
- .5p frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p (other)
- .5d frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 5d
- .6p frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 5d 6s 6p (Ac-Lr)
- .5f frozen: 1s 2s 2p 3s 3p 3d 4s 4p 4d 4f 5s 5p 5d 5f 6s 6p
Manually specifying AtomTypes¶
AtomType (block-type)
(Expert Option) Description of the atom type. Contains the block keys
Dirac
,BasisFunctions
andFitFunctions
. The key corresponds to one atom type. The ordering of theAtomType
keys (in case of more than one atom type) is NOT arbitrary. It is interpreted as corresponding to the ordering of theAtoms
keys. The n-thAtomType
key supplies information for the numerical atom of the nth type, which in turn has atoms at positions defined by the nthAtoms
key.AtomType ElementSymbol Dirac ChemSym {option} ... shells cores shell_specification {occupation_number} ... SubEnd {BasisFunctions shell_specification STO_exponent ... SubEnd} FitFunctions shell_specification STO_exponent ... SubEnd END
The argument ElementSymbol to
AtomType
is the symbol of the element that is referred to in theAtoms
key block.Dirac (block-type)
Specification of the numerical (‘Herman-Skillman’) free atom, which defines the initial guess for the SCF density, and which also (optionally) supplies Numerical Atomic Orbitals (NOs) as basis functions, and/or as STO fit functions for the crystal calculation. The argument ChemSym of this option is the symbol of the element of the atom type. The data records of the
Dirac
key are:- the number of atomic shells (1s,2s,2p,etc.) and the nr. of core-shells (two integers on one line).
- specification of the shell and its electronic occupation.
This specification can be done via quantum numbers or using the standard designation (e.g. ‘1 0’ is equivalent to ‘1s’). Optionally one may insert anywhere in the Dirac block a record Valence, which signifies that all numerical valence orbitals will be used as basis functions (NOs) in the crystal calculation. You can also insert NumericalFit followed by a number (max. \(l\)-value) in the key block, which causes the program to use numerical STO fit functions. For example NumericalFit 2 means that the squares of all s,p, and d NOs will be used as STO fit functions with \(l=0\), since the NOs are spherically symmetric. If you insert Spinor, a spin-orbit relativistic calculation for the single-atom will be carried out.
The Herman-Skillman program generates all its functions (atomic potential, charge density, one-electron states) as tables of values in a logarithmic radial grid. The number of points in the grid, and the min. and max. r-value are defaulted at 3000, 0.000001, and 100.0 (a.u.) respectively. These defaults can be overwritten by specifying anywhere in the Dirac block the (sub)keys radial, rmin and rmax.
The program will do a spin-unrestricted calculation for the atoms in addition to the restricted one. The occupation of the spin-orbitals will be of maximum spin-multiplicity and cannot be controlled in the Dirac key-block.
BasisFunctions (block-type)
- Slater-type orbitals, specified by quantum numbers \(n\),:math:l or by the letter designation (e.g. 2p) and one real (alpha) per STO. One STO per record. Use of this key is optional in the sense that Slater-type functions are not needed if other basis functions have been specified (i.e. the numerical atomic orbitals, see key Dirac).
FitFunctions (block-type)
Slater-type fit functions, described in the same way as in
BasisFunctions
. EachFitFunctions
key corresponds to one atom type, the type being the one of the precedingDirac
key. The selection choice of a ‘good’ fit set is a matter of experience. Fair quality sets are included in the database of the molecular program ADF.Example:
AtomType C :: Carbon atom Dirac C 3 1 VALENCE 1s 2s 2p 2.0 SubEnd BasisFunctions 1s 1.7 ... SubEnd FitFunctions 1s 13.5 2s 11.0 ... SubEndEnd
TestFunctions (block-type)
- An optional subkey of the
AtomType
key block isTestFunctions
which has the same format as theBasisFunctions
andFitFunctions
blocks. TheTestFunctions
block specifies STOs to be used as test functions in the numerical integration package. For the time being the \(l\) value is ignored. A possible application is to include a very tight function, to increase the accuracy near a nucleus.
Confinement of basis functions¶
It is possible to alter the radial part of the basis functions in order to make them more compact.
SOFTCONFINEMENT (block-type)
With soft confinement the radial part of the basis functions is multiplied with a Fermi-Dirac (FD) function. A FD function goes from one to zero, controlled by two parameters. It has a value 0.5 at
Radius
, and the decay width isDelta
.SoftConfinement Quality [Basic|Normal|Good|VeryGood|Excellent] Radius r Delta d End
This will set the confinement for all atoms. The most convenient way is to specify the
Quality
subkey. The resulting confinement parameters areQuality Radius Delta Basic 7.0 0.7 Normal 10.0 1.0 Good 20.0 2.0 VeryGood / / Specifying the
Radius
orDelta
subkey will override the defaults. A negative value means no confinement.
CONFINEMENT (block-type): subkey of atomtype
You can also control the soft confinement at the atom type level. In a slab calculation this allows one to use different settings for surface atoms than for those in inner layers. You can specify the range and the decay speed of the FD function like:
Confinement Radius 7 Delta 0.7 SubEnd
If the decay
Delta
is not specified it defaults to 0.1*’Radius’. Relativistic effects are treated correctly. If the confinement option is used in combination with theTAILS
option, the calculation may run significantly faster. TheConfinement
option can also be useful without the tails option in cases where near linear dependency reduces the numerical reliability of the results (cf.Dependency
keyword). This typically occurs for highly coordinated systems with large basis sets containing diffuse functions. For such cases, the confinement option (possibly in combination with theDependency
keyword) reduces the numerical problems.
NB: does not work with the BasisDefaults
key (because it is a subkey of AtomType
).