Basis sets

The use of a basis set in quantum chemical calculations is an approximation which introduces a basis set error. Learning how to control and minimize the basis set error is an important part of doing reliable computational chemistry.

Information about the RI approximation and auxiliary basis set is available on the sub-page RI and auxiliary basis sets

General recommendations:

  • Use the largest basis set you can afford to use for your computational project without straining resources unnecessarily or do a basis set convergence study. Discovering surprisingly large basis set errors in the end of a project is not fun but neither is to wait a long time for an unncessarily time-consuming calculation to finish (when a smaller basis set would have sufficed).

  • Rule of thumb: Energies and geometries are usually fairly converged at the DFT level when using a balanced polarized triple-zeta basis set (such as def2-TZVP) while MP2 and other post-HF (wavefunction theory) methods converge slower w.r.t. the basis set and should not be assumed to be converged at the triple-zeta level (quadruple-zeta is a minimum but basis set extrapolations should be considered the best option).

  • Special basis sets and/or uncontracted basis sets may be required for some molecular properties related to the chemical core of atoms: chemical shifts, spin-spin couplings, electric field gradients, hyperfine couplings etc.

  • Use of double-zeta basis sets (e.g. def2-SVP or 6-31G*) can be useful for initial geometry optimizations and may give good enough structures for organic/maingroup chemistry but energies and properties should not be trusted with such small basis sets.

  • Try to stick with one family of basis sets that is available for all the elements of your system. Mixing and matching basis sets from different families can lead to problems (and looks messy). The Ahlrichs def2 basis set family which covers most of the periodic table can be recommended for DFT calculations. This family of basis set is more reliable than the older Ahlrichs family (called XVP or def-XVP in the literature, where X can be S, TZ, QZ) or the split-valence Pople basis sets (6-31G, 6-311G etc.) for DFT calculations. The advantage is also that appropriately designed and well-tested auxiliary basis sets for this basis set family (for use with RI-J, RI-JK and RIJCOSX approximations) are readily available. See RI and auxiliary basis sets.

  • Calculations on heavy elements can either be performed using an all-electron approach or effective core potentials (ECPs).

ORCA4 Note: In ORCA3 ECPs were not selected automatically but in ORCA4 they are selected automatically for some basis sets like def2-XVP (see ECP page).

If your molecule contains an element heavier than Kr (i.e. second TM row etc.) then it is recommended to use either a relativistic approximation (such as ZORA or DKH2, see Relativistic approximations) or to replace the core electrons of that element with an effective core potential (see ECP page).

  • ORCA always uses pure d and f functions (5 d-functions and 7 f-functions instead of 6 d-functions and 10 f-functions). Important for comparing to results with other programs where 6 d-functions and 10 f-functions may be the default.

Basis sets recommended for most calculations (single-point energies, optimizations and frequencies) and recommended auxiliary basis sets for use with RI-J, RIJCOSX, RIJK, RI-MP2 and RI integral transformation approximations. Note that core-electron properties (chemical shift, nuclear spin coupling constants, electric field gradients, hyperfine couplings etc.) usually require specialized basis sets. See also RI and auxiliary basis sets

See Table 9.7 in the ORCA4 manual for a complete list of all available basis sets and auxiliary bas sets. Table below only shows recommended basis sets and auxiliary basis sets for most purposes.

* See Relativistic approximations for the appropriate relativistic def2 basis sets when using ZORA or DKH2 relativistic approximations.

¥ AutoAux should give a basis set that most reliably reduces the RI error. However, it can occasionally give a linearly-dependent basis (resulting in errors such as ('Error in Cholesky Decomposition of V Matrix')). See more on RI and auxiliary basis sets

New Basis set behaviour in ORCA version 4

ORCA 4 comes with considerable changes to basis set input. These changes are generally for the better.

  • Basis set names are now the same in the simple-input line as well as in the %basis block.

  • Single keywords for the general auxiliary basis sets by Weigend et al. for RI-J and RI-JK approximations are now used: def2/J and def2/JK instead of def2-SVP/J and def2-SVP/JK etc. See RI and auxiliary basis sets page.

  • The def2 Ahlrichs basis sets are now consistent with Turbomole behaviour. For elements larger than Kr, the def2-ECP is automatically loaded. See ECP page. ECP{} keyword has been removed. When performing all-electron relativistic calculations the relativistically recontracted basis sets have to be explicitly specified. The automatic relativistic-basis set substitution has been removed. See relativistic page.

  • Frozen core behaviour has changed for correlated calculations. See frozen core page.

  • Quotation marks are used for basis set names in the %basis block.

  • Auxiliary basis sets can be specified specifically for the RI-J, RI-JK, RI-MP2 (or integral transformations) or CABS in the %basis block.


%basisBasis "def2-TZVP"Aux "def2/J"AuxJK "def2/JK"AuxC "def2-TZVP/C"CABS "cc-pVDZ-F12-OptRI"end

Putting different basis sets on different atoms

  • Sometimes it makes sense to use a different basis set on certain atoms rather than the same basis set for all, e.g. using a larger basis set on the metal than the ligand atoms for a transition metal complex.

  • For all basis set modifications you should use the Printbasis keyword to confirm that your final basis set for your molecule is as it should be.

  • If you are using a relativistic approximation (ZORA/DKH2), be careful to add the correct relativistic basis set. See Relativistic methods.

  • Note that newgto and addgto keywords below require separate "end" statements, as shown.

  • If you want to put a larger basis set on just a few elements, specify first the smaller basis set for all atoms and then modify the basis set in the %basis block:

! BP86 def2-SVP def2/J TIGHTSCF printbasis%basisnewgto C "def2-TZVP" end # This would overrule the previous assignment and put def2-TZVP on C.end


You can also add basis functions (here adding a d-polarization function with exponent 0.101 to all carbon atoms) using the AddGTO keyword like this:

! BP86 def2-SVP def2/J TIGHTSCF printbasis%basisaddgto C D 1 1 0.1010000 1.0000000endend


If you want to specify the basis set manually in the %basis block (here the def2-TZVP basis set is copy-pasted from the EMSL library, GAMESS-US format) :


%basis
newgto CS 6 1 13575.3496820 0.22245814352E-03 2 2035.2333680 0.17232738252E-02 3 463.22562359 0.89255715314E-02 4 131.20019598 0.35727984502E-01 5 42.853015891 0.11076259931 6 15.584185766 0.24295627626 S 2 1 6.2067138508 0.41440263448 2 2.5764896527 0.23744968655 S 1 1 0.57696339419 1.0000000...etc...endend #Don't forget the two "end" keywords!

If you want to put a different basis set on a specific atom (rather than element) then you do this by adding the newgto keyword to the coordinate section (here adding the correct ZORA recontracted basis set set since ZORA is being used):

! BP86 ZORA ZORA-def2-SVP SARC/J TIGHTSCF printbasis

*xyz 0 1

H 0.0 0.0 0.0

H 0.0 0.0 1.0 newgto "ZORA-def2-TZVP" end

*

You can also use the AddGTO keyword in a similar way to add extra basis function to a specific atom like this:

! BP86 ZORA def2-SVP SARC/J TIGHTSCF printbasis

*xyz 0 1

H 0.0 0.0 0.0

H 0.0 0.0 1.0

addgto

P 1

1 0.0356900 1.0000000

end

*

Using a basis set file is another convenient way of assigning different basis sets to different elements as you can then specify exactly the basis set you want for each element. A drawback is that you can’t assign different basis sets to different atoms of the same element. Input file below reads in two basis set files (normal basis set and auxiliary basis set). An example of a basis set file is: def2tzvp-on-metal-def2svp-on-chno.basis where the def2-TZVP basis set is defined for iron and def2-SVP for carbon and hydrogen. Basis set files can be conveniently created by copying and pasting the basis set output that is printed when using the printbasis keyword.

! BP86

%basis

GTOName "def2tzvp-on-metal-def2svp-on-chno.basis"

GTOAuxName "def2tzvp-on-metal-def2svp-on-chno.AUXbasis"

end

Decontraction of basis sets

Sometimes, decontraction of a basis set might be useful to get a truly accurate basis set, especially when doing a molecular property calculation with a known or perhaps unknown basis set dependency. Note that decontraction often requires more accurate numerical integration (i.e. larger DFT grids).

The Decontract keyword will decontract both the orbital basis set and any auxiliary basis set as well.

The DecontractAux keyword will only decontract the auxiliary basis set. Useful when one really wants to minimize the RI error.

Note: ORCA will delete duplicate primitives if the basis set comes from a general contraction scheme.

To decontract basis sets in the %basis block, one does:

! RHF

%basis

basis "def2-TZVP"

decontract true

end

Using diffuse basis sets

For wavefunction based methods (MP2, CCSD etc.), the augmented correlation consistent basis set family can be recommended: aug-cc-pVnZ where n = D , T, Q, 5 or 6

For DFT calculations, the aug-cc-pVnZ basis set family may not be the best choice (non-ideal contraction for DFT, overly large and often poor SCF energies). While diffuse functions from the aug-cc-pVnZ family or the Pople family (6-31+G etc.) are sometimes added to the def2-XVP family this sometimes results in linear dependencies. The old def2-aug-TZVPP basis set (ORCA3 keyword) e.g. often ran into severe SCF problems due to linear dependencies. Below are some recommended diffuse basis sets.

A discussion on appropriate auxiliary basis sets when using diffuse basis sets can be found at RI and auxiliary basis sets.

Figure 1. Basis set errors for the EA13 electron affinity test set. Parantheses show the no. of basis functions for Cl2- as an indicator of the size of the basis set. Figure demonstrates how the lack of explicit diffuse functions can result in a huge basis set error.

Minimally augmented def2-XVP basis sets as defined by Truhlar et al.

These basis sets are the traditional def2-XVP basis sets that have been augmented with diffuse s- and p- functions in a systematic way (exponents of functions set to 1/3 of the exponent of the lowest function in the non-augmented basis set). This is an economic way of creating diffuse basis set that are suitable for anion calculations (very good electron affinities are obtained for example, despite the basis set being small, see Figure 1).

These basis sets are now available for almost the whole periodic table in ORCA but have not been well tested outside the p-block of the periodic table. It is not clear whether augmentation of transition metals is beneficial (possibly not). Note that these basis sets are called ma-XVP by Truhlar et al. but have been named ma-def2-XVP in ORCA to avoid confusion (but they are the same).

Three different versions of these basis sets have been created for ORCA:

  • non-relativistic basis sets (for use with ECPs for heavy elements)

  • all-electron ZORA basis sets (ZORA-recontracted def2 basis for light elements and SARC-ZORA def2 basis for heavy elements)

  • all-electron DKH basis sets (DKH-recontracted def2 basis for light elements and SARC-DKH def2 basis for heavy elements)

Details are below about how to specify this in ORCA.

Non-relativistic basis sets:

Elements H-Kr: Covers all electrons
Elements Rb-Rn: Covers valence electrons (def2-ECP automatically added to describe core electrons).

! B3LYP ma-def2-SVP

! B3LYP ma-def2-TZVP

! B3LYP ma-def2-TZVPP

! B3LYP ma-def2-QZVPP

Specification in %basis block:

%basis

newgto Element "ma-def2-TZVPP" end # Specifying the basis set on "Element"

end

When the molecule contains an element heavier than Kr, a def2-ECP for the core electrons is automatically added, (the ma-def2-XVP basis sets only cover the valence electrons like the original def2-XVP basis sets). An alternative is to use the all-electron relativistic basis sets (see later).

All-electron (core and valence) ZORA-recontracted (and SARC) versions of the basis sets (for use with ZORA) are also available:

Elements H-Rn: Covers all electrons

! ZORA B3LYP ma-ZORA-def2-SVP

! ZORA B3LYP ma-ZORA-def2-TZVP

! ZORA B3LYP ma-ZORA-def2-TZVPP

! ZORA B3LYP ma-ZORA-def2-QZVPP

Specification in %basis block:

%basis

newgto Element "ma-ZORA-def2-TZVPP" end # Specifying the basis set on "Element"

end

All-electron DKH-recontracted (and SARC) versions of the basis sets (for use with DKH) are also available:

Elements H-Rn: Covers all electrons

! DKH B3LYP ma-DKH-def2-SVP

! DKH B3LYP ma-DKH-def2-TZVP

! DKH B3LYP ma-DKH-def2-TZVPP

! DKH B3LYP ma-DKH-def2-QZVPP

Specification in %basis block:

%basis

newgto Element "ma-DKH-def2-TZVPP" end # Specifying the basis set on "Element"

end

Jensen’s aug-pc-n basis sets (available for H-Kr)

Jensen's augmented version of his polarization-consistent basis sets are also available in ORCA. These basis sets have been designed for DFT calculations.

! B3LYP aug-pc-1

# Augmented double-zeta basis set

! B3LYP aug-pc-2

# Augmented triple-zeta basis set

! B3LYP aug-pc-3

# Augmented quadruple-zeta basis set

Property-optimized Karlsruhe basis sets, def2-XVPD

Here the def2-XVP basis sets are augmented with a small number of moderately diffuse functions and are optimized for polarizability calculations. Are not always suitable for calculations on anions (rather large errors for electron affinities for example, see Figure 1).

! B3LYP def2-SVPD

! B3LYP def2-TZVPD

! B3LYP def2-TZVPPD

! B3LYP def2-QZVPD

! B3LYP def2-QZVPPD