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.

Table 7.9 Basis sets availability

Keyword

Availability

Orbital basis sets (Basis)

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 (AuxJK)

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 (AuxC)

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 (CABS)

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 [827] 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 [587, 588]:

!                         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