7.5. Choice of Basis Set¶
A fair number of reasonable basis sets is hardwired in the program as will be described in the next section. In addition, whole basis sets can be read from a file, basis sets can be assigned for all atoms of a given type or, at the highest resolution, basis sets can be assigned to individual atoms which is convenient if different parts of the molecule are to be treated at different levels of accuracy. Most hard wired basis sets were obtained from the EMSL library [251] and the input format in ORCA is closely related to the “GAMESS-US” format.
Note
As of ORCA version 4.0, the basis set handling has been significantly
modified!
Please check your basis sets very carefully!
7.5.1. Built-in Basis Sets¶
The basis set is specified in the block %BASIS
. Note that there are
three distinguished slots for auxiliary basis sets (AuxJ, AuxC and
AuxJK) to be used with RI approximation. Which auxiliary basis slot is
used in the actual program depends on the context. The AuxJ and AuxJK
slots are used in the context of Fock matrix construction, whereas the
AuxC slot is used for all other integral generation steps e.g. in
post-Hartree Fock methods. Assigning the auxiliary basis with the simple
input, takes care of the individual slots. However, in specific cases
they must be set explicitly in the block input. For example, a “/JK”
basis may be assigned to AuxJ in this way.
Note
As of ORCA 4.0, the basis set name has to be put in quotation marks, and the basis set name identifiers are the same as in the simple input!
%basis
Basis "Def2-TZVP" # The orbital expansion basis set
AuxJ "Def2/J" # RI-J auxiliary basis set
AuxJK "Def2/JK" # RI-JK auxiliary basis set
AuxC "Def2-TZVP/C" # Auxiliary basis set for correlated
# calcualtions, e.g. RI-MP2
CABS "cc-pVDZ-F12-OptRI" # complementary auxiliary basis set
# for F12 calculations
DecontractBas false # if chosen "true" the program will
# decontract the orbital basis set
DecontractAuxJ false # if "true" - decontract the AuxJ basis set
DecontractAuxJK false # if "true" - decontract the AuxJK basis set
DecontractAuxC false # if "true" - decontract the AuxC basis set
DecontractCABS true # if "false" - do not decontract the CABS
Decontract false # if "true" - decontract all basis sets
end
Warning
ORCA uses pure d and f functions (5D and 7F instead of Cartesian 6D and 10F) for all basis sets. This needs to be taken into account when results are compared with other programs, especially for Pople-style basis sets that were optimized with Cartesian (6D) functions.
If you use
Decontract
: if your basis set arises from general contraction it will contain duplicate primitives in several contractions and these will be removed such that only unique primitives remain and there is no problem with redundancy.
A complete list of predefined basis sets and their availability is given in Table 7.9.
Keyword |
Availability |
---|---|
Orbital basis sets ( |
|
STO-3G |
H–I |
MINI |
H–Ca |
MINIS |
H–Ca |
MINIX[1] |
H–Rn |
MIDI |
H–Na, Al–K |
3-21G |
H–Cs |
3-21GSP |
H–Ar |
4-22GSP |
H–Ar |
6-31G |
H–Zn |
6-31G* |
H–Zn |
m6-31G |
Sc–Cu |
m6-31G* |
Sc–Cu |
6-31G** |
H–Zn |
6-31G(d) |
H–Zn |
6-31G(d,p) |
H–Zn |
6-31G(2d) |
H–Zn |
6-31G(2d,p) |
H–Zn |
6-31G(2d,2p) |
H–Zn |
6-31G(2df) |
H–Zn |
6-31G(2df,2p) |
H–Zn |
6-31G(2df,2pd) |
H–Zn |
6-31+G* |
H–Zn |
6-31+G** |
H–Zn |
6-31+G(d) |
H–Zn |
6-31+G(d,p) |
H–Zn |
6-31+G(2d) |
H–Zn |
6-31+G(2d,p) |
H–Zn |
6-31+G(2d,2p) |
H–Zn |
6-31+G(2df) |
H–Zn |
6-31+G(2df,2p) |
H–Zn |
6-31+G(2df,2pd) |
H–Zn |
6-31++G** |
H–Zn |
6-31++G(d,p) |
H–Zn |
6-31++G(2d,p) |
H–Zn |
6-31++G(2d,2p) |
H–Zn |
6-31++G(2df,2p) |
H–Zn |
6-31++G(2df,2pd) |
H–Zn |
6-311G |
H–Br |
6-311G* |
H–Br |
6-311G** |
H–Br |
6-311G(d) |
H–Br |
6-311G(d,p) |
H–Br |
6-311G(2d) |
H–Br |
6-311G(2d,p) |
H–Br |
6-311G(2d,2p) |
H–Br |
6-311G(2df) |
H–Br |
6-311G(2df,2p) |
H–Br |
6-311G(2df,2pd) |
H–Br |
6-311G(3df) |
H–Br |
6-311G(3df,3pd) |
H–Br |
6-311+G* |
H–Br |
6-311+G** |
H–Br |
6-311+G(d) |
H–Br |
6-311+G(d,p) |
H–Br |
6-311+G(2d) |
H–Br |
6-311+G(2d,p) |
H–Br |
6-311+G(2d,2p) |
H–Br |
6-311+G(2df) |
H–Br |
6-311+G(2df,2p) |
H–Br |
6-311+G(2df,2pd) |
H–Br |
6-311+G(3df) |
H–Br |
6-311+G(3df,2p) |
H–Br |
6-311+G(3df,3pd) |
H–Br |
6-311++G** |
H–Br |
6-311++G(d,p) |
H–Br |
6-311++G(2d,p) |
H–Br |
6-311++G(2d,2p) |
H–Br |
6-311++G(2df,2p) |
H–Br |
6-311++G(2df,2pd) |
H–Br |
6-311++G(3df,3pd) |
H–Br |
SV |
H–Kr |
SV(P) |
H–Kr |
SVP |
H–Kr |
TZV |
H–Kr |
TZV(P) |
H–Kr |
TZVP |
H–Kr |
TZVPP |
H–Kr |
QZVP |
H–Kr |
QZVPP |
H–Kr |
DKH-SV(P) |
H–Kr |
DKH-SVP |
H–Kr |
DKH-TZV(P) |
H–Kr |
DKH-TZVP |
H–Kr |
DKH-TZVPP |
H–Kr |
DKH-QZVP |
H–Kr |
DKH-QZVPP |
H–Kr |
ZORA-SV(P) |
H–Kr |
ZORA-SVP |
H–Kr |
ZORA-TZV(P) |
H–Kr |
ZORA-TZVP |
H–Kr |
ZORA-TZVPP |
H–Kr |
ZORA-QZVP |
H–Kr |
ZORA-QZVPP |
H–Kr |
def2-mSVP[2] |
H–Rn |
def2-mTZVP[2] |
H–Rn |
def2-mTZVPP[2] |
H–Lr |
def2-SV(P) [2] |
H–Rn |
def2-SVP[2] |
H–Rn |
def2-TZVP(-f) [2] |
H–Rn |
def2-TZVP[2] |
H–Rn |
def2-TZVPP[2] |
H–Rn |
def2-QZVP[2] |
H–Rn |
def2-QZVPP[2] |
H–Rn |
def2-SVPD[2] |
H–Rn |
def2-TZVPD[2] |
H–Rn |
def2-TZVPPD[2] |
H–Rn |
def2-QZVPD[2] |
H–Rn |
def2-QZVPPD[2] |
H–Rn |
dhf-SV(P) [3] |
H–Kr, Rb–Rn |
dhf-SVP[3] |
H–Kr, Rb–Rn |
dhf-TZVP[3] |
H–Kr, Rb–Rn |
dhf-TZVPP[3] |
H–Kr, Rb–Rn |
dhf-QZVP[3] |
H–Kr, Rb–Rn |
dhf-QZVPP[3] |
H–Kr, Rb–Rn |
dhf-SV(P)-2c[3] |
H–Kr, Rb–Rn |
dhf-SVP-2c[3] |
H–Kr, Rb–Rn |
dhf-TZVP-2c[3] |
H–Kr, Rb–Rn |
dhf-TZVPP-2c[3] |
H–Kr, Rb–Rn |
dhf-QZVP-2c[3] |
H–Kr, Rb–Rn |
dhf-QZVPP-2c[3] |
H–Kr, Rb–Rn |
DKH-def2-SV(P) |
H–Kr |
DKH-def2-SVP |
H–Kr |
DKH-def2-TZVP(-f) |
H–Kr |
DKH-def2-TZVP |
H–Kr |
DKH-def2-TZVPP |
H–Kr |
DKH-def2-QZVPP |
H–Kr |
ZORA-def2-SV(P) |
H–Kr |
ZORA-def2-SVP |
H–Kr |
ZORA-def2-TZVP(-f) |
H–Kr |
ZORA-def2-TZVP |
H–Kr |
ZORA-def2-TZVPP |
H–Kr |
ZORA-def2-QZVPP |
H–Kr |
ma-def2-mSVP[2] |
H–Rn |
ma-def2-SV(P) [2] |
H–Rn |
ma-def2-SVP[2] |
H–Rn |
ma-def2-TZVP(-f) [2] |
H–Rn |
ma-def2-TZVP[2] |
H–Rn |
ma-def2-TZVPP[2] |
H–Rn |
ma-def2-QZVP[2] |
H–Rn |
ma-def2-QZVPP[2] |
H–Rn |
ma-DKH-def2-SV(P) |
H–Kr |
ma-DKH-def2-SVP |
H–Kr |
ma-DKH-def2-TZVP(-f) |
H–Kr |
ma-DKH-def2-TZVP |
H–Kr |
ma-DKH-def2-TZVPP |
H–Kr |
ma-DKH-def2-QZVPP |
H–Kr |
ma-ZORA-def2-SV(P) |
H–Kr |
ma-ZORA-def2-SVP |
H–Kr |
ma-ZORA-def2-TZVP(-f) |
H–Kr |
ma-ZORA-def2-TZVP |
H–Kr |
ma-ZORA-def2-TZVPP |
H–Kr |
ma-ZORA-def2-QZVPP |
H–Kr |
old-SV |
H–I |
old-SV(P) |
H–I |
old-SVP |
H–I |
old-TZV |
H–I |
old-TZV(P) |
H–I |
old-TZVP |
H–I |
old-TZVPP |
H–I |
old-DKH-SV(P) |
H–I |
old-DKH-SVP |
H–I |
old-DKH-TZV(P) |
H–I |
old-DKH-TZVP |
H–I |
old-DKH-TZVPP |
H–I |
old-ZORA-SV(P) |
H–I |
old-ZORA-SVP |
H–I |
old-ZORA-TZV(P) |
H–I |
old-ZORA-TZVP |
H–I |
old-ZORA-TZVPP |
H–I |
ANO-SZ |
H–Ar, Sc–Zn |
ANO-pVDZ |
H–Ar, Sc–Zn |
ANO-pVTZ |
H–Ar, Sc–Zn |
ANO-pVQZ |
H–Ar, Sc–Zn |
ANO-pV5Z |
H–Ar, Sc–Zn |
ANO-pV6Z |
H–Ar, Sc–Zn |
aug-ANO-pVDZ |
H–Ar, Sc–Zn |
aug-ANO-pVTZ |
H–Ar, Sc–Zn |
aug-ANO-pVQZ |
H–Ar, Sc–Zn |
aug-ANO-pV5Z |
H–Ar, Sc–Zn |
saug-ANO-pVDZ |
H–Ar, Sc–Zn |
saug-ANO-pVTZ |
H–Ar, Sc–Zn |
saug-ANO-pVQZ |
H–Ar, Sc–Zn |
saug-ANO-pV5Z |
H–Ar, Sc–Zn |
ANO-RCC-DZP |
H–Cm |
ANO-RCC-TZP |
H–Cm |
ANO-RCC-QZP |
H–Cm |
ANO-RCC-Full |
H–Cm |
pc-0 |
H–Ca, Ga–Kr |
pc-1 |
H–Kr |
pc-2 |
H–Kr |
pc-3 |
H–Kr |
pc-4 |
H–Kr |
aug-pc-0 |
H–Ca, Ga–Kr |
aug-pc-1 |
H–Kr |
aug-pc-2 |
H–Kr |
aug-pc-3 |
H–Kr |
aug-pc-4 |
H–Kr |
pcJ-0 |
H–He, B–Ne, Al–Ar |
pcJ-1 |
H–He, B–Ne, Al–Ar |
pcJ-2 |
H–He, B–Ne, Al–Ar |
pcJ-3 |
H–He, B–Ne, Al–Ar |
pcJ-4 |
H–He, B–Ne, Al–Ar |
aug-pcJ-0 |
H–He, B–Ne, Al–Ar |
aug-pcJ-1 |
H–He, B–Ne, Al–Ar |
aug-pcJ-2 |
H–He, B–Ne, Al–Ar |
aug-pcJ-3 |
H–He, B–Ne, Al–Ar |
aug-pcJ-4 |
H–He, B–Ne, Al–Ar |
pcseg-0 |
H–Kr |
pcseg-1 |
H–Kr |
pcseg-2 |
H–Kr |
pcseg-3 |
H–Kr |
pcseg-4 |
H–Kr |
aug-pcseg-0 |
H–Kr |
aug-pcseg-1 |
H–Kr |
aug-pcseg-2 |
H–Kr |
aug-pcseg-3 |
H–Kr |
aug-pcseg-4 |
H–Kr |
pcSseg-0 |
H–Kr |
pcSseg-1 |
H–Kr |
pcSseg-2 |
H–Kr |
pcSseg-3 |
H–Kr |
pcSseg-4 |
H–Kr |
aug-pcSseg-0 |
H–Kr |
aug-pcSseg-1 |
H–Kr |
aug-pcSseg-2 |
H–Kr |
aug-pcSseg-3 |
H–Kr |
aug-pcSseg-4 |
H–Kr |
W1-mtsmall |
H–Ar |
W1-DZ |
H–Ar |
W1-TZ |
H–Ar |
W1-QZ |
H–Ar |
W1-Opt |
H–Ar |
Sapporo-DZP-2012 |
H–Xe |
Sapporo-TZP-2012 |
H–Xe |
Sapporo-QZP-2012 |
H–Xe |
Sapporo-DKH3-DZP-2012 |
K–Rn |
Sapporo-DKH3-TZP-2012 |
K–Rn |
Sapporo-DKH3-QZP-2012 |
K–Rn |
LANL08[4] |
Na–La, Hf–Bi |
LANL08(f) [4] |
Sc–Cu, Y–Ag, La, Hf–Au |
LANL2DZ[4] |
H, Li–La, Hf–Bi, U–Pu |
LANL2TZ[4] |
Sc–Zn, Y–Cd, La, Hf–Hg |
LANL2TZ(f) [4] |
Sc–Cu, Y–Ag, La, Hf–Au |
vDZP[5] |
H–Rn |
def-TZVP[1] |
Fr–Lr |
ma-def-TZVP[1] |
Fr–Lr |
HGBS-5 |
H–Og |
HGBS-7 |
H–Og |
HGBS-9 |
H–Og |
HGBSP1-5 |
H–Og |
HGBSP1-7 |
H–Og |
HGBSP1-9 |
H–Og |
HGBSP2-5 |
H–Og |
HGBSP2-7 |
H–Og |
HGBSP2-9 |
H–Og |
HGBSP3-5 |
H–Og |
HGBSP3-7 |
H–Og |
HGBSP3-9 |
H–Og |
AHGBS-5 |
H–Og |
AHGBS-7 |
H–Og |
AHGBS-9 |
H–Og |
AHGBSP1-5 |
H–Og |
AHGBSP1-7 |
H–Og |
AHGBSP1-9 |
H–Og |
AHGBSP2-5 |
H–Og |
AHGBSP2-7 |
H–Og |
AHGBSP2-9 |
H–Og |
AHGBSP3-5 |
H–Og |
AHGBSP3-7 |
H–Og |
AHGBSP3-9 |
H–Og |
cc-pVDZ |
H–Ar, Ca–Kr |
cc-pVTZ |
H–Ar, Ca–Kr, Y, Ag, Au |
cc-pVQZ |
H–Ar, Ca–Kr |
cc-pV5Z |
H–Ar, Ca–Kr |
cc-pV6Z |
H–He, Be–Ne, Al–Ar |
aug-cc-pVDZ |
H–Ar, Sc–Kr |
aug-cc-pVTZ |
H–Ar, Sc–Kr, Ag, Au |
aug-cc-pVQZ |
H–Ar, Sc–Kr |
aug-cc-pV5Z |
H–Ar, Sc–Kr |
aug-cc-pV6Z |
H–He, B–Ne, Al–Ar |
cc-pVD(+d)Z |
Na–Ar |
cc-pVT(+d)Z |
Na–Ar |
cc-pVQ(+d)Z |
Na–Ar |
cc-pV5(+d)Z |
Na–Ar |
apr-cc-pV(Q+d)Z |
H–Ar |
may-cc-pV(T+d)Z |
H–Ar |
may-cc-pV(Q+d)Z |
H–Ar |
jun-cc-pV(D+d)Z |
H–Ar |
jun-cc-pV(T+d)Z |
H–Ar |
jun-cc-pV(Q+d)Z |
H–Ar |
jul-cc-pV(D+d)Z |
H–Ar |
jul-cc-pV(T+d)Z |
H–Ar |
jul-cc-pV(Q+d)Z |
H–Ar |
maug-cc-pV(D+d)Z |
H–Ar |
maug-cc-pV(T+d)Z |
H–Ar |
maug-cc-pV(Q+d)Z |
H–Ar |
aug-cc-pVD(+d)Z |
Al–Ar |
aug-cc-pVT(+d)Z |
Al–Ar |
aug-cc-pVQ(+d)Z |
Al–Ar |
aug-cc-pV5(+d)Z |
Al–Ar |
aug-cc-pV6(+d)Z |
Al–Ar |
aug-cc-pVTZ-J |
H, B–F, Al–Cl, Sc–Zn, Se |
cc-pCVDZ[6] |
H–Ar, Ca, Ga–Kr |
cc-pCVTZ[6] |
H–Ar, Ca, Ga–Kr |
cc-pCVQZ[6] |
H–Ar, Ca, Ga–Kr |
cc-pCV5Z[6] |
H–Ar, Ca, Ga–Kr |
cc-pCV6Z[6] |
H–He, B–Ne, Al–Ar |
aug-cc-pCVDZ[6] |
H–Ar, Ga–Kr |
aug-cc-pCVTZ[6] |
H–Ar, Ga–Kr |
aug-cc-pCVQZ[6] |
H–Ar, Ga–Kr |
aug-cc-pCV5Z[6] |
H–Ar, Ga–Kr |
aug-cc-pCV6Z[6] |
H–He, B–Ne, Al–Ar |
cc-pwCVDZ[6] |
H–Ar, Ca, Ga–Kr |
cc-pwCVTZ[6] |
H–Ar, Ca–Kr, Ag, Au |
cc-pwCVQZ[6] |
H–Ar, Ca–Kr |
cc-pwCV5Z[6] |
H–Ar, Ca–Kr |
aug-cc-pwCVDZ[6] |
H–Ar, Ga–Kr |
aug-cc-pwCVTZ[6] |
H–Ar, Sc–Kr, Ag, Au |
aug-cc-pwCVQZ[6] |
H–Ar, Sc–Kr |
aug-cc-pwCV5Z[6] |
H–Ar, Sc–Kr |
cc-pVDZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra, U |
cc-pVTZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra, U |
cc-pVQZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra, U |
cc-pV5Z-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pVDZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pVTZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pVQZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pV5Z-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
cc-pCVDZ-PP[7] |
Ca, Sr, Ba, Ra |
cc-pCVTZ-PP[7] |
Ca, Sr, Ba, Ra |
cc-pCVQZ-PP[7] |
Ca, Sr, Ba, Ra |
cc-pCV5Z-PP[7] |
Ca, Sr, Ba, Ra |
aug-cc-pCVDZ-PP[7] |
Ca, Sr, Ba, Ra |
aug-cc-pCVTZ-PP[7] |
Ca, Sr, Ba, Ra |
aug-cc-pCVQZ-PP[7] |
Ca, Sr, Ba, Ra |
aug-cc-pCV5Z-PP[7] |
Ca, Sr, Ba, Ra |
cc-pwCVDZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra, U |
cc-pwCVTZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra, U |
cc-pwCVQZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra, U |
cc-pwCV5Z-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pwCVDZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pwCVTZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pwCVQZ-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
aug-cc-pwCV5Z-PP[7] |
Ca, Cu–Kr, Sr–Xe, Ba, Hf–Rn, Ra |
cc-pVDZ-DK |
H–Ar, Sc–Kr |
cc-pVTZ-DK |
H–Ar, Sc–Kr, Y–Xe, Hf–Rn |
cc-pVQZ-DK |
H–Ar, Sc–Kr, In–Xe, Tl–Rn |
cc-pV5Z-DK |
H–Ar, Sc–Kr |
cc-pVDZ-DK3 |
U |
cc-pVTZ-DK3 |
U |
cc-pVQZ-DK3 |
U |
aug-cc-pVDZ-DK |
H–Ar, Sc–Kr |
aug-cc-pVTZ-DK |
H–Ar, Sc–Kr, Y–Xe, Hf–Rn |
aug-cc-pVQZ-DK |
H–Ar, Sc–Kr, In–Xe, Tl–Rn |
aug-cc-pV5Z-DK |
H–Ar, Sc–Kr |
cc-pwCVDZ-DK[6] |
H–Be, Na–Mg, Ca–Zn |
cc-pwCVTZ-DK[6] |
H–Be, Na–Mg, Ca–Zn, Y–Xe, Hf–Rn |
cc-pwCVQZ-DK[6] |
H–Be, Na–Mg, Ca–Zn, In–Xe, Tl–Rn |
cc-pwCV5Z-DK[6] |
H–Be, Na–Mg, Ca–Zn |
cc-pwCVDZ-DK3 |
U |
cc-pwCVTZ-DK3 |
U |
cc-pwCVQZ-DK3 |
U |
aug-cc-pwCVDZ-DK[6] |
H–Be, Na–Mg, Sc–Zn |
aug-cc-pwCVTZ-DK[6] |
H–Be, Na–Mg, Sc–Zn, Y–Xe, Hf–Rn |
aug-cc-pwCVQZ-DK[6] |
H–Be, Na–Mg, Sc–Zn, In–Xe, Tl–Rn |
aug-cc-pwCV5Z-DK[6] |
H–Be, Na–Mg, Sc–Zn |
cc-pVDZ-F12 |
H–Ar |
cc-pVTZ-F12 |
H–Ar |
cc-pVQZ-F12 |
H–Ar |
cc-pVDZ-PP-F12[7] |
Ga–Kr, In–Xe, Tl–Rn |
cc-pVTZ-PP-F12[7] |
Ga–Kr, In–Xe, Tl–Rn |
cc-pVQZ-PP-F12[7] |
Ga–Kr, In–Xe, Tl–Rn |
cc-pCVDZ-F12 |
Li–Ar |
cc-pCVTZ-F12 |
Li–Ar |
cc-pCVQZ-F12 |
Li–Ar |
haV(T+d)Z |
H–Ar |
haV(Q+d)Z |
H–Ar |
haV(5+d)Z |
H–Ar |
Partridge-1 |
H, Li–Sr |
Partridge-2 |
H, Li–Kr |
Partridge-3 |
H, Li–Zn |
Partridge-4 |
Sc–Zn |
x2c-SV(P)all |
H–Rn |
x2c-SVPall |
H–Rn |
x2c-TZVPall |
H–Rn |
x2c-TZVPPall |
H–Rn |
x2c-QZVPall |
H–Rn |
x2c-QZVPPall |
H–Rn |
x2c-SV(P)all-2c |
H–Rn |
x2c-SVPall-2c |
H–Rn |
x2c-TZVPall-2c |
H–Rn |
x2c-TZVPPall-2c |
H–Rn |
x2c-QZVPall-2c |
H–Rn |
x2c-QZVPPall-2c |
H–Rn |
x2c-SV(P)all-s |
H–Rn |
x2c-SVPall-s |
H–Rn |
x2c-TZVPall-s |
H–Rn |
x2c-TZVPPall-s |
H–Rn |
x2c-QZVPall-s |
H–Rn |
x2c-QZVPPall-s |
H–Rn |
x2c-QZVPall-2c-s |
H–Rn |
x2c-QZVPPall-2c-s |
H–Rn |
SARC-DKH-SVP |
Hf–Hg |
SARC-DKH-TZVP |
Rb–Rn, Ac–Lr |
SARC-DKH-TZVPP |
Rb–Rn, Ac–Lr |
SARC-ZORA-SVP |
Hf–Hg |
SARC-ZORA-TZVP |
Rb–Rn, Ac–Lr |
SARC-ZORA-TZVPP |
Rb–Rn, Ac–Lr |
SARC2-DKH-QZV |
La–Lu |
SARC2-DKH-QZVP |
La–Lu |
SARC2-ZORA-QZV |
La–Lu |
SARC2-ZORA-QZVP |
La–Lu |
D95 |
H, Li, B–Ne, Al–Cl |
D95p |
H, Li, B–Ne, Al–Cl |
EPR-II |
H, B–F |
EPR-III |
H, B–F |
IGLO-II |
H, B–F, Al–Cl |
IGLO-III |
H, B–F, Al–Cl |
UGBS |
H–Th, Pu–Am, Cf–Lr |
CP |
Sc–Zn |
CP(PPP) |
Sc–Zn |
Wachters+f |
Sc–Cu |
Coulomb-fitting auxiliary basis sets (`AuxJ``) |
|
def2/J |
H–Rn |
def2-mTZVP/J |
H–Rn |
def2-mTZVPP/J |
H–Rn |
x2c/J |
H–Rn |
SARC/J |
H–Rn, Ac–Lr |
Coulomb and exchange-fitting auxiliary basis sets ( |
|
def2/JK |
H–Ba, Hf–Rn |
def2/JKsmall |
H–Ra, Th–Lr |
cc-pVTZ/JK |
H, B–F, Al–Cl, Ga–Br |
cc-pVQZ/JK |
H, B–F, Al–Cl, Ga–Br |
cc-pV5Z/JK |
H, B–F, Al–Cl, Ga–Br |
aug-cc-pVTZ/JK |
H, B–F, Al–Cl, Ga–Br |
aug-cc-pVQZ/JK |
H, B–F, Al–Cl, Ga–Br |
aug-cc-pV5Z/JK |
H, B–F, Al–Cl, Ga–Br |
SARC2-DKH-QZV/JK |
La–Lu |
SARC2-DKH-QZVP/JK |
La–Lu |
SARC2-ZORA-QZV/JK |
La–Lu |
SARC2-ZORA-QZVP/JK |
La–Lu |
Auxiliary basis sets for correlated methods ( |
|
def2-SVP/C |
H–Rn |
def2-TZVP/C |
H–Rn |
def2-TZVPP/C |
H–Rn |
def2-QZVPP/C |
H–Rn |
def2-SVPD/C |
H–La, Hf–Rn |
def2-TZVPD/C |
H–La, Hf–Rn |
def2-TZVPPD/C |
H–La, Hf–Rn |
def2-QZVPPD/C |
H–La, Hf–Rn |
cc-pVDZ/C |
H–Ar, Ga–Kr |
cc-pVTZ/C |
H–Ar, Sc–Kr |
cc-pVQZ/C |
H–Ar, Sc–Kr |
cc-pV5Z/C |
H–Ar, Ga–Kr |
cc-pV6Z/C |
H–He, B–Ne, Al–Ar |
aug-cc-pVDZ/C |
H–He, Be–Ne, Mg–Ar, Ga–Kr |
aug-cc-pVTZ/C |
H–He, Be–Ne, Mg–Ar, Sc–Kr |
aug-cc-pVQZ/C |
H–He, Be–Ne, Mg–Ar, Sc–Kr |
aug-cc-pV5Z/C |
H–Ne, Al–Ar, Ga–Kr |
aug-cc-pV6Z/C |
H–He, B–Ne, Al–Ar |
cc-pwCVDZ/C[6] |
H–He, B–Ne, Al–Ar, Ga–Kr |
cc-pwCVTZ/C[6] |
H–He, B–Ne, Al–Ar, Sc–Kr |
cc-pwCVQZ/C[6] |
H–He, B–Ne, Al–Ar, Ga–Kr |
cc-pwCV5Z/C[6] |
H–Ne, Al–Ar |
aug-cc-pwCVDZ/C[6] |
H–He, B–Ne, Al–Ar, Ga–Kr |
aug-cc-pwCVTZ/C[6] |
H–He, B–Ne, Al–Ar, Sc–Kr |
aug-cc-pwCVQZ/C[6] |
H–He, B–Ne, Al–Ar, Ga–Kr |
aug-cc-pwCV5Z/C[6] |
H–Ne, Al–Ar |
cc-pVDZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
cc-pVTZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
cc-pVQZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
aug-cc-pVDZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
aug-cc-pVTZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
aug-cc-pVQZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
cc-pwCVDZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
cc-pwCVTZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
cc-pwCVQZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
aug-cc-pwCVDZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
aug-cc-pwCVTZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
aug-cc-pwCVQZ-PP/C |
Cu–Kr, Y–Xe, Hf–Rn |
cc-pVDZ-F12-MP2Fit |
H–Ar |
cc-pVTZ-F12-MP2Fit |
H–Ar |
cc-pVQZ-F12-MP2Fit |
H–Ar |
cc-pVDZ-PP-F12-MP2Fit |
Ga–Kr, In–Xe, Tl–Rn |
cc-pVTZ-PP-F12-MP2Fit |
Ga–Kr, In–Xe, Tl–Rn |
cc-pVQZ-PP-F12-MP2Fit |
Ga–Kr, In–Xe, Tl–Rn |
cc-pCVDZ-F12-MP2Fit |
Li–Ar |
cc-pCVTZ-F12-MP2Fit |
Li–Ar |
cc-pCVQZ-F12-MP2Fit |
Li–Ar |
Complementary auxiliary basis sets for F12 calculations ( |
|
cc-pVDZ-F12-CABS |
H, B–Ne, Al–Ar |
cc-pVTZ-F12-CABS |
H, B–Ne, Al–Ar |
cc-pVQZ-F12-CABS |
H, B–Ne, Al–Ar |
cc-pVDZ-F12-OptRI |
H–Ar |
cc-pVTZ-F12-OptRI |
H–Ar |
cc-pVQZ-F12-OptRI |
H–Ar |
cc-pVDZ-PP-F12-OptRI |
Ga–Kr, In–Xe, Tl–Rn |
cc-pVTZ-PP-F12-OptRI |
Ga–Kr, In–Xe, Tl–Rn |
cc-pVQZ-PP-F12-OptRI |
Ga–Kr, In–Xe, Tl–Rn |
aug-cc-pVDZ-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
aug-cc-pVTZ-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
aug-cc-pVQZ-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
aug-cc-pV5Z-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
cc-pCVDZ-F12-OptRI |
Li–Ar |
cc-pCVTZ-F12-OptRI |
Li–Ar |
cc-pCVQZ-F12-OptRI |
Li–Ar |
aug-cc-pwCVDZ-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
aug-cc-pwCVTZ-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
aug-cc-pwCVQZ-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
aug-cc-pwCV5Z-PP-OptRI |
Cu–Zn, Ag–Cd, Au–Hg |
Note
Check these pointers for more information on the basis sets: (indicated in ecah element of the table as well)
\(^1\)Used with the Def-ECP pseudopotentials (Rb–Lr).
\(^2\)Used with the Def2-ECP pseudopotentials (Rb–Rn).
\(^3\)Used with the dhf-ECP or dhf-ECP-2c pseudopotentials (Rb–Rn). For elements H–Kr equivalent to the respective def2-XVP basis set.
\(^4\)Used with the HayWadt pseudopotentials (Na–La, Hf–Bi, U–Pu).
\(^5\)Valence double-ζ with large-core pseudopotentials. For the respective ECP types per element, see Ref. [15] and table 6.5.
\(^6\)The respective basis sets without core correlation functions, i.e. (aug-)cc-pVXZ(-DK)(/C), are used for H and He.
\(^7\)Used with the SK-MCDHF-RSC pseudopotentials (Ca, Cu–Kr, Sr–Xe, Ba, Hf–Ra, U).
A note on RI and auxiliary basis sets: one thing that is certainly feasible and reasonable if you do not want to depend on the RI approximation is to converge a RI-J calculation and then take the resulting orbitals as initial guess for a calculation with exact Coulomb term. This should converge within a few cycles and the total execution time should still be lower than just converging the calculation directly with exact Coulomb treatment.
7.5.2. Automatic generation of auxiliary basis sets¶
If no auxiliary basis set is available for your chosen orbital basis
set, one can be generated automatically by ORCA using the keyword
AutoAux
. This is specified as any other fitting basis set: as a value
to the AuxJ/AuxJK/AuxC
variables in the %basis
block or as a
separate keyword in the simple input line (in which case all three Aux
slots are populated with identical fitting basis sets). AutoAux
can
also be assigned to individual elements or atoms - see sections
Assigning or Adding Basis Functions to an Element and
Assigning or Adding Basis Functions to Individual Atoms. The generated basis sets can be
used for Coulomb, exchange and correlation fitting and are as accurate
as the optimized auxiliary basis sets at the cost of being up to twice
as large. The exact generation procedure is described elsewhere
[828] but notably it has been significantly altered since ORCA
3.1 and will not produce the same results! For compatibility, the old
version is still accessible via the setting OldAutoAux true
in the
%basis
block. Some additional settings for AutoAux
are given below
with their default values.
%basis
AuxJ "AutoAux" # Use AutoAux to generate the AuxJ fitting basis set
AuxJK "AutoAux" # Use AutoAux to generate the AuxJK fitting basis set
AuxC "AutoAux" # Use AutoAux to generate the AuxC fitting basis set
AutoAuxSize 0-3 # 0 use minimal effective rather than minimal
# primitive exponent (suitable for ANO basis sets)
# 1 (default) increases the maximal exponent
# for the shells with low angular momenta.
# 2 increases the maximal exponent for all shells
# 3 directly uses the primitives and produces
# the largest fitting basis
AutoAuxLmax false # If true increase the maximal angular momentum of
# the fitting basis set to the highest value
# permitted by ORCA and by the orbital basis set.
AutoAuxLLimit -1 # If >0, do not exceed the given angular momentum.
OldAutoAux false # If true selects the ORCA 3.1 generation procedure
# Only change the defaults below if you know what you are doing
AutoAuxF[0] 20.0 # The factor to increase the maximal s-exponent
AutoAuxF[1] 7.0 # Same for the p-shell
AutoAuxF[2] 4.0 # Same for the d-shell
AutoAuxF[3] 4.0 # Same for the f-shell
AutoAuxF[4] 3.5 # Same for the g-shell
AutoAuxF[5] 2.5 # Same for the h-shell
AutoAuxF[6] 2.0 # Same for the i-shell
AutoAuxF[7] 2.0 # Same for the j-shell
AutoAuxB[0] 1.8 # Even-tempered expansion factor for the s-shell
AutoAuxB[1] 2.0 # Same for the p-shell
AutoAuxB[2] 2.2 # Same for the d-shell
AutoAuxB[3] 2.2 # Same for the f-shell
AutoAuxB[4] 2.2 # Same for the g-shell
AutoAuxB[5] 2.3 # Same for the h-shell
AutoAuxB[6] 3.0 # Same for the i-shell
AutoAuxB[7] 3.0 # Same for the j-shell
AutoAuxTightB true # Only use B[l] for shells with high l and B[0] for the rest
end
Note that if the orbital basis set contains diffuse functions, as is the
case for the aug-cc-pVXZ sets, the AutoAux fitting basis may contain
(near-)linear dependencies. In this case, the Cholesky decomposition of
the Coulomb metric will fail and the program will likely crash. One may
print the offending auxiliary basis using !PrintBasis
and manually
remove the most diffuse s- and/or p-functions, which will usually
resolve the problem. An alternative, automatic solution is implemented
in ORCA 5.0 – see
section Removal of Redundant Basis Functions.
7.5.3. Assigning or Adding Basis Functions to an Element¶
In order to assign a new basis set to a given element, use:
%basis
NewGTO 8 # New basis for oxygen.
# NewGTO O # This works as well.
S 3
1 910.10034975 0.03280967
2 137.19711335 0.23422391
3 30.85279077 0.81490980
S 2
1 1.72885887 0.27389659
2 0.39954770 0.79112437
P 1
1 8.35065975 1.00000000
end
end
Note that for simplicity and consistency the input format is the same as
that used in the basis set files. In this format the first line carries
first the angular momentum of the shell to be added (s, p, d, f, g, h,
i, j) and the number of primitives. Then for each primitive one line
follows which has (a) the index of the primitive (1, 2, 3, …) (b) the
exponent of the primitive and (c) the contraction coefficient
(unnormalized). Note that ORCA always uses spherical harmonic Gaussian
functions. L-shells (not to be confused with angular momentum equal to
9) can only be dealt with as separate s- and p-shells. There also is the
possibility to include a SCALE X
statement after the number of
primitives in the first line to indicate that the basis function
exponents should be scaled.
In order to add basis functions to the basis of a given element (for
example because you do not like the standard polarization functions) use
AddGTO
instead of NewGTO
. In NewGTO
or AddGTO
you can also use
the nicknames of internally stored basis sets. An example is:
%basis
NewGTO 8 # new basis for oxygen
"6-31G"
D 1
1 0.4 1.0
end
end
In this example the 6-31G basis is assigned to oxygen and in addition a polarization function with exponent 0.4 is added to the oxygen basis.
Note that the NewGTO
keyword does not change the ECP for the given
element - you must use NewECP
or DelECP
(see section
Advanced Specification of Effective Core Potentials).
A similar mechanism was established for the auxiliary basis sets in RI calculations:
%basis
NewAuxJGTO 8 # new auxiliary basis for oxygen
s 1
1 350 1.0
... etc
end
AddAuxJGTO 8 # add a shell to the auxiliary basis for
# oxygen
D 1
1 0.8 1.0
end
end
New basis functions can be specifically assigned to any auxiliary basis
sets. The keywords NewAuxCGTO
, AddAuxCGTO
, NewAuxJKGTO
,
AddAuxJKGTO
, NewCABSGTO
, AddCABSGTO
are used in the same way. The
keywords NewAuxGTO
and AddAuxGTO
are the same as NewAuxJGTO
and
AddAuxJGTO
, that is, they only influence the Coulomb auxiliary basis
(/J basis)!
7.5.4. Assigning or Adding Basis Functions to Individual Atoms¶
Sometimes you may want to not treat all carbon atoms with the same basis
set but to assign a specific basis set to a specific atom in the
molecules. This is also possible in ORCA and takes place in the
coordinate section (%coords
, *xyz
, etc.). The format is the same as
described above. An example may help to make things clear:
*int 0 1
C(1) 0 0 0 0.00 0.0 0.00
AddGTO
D 1
1 1.0 1.0
end
O(2) 1 0 0 1.13 0.0 0.00
NewGTO
"6-311G"
D 1
1 1.2 1.0
end
*
In this example an extra d-shell with exponent 1.0 is added to the first
carbon atom and the basis for the oxygen atom is changed to 6-311G
with an extra d-function of exponent 1.2 added.
Analogously, AUX
basis functions can be assigned or added to
individual atoms using the keywords NewAuxJGTO
, AddAuxJGTO
,
NewAuxCGTO
, AddAuxCGTO
, NewAuxJKGTO
, AddAuxJKGTO
, NewCABSGTO
,
AddCABSGTO
.
A note on the use of AutoAux
: if you change the basis set on a given
atom and want to generate a fitting basis, you have to specify it again
in the COORDS
section, even if AutoAux
is already present in the
simple input line or in the %basis
block. For example:
! Def2-SVP Def2/JK
%basis
NewAuxJKGTO H
"AutoAux"
end
end
*xyz 0 1
O 0.00 0.00 0.00
H -0.25 0.93 0.00
H 0.96 0.00 0.00
AddGTO
P 1
1 1.6 1.0
D 1
1 1.0 1.0
end
NewAuxJKGTO
"AutoAux"
end
*
Here the oxygen atom is assigned the Def2-SVP basis and the Def2/JK fitting basis, the first hydrogen atom is assigned the Def2-SVP basis and an automatically generated fitting basis and the second hydrogen atom is assigned the Def2-SVP basis with two additional polarization functions and a larger automatically generated fitting basis that accounts for these functions.
Tip
When assigning custom basis sets it is always a good idea to
print the basis set information (%output print[p_basis] 2 end
or
simply !PrintBasis
) and check that everything is correct.
7.5.5. Assigning Basis Sets and ECPs to Fragments¶
In multi-level or QM/QM calculations it may be convenient to assign
different basis sets to different fragments. This can be done with the
keywords FragBasis
, FragAuxJ
, FragAuxJK
, FragAuxC
, FragCABS
,
and FragECP
in the %basis
block, followed by the number of the
fragment (numbering starts at 1!) and a standard basis set or ECP from
the ORCA library (see
Tables Table 7.9 and
Table 4.2). Note that unlike the NewGTO
keyword,
FragBasis
also changes the ECP, if applicable. Fragment basis sets
will overload the global or element-specific
(Assigning or Adding Basis Functions to an Element) choice but can be overloaded
for individual atoms
(Assigning or Adding Basis Functions to Individual Atoms). If AutoAux is requested for a
fragment, it will be generated for the actual orbital basis set chosen
for each atom, even if it is changed in the coordinates section.
However, if AutoAux was requested for an element or in the simple input,
the auxiliary basis will be generated before the fragment basis is
assigned (which is not desired), therefore AutoAux must be requested
again for the fragment. An example is given below:
! PrintBasis BP86 NoIter
! def2-SVP def2/J
%basis
FragBasis 1 "def2-TZVP"
FragBasis 2 "cc-pVTZ-PP"
FragAuxJ 2 "AutoAux"
FragECP 3 "SK-MCDHF-RSC"
FragAuxJ 3 "def2/JK"
end
*xyz 0 1
H(1) 0 0 0
I(1) 0 0 1.6
H(2) 0 5 0 NewGTO "cc-pVTZ" end
I(2) 0 5 1.6
H(3) 5 0 0
I(3) 5 0 1.6
*
# Final basis sets:
# Atom Basis ECP AuxJ
# 0H def2-TZVP def2-ECP def2/J
# 1I def2-TZVP def2-ECP def2/J
# 2H cc-pVTZ - AutoAux(cc-pVTZ)
# 3I cc-pVTZ-PP SK-MCDHF-RSC AutoAux(cc-pVTZ-PP)
# 4H def2-SVP - def2/JK
# 5I def2-SVP SK-MCDHF-RSC def2/JK
It is also possible to read fragment-specific basis sets from a file.
The syntax is analogous, using the keywords ReadFragBasis
,
ReadFragAuxJ
, ReadFragAuxJK
, ReadFragAuxC
, ReadFragCABS
, and
ReadFragECP
. In this case, the input string is expected to be an
existing basis set file in GAMESS-US format (see
section Reading Orbital and Auxiliary Basis Sets from a File). All other details above
(e.g., regarding ECPs and AutoAux) also apply here.
7.5.6. Reading Orbital and Auxiliary Basis Sets from a File¶
By using the variables GTOName
, GTOAuxJName
, GTOAuxJKName
,
GTOAuxCName
, and GTOCABSName
(GTOAuxName
is a synonym for
GTOAuxJName
) a basis set can be read from an ASCII file. In this way
you can construct or modify your favorite standard basis set and load it
easily into the program.
%basis
# read an externally specified orbital basis
GTOName = "MyBasis.bas"
# read an externally specified Coulomb-fitting basis for RI calculations
GTOAuxJName = "MyAuxJBasis.bas"
# read an externally specified Coulomb- and exchange-fitting basis
GTOAuxJKName = "MyAuxJKBasis.bas"
# read an externally specified correlation-fitting basis
GTOAuxCName = "MyAuxCBasis.bas"
# read an externally specified complementary auxiliary basis set
GTOCABSName = "MyCABSBasis.bas"
end
A word of caution: in C/C\(++\) the backslashes in directory assignments
must be given twice to be correctly understood! The format is that used
for “GAMESS-US” in the EMSL library [251]. To give an example of
what this format looks like here is a part of the 3-21GSP
basis of
Buenker and coworkers [588, 589]:
! lines in the beginning with '!' or '#' are comments
! BASIS="3-21GSP"
!Elements References
!-------- ----------
! H - Ne: A.V. Mitin, G. Hirsch, R. J. Buenker, Chem. Phys. Lett. 259, 151 (1996)
! Na - Ar: A.V. Mitin, G. Hirsch, R. J. Buenker, J. Comp. Chem. 18, 1200 (1997).
!
$DATA ! Optional
HYDROGEN ! (3s) -> [2s] Element symbols are also recognized
S 2
1 4.50036231 0.15631167
2 0.68128924 0.90466909
S 1
1 0.15137639 1.00000000
CARBON ! (6s,3p) -> [3s,2p]
S 3
1 499.24042249 0.03330322
2 75.25419194 0.23617745
3 16.86538669 0.81336259
L 2 ! L shells are a s and a p shell with identical exponents
1 0.89739483 0.24008573 0.46214684
2 0.21746772 0.81603757 0.66529098
L 1
1 4.52660451 1.00000000 1.00000000
$END ! Optional
The file format for the auxiliary basis sets is exactly the same. Basis
sets can be also exported in GAMESS-US format by the orca_exportbasis
utility (section
orca_exportbasis). Note that in order to
read basis sets printed by ORCA (using !PrintBasis
), the NewGTO
and
end
keywords must be removed.
7.5.7. Advanced Specification of Effective Core Potentials¶
7.5.7.1. Library ECPs and Basis Sets¶
Besides the simple input line (section
Effective Core Potentials), assignment of ECPs can be
done within the %basis
block using the ECP
and NewECP
keywords as
in the following example:
%basis
ECP "def2-ECP" # All elements (for which the ECP is defined)
NewECP Pt "def2-SD" end # Different ECP for Pt
end
A variant of the NewECP
keyword can be used for individual atoms
inside the geometry definition:
* xyz ...
...
S 0.0 0.0 0.0 NewECP "SDD" end
...
*
Note that these keywords only affect the ECP and not the valence basis set!
In case the basis set for an element/atom has been changed using the
NewGTO
keyword (see sections
Assigning or Adding Basis Functions to an Element and
Assigning or Adding Basis Functions to Individual Atoms above) it may be necessary to
remove the ECP from that element/atom. This can be done with the
DelECP
keyword in the %basis
block or coordinates input,
respectively:
! LANL2DZ # Uses HayWadt ECPs by default, starting from Na
%basis
NewGTO S "Def2-TZVP" end # All-electron up to Kr
DelECP S # Remove HayWadt ECP
end
* xyz ...
...
Cu 0.0 0.0 0.0
DelECP # Remove HayWadt ECP
NewGTO "Def2-QZVPP" end # All-electron up to Kr
...
*
To remove all ECPs loaded by default (e.g. in case no global basis set
is chosen) you can use the !NoECP
simple keyword.
7.5.7.2. Manual Input of ECP Parameters¶
To manually specify ECP parameters, the NewECP
keyword is followed by
the element for which an ECP is to be entered, the number of core
electrons to be replaced (N_core) and the maximum angular momentum
(lmax). The ECP specification is finished by giving the definitions of
the individual shells that constitute the angular dependent potentials
U\(_l\).
%basis
NewECP <element>
N_core <number of core electrons>
lmax <max. angular momentum>
[shells]
end
end
For each ECP shell, first the angular momentum \(l\) has to be given, followed by the number of primitives. The primitives themselves are then specified by giving a running index and the respective tuple of exponent \(a_{kl}\), expansion coefficient \(d_{kl}\) and radial power \(n_{kl}\).
# ECP shell
l <number of primitives>
1 a1l d1l n1l
2 a2l d2l n3l
...
As an example, consider the SD(10,MDF) for Vanadium. The name indicates a Stuttgart–Dresden type ECP that replaces 10 core electrons and is derived from a relativistic calculation for the neutral atom. It consists of 4 shells with angular momentum s, p, d, and f. Note that the f shell has an expansion coefficient of 0.0 and thus will not contribute at all to this effective core potential. This is typical for all SD potentials (but may be different for program packages like TURBOMOLE that do not support arbitrary angular momentum with respect to the ECP and therefore use recontractions of the original parameter sets).
%basis
# ECP SD(10,MDF) for V
# M. Dolg, U. Wedig, H. Stoll, H. Preuss,
# J. Chem. Phys. 86, 866 (1987).
NewECP V
N_core 10
lmax f
s 2
1 14.4900000000 178.4479710000 2
2 6.5240000000 19.8313750000 2
p 2
1 14.3000000000 109.5297630000 2
2 6.0210000000 12.5703100000 2
d 2
1 17.4800000000 -19.2196570000 2
2 5.7090000000 -0.6427750000 2
f 1
1 1.0000000000 0.0000000000 2
end
end
7.5.7.3. ECPs and ghost atoms¶
When ghost atoms are defined on the input (see section
Special definitions), ECPs are not added to these atoms by default. If that is somehow needed, please add GhostECP true
under the %basis
block.
%basis
GhostECP true
# AllowGhostECP true # synonym
end
7.5.8. Embedding Potentials¶
Computations on cluster models sometimes require the presence of embedding potentials in order to account for otherwise neglected repulsive terms at the border [304]. In order to simplify these kind of calculations with ORCA the ECP embedding can be accomplished quite easily:
*xyz ...
# atom> charge x y z optional ECP declaration
Zr> 4.0 0.0 0.0 0.0 NewECP "SDD" end
...
*
The declaration of such a coreless ECP center takes place in the coordinates section by appending a bracket “>” to the element symbol. Note that embedding ECPs are treated as point charges in ORCA, so the charge has to be given next. The coordinates of the coreless ECP center have to be specified as usual and may be followed by an optional ECP assignment. In general, calculations that employ an ECP embedding procedure should be single point calculations. However if the need arises to perform a geometry optimization, make sure to set up explicit Cartesian constraints for the coreless ECP centers.
7.5.9. Linear Dependence¶
The previous sections describe the assessment of a desired molecular basis set from appropriately parametrized functions at various locations within the molecule (normally centered on atoms). The parametrization of these functions is such that the chance for redundancy is minimal. Since however, one is limited to work with finite numerical precision, and furthermore these parameters also depend on the molecular geometry, redundancies cannot be completely eliminated in advance. Redundancy means that the subspace spanned by the given basis functions at given values of parameters (including geometry), can be identically spanned by a smaller number of linear independent basis functions. Linear dependent (redundant) function sets however may cause numerical instabilities. Linear dependence is normally identified by searching for zero eigenvalues of the overlap matrix. Note that the inverse of the overlap (or related matrices) are used for orthogonalization purposes, and it follows that if near zero eigenvalues are not treated properly, the inverse becomes ill-defined, and the SCF procedure numerically unstable.
From the previous discussion, it is evident that the crucial parameter for curing linear dependence is the threshold below which an overlap eigenvalue is considered zero. This parameter may be changed using the following keyword
%scf
sthresh 1e-6 # default 1e-7
end
Although there is no strict limit for the value of the above parameter, it should reasonably be somewhere between 1e-5 and 1e-8 (the default is 1e-7). One may get away with 1e-9 or perhaps even lower without convergence problem, but there is a risk that the result is contaminated with noise caused by the near zero vectors. In difficult cases, an 1e-6 threshold was often found to work smoothly, and above that one risks throwing away more and more functions, which also influence comparability of results with other calculations. To monitor the behavior of the small eigenvalues, one should look for the following block in the output
Diagonalization of the overlap matrix:
Smallest eigenvalue ... -1.340e-17
Time for diagonalization ... 0.313 sec
Threshold for overlap eigenvalues ... 1.000e-07
Number of eigenvalues below threshold ... 1
Smallest eigenvalue above threshold ... 6.013e-07
Time for construction of square roots ... 0.073 sec
Total time needed ... 0.387 sec
Here, the smallest eigenvalue is printed, along with the currently used overlap threshold, and the number of functions below this (which will be dropped). It is a recommended consistency check to look for an equal number of zero entries among orbital energies once the SCF procedure converged. Note that for functions belonging to zero eigenvalues no level shifts are applied!
In case that redundant vectors were removed from the basis,
! MORead NoIter
should only be used in conjunction with the same
SThresh
as in the original calculation, otherwise the results will
be inconsistent.
! MORead
may still be used together with a change in SThresh
,
but a few SCF iterations will be required.
7.5.9.1. Automatic Adjustments for Near Linear-Dependent Cases¶
Starting from ORCA6, there is now a keyword called DiffSThresh, which controls
an automatic tightening of the integral cutoff parameters Thresh and TCut
in case small eigenvalues of the overlap matrix are found. We found this
to be important in some calculations using diffuse basis, and these parameters are
set to a minimum value of Thresh=1e-12 and TCut=1e-13 in case the “Smallest eigenvalue”
shown above gets below that number. If the cutoffs are already tighter than
that, for instance when using !VeryTightSCF
, than nothing will happen.
We found empirically that these are safe numbers to mitigate noise and
increase the robustness of the SCF procedure, thus they are enforced by default.
The default is 1e-6 and this can be turned off by setting %SCF DiffSThresh -1 END
on the input in case you don’t want this automatic adjustment to happen.
7.5.9.2. Removal of Redundant Basis Functions¶
While the approach described above is usually successful in removing
linear dependencies from the orbital basis set, the auxiliary basis used
in RI is not orthogonalized the same way. Instead, the RI linear
equation system is solved using a Cholesky decomposition (CD) of the
auxiliary basis Coulomb metric. If the auxiliary basis is redundant, the
CD fails and the program usually aborts. One simple solution implemented
in ORCA is to perform a pivoted Cholesky decomposition (PCD) of the
metric, terminating at a given threshold. Then, the shells contributing
to the nullspace are removed from the basis at the beginning of the
calculation. This can be requested for any of the basis sets using
either the overlap or the Coulomb metric. It is most appropriate for the
AuxJ/AuxJK/AuxC basis using the Coulomb metric. The truncated basis can
be examined using the !PrintBasis
keyword. Often, functions may be
removed for some atoms of a given element, but kept for others. As long
as the threshold is low enough, i.e. only truly redundant functions are
removed, this should not affect the molecular symmetry of the results.
%basis
PCDTrimBas Overlap # Trim the orbital basis in the overlap metric
PCDTrimAuxJ Coulomb # Trim the AuxJ basis in the Coulomb metric
PCDTrimAuxJK Coulomb # Trim the AuxJK basis in the Coulomb metric
PCDTrimAuxC Coulomb # Trim the AuxC basis in the Coulomb metric
PCDThresh -1 # Threshold for the PCD: chosen automatically if <0
end