# 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 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 compared to larger basis sets.**DZP**: Double zeta plus polarization function. Is only available for*main group elements*up to Krypton.**Note:**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 as presented in the following example (compare to BasisDefaults example):

Atoms C 0.0 0.0 0.0 O.large_basis 0.0 2.13 0.0 H.large_basis 4.0 0.0 0.0 H 4.0 1.43 0.0 End BasisDefaults ! Cheap defaults BasisType DZ Core Large C Core=None ! This C has no frozen core O.large_basis BasisType=TZ2P ! This O with a larger basis H.large_basis BasisType=V ! This one also with a larger basis End

Furthermore, you can override the defaults per

`Atoms`

block by specifying`Atoms%Core`

and`Atoms%BasisType`

, or`Atoms%Path`

(sub)keys. Following is an example:Atoms :: block one BasisType TZ2P Core Small Si 0.0 0.0 0.0 ... End Atoms :: block two BasisType DZP Core None H 1.4 1.4 1.4 ... End

`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`

and`FitFunctions`

. The key corresponds to one atom type. The ordering of the`AtomType`

keys (in case of more than one atom type) is**NOT**arbitrary. It is interpreted as corresponding to the ordering of the`Atoms`

keys. The n-th`AtomType`

key supplies information for the numerical atom of the n^{th}type, which in turn has atoms at positions defined by the n^{th}`Atoms`

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 the`Atoms`

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`

. Each`FitFunctions`

key corresponds to one atom type, the type being the one of the preceding`Dirac`

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 is`TestFunctions`

which has the same format as the`BasisFunctions`

and`FitFunctions`

blocks. The`TestFunctions`

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 is`Delta`

.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`

or`Delta`

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 the`TAILS`

option, the calculation may run significantly faster. The`Confinement`

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 the`Dependency`

keyword) reduces the numerical problems.

**NB:** does not work with the `BasisDefaults`

key (because it is a subkey of `AtomType`

).