Skip to content

Basis Sets

HUMMR makes use of the basis set library available in the Lible integral library https://github.com/MihkuU/Lible, where the basis sets have been adapted from the basis set exchange (BSE) webpage, https://www.basissetexchange.org/. The basis sets outlined below don't cover all of the available basis sets. For the present purposes, a subset of more commonly used ones was selected and tested against ORCA. For less common basis sets, please refer to the BSE. Be cautious however, that in its current state, Lible doesn't cover every possible basis set in BSE.

Note

When writing HUMMR calculation inputs, the basis sets are case insensitive like the rest of the keywords.

Main basis sets

Ahlrichs basis sets

Basis set name BSE reference Elements covered
SV ahlrichs-vdz H to Kr
SVP ahlrichs-pvdz H to Kr
def2-SVP def2-svp H to Rn
def2-SVPD def2-svpd H to Rn
def2-SV(P) def2-svp(p) H to Rn
def2-TZVP def2-tzvp H to Rn
def2-TZVPP def2-tzvpp H to Rn
def2-TZVPD def2-tzvpd H to La (excl. Hf to Rn)
def2-TZVPPD def2-tzvppd H to La (excl. Hf to Rn)
def2-QZVP def2-qzvp H to Rn
def2-QZVPP def2-qzvpp H to Rn
def2-QZVPD def2-qzvpd H to La (excl. Hf to Rn)
def2-QZVPPD def2-qzvppd H to La (excl. Hf to Rn)

Dunning basis sets

Basis set name BSE reference Elements covered
cc-pVDZ cc-pvdz H to Kr (excl. K)
cc-pVTZ cc-pvtz H to Kr (excl. K)
cc-pVQZ cc-pvqz H to Kr (excl. K)
cc-pV5Z cc-pv5z H to Kr (excl. K)
aug-cc-pVDZ aug-cc-pvdz H to Kr (excl. K, Ca)
aug-cc-pVTZ aug-cc-pvtz H to Kr (excl. K, Ca)
aug-cc-pVQZ aug-cc-pvqz H to Kr (excl. K, Ca)
aug-cc-pV5Z aug-cc-pv5z H to Kr (excl. K, Ca)

ANO basis sets

Basis set name BSE reference Elements covered
ANO-RCC-MB ano-rcc-mb H to Am
ANO-RCC-VDZP ano-rcc-vdzp H to Am
ANO-RCC-VTZP ano-rcc-vtzp H to Am
ANO-RCC ano-rcc H to Am

Pople basis sets

Basis set name BSE reference Elements covered
STO-3G STO-3G H to Xe
3-21G 3-21G H to Xe
6-31G 6-31G H to Kr

Auxiliary basis sets

Ahlrichs fitting basis sets

Basis set name BSE reference Elements covered
def2-JK def2-universal-JKFIT H to Rn
def2-SVP-C def2-svp-rifit H to Rn (excl. Ce to Lu)
def2-SVPD-C def2-svpd-rifit H to Rn (excl. Ce to Lu)
def2-TZVP-C def2-tzvp-rifit H to Rn (excl. Ce to Lu)
def2-TZVPD-C def2-tzvpd-rifit H to Rn (excl. Ce to Lu)
def2-QZVP-C def2-qzvp-rifit H to Rn (excl. Ce to Lu)
def2-QZVPP-C def2-qzvpp-rifit H to Rn (excl. Ce to Lu)
def2-QZVPPD-C def2-qzvppd-rifit H to Rn (excl. Ce to Lu)

Dunning fitting basis sets

Basis set name BSE reference Elements covered
cc-pvdz-rifit cc-pvdz-rifit H to Ar; Ga to Kr
cc-pvtz-rifit cc-pvtz-rifit H to Ar; Sc to Kr
cc-pvqz-rifit cc-pvqz-rifit H to Ar; Sc to Kr
cc-pv5z-rifit cc-pv5z-rifit H to Ar; Sc to Kr
cc-pv6z-rifit cc-pv6z-rifit H to He; B to Ne; Al to Ar
aug-cc-pvdz-rifit aug-cc-pvdz-rifit H to Kr (excl. Li, Na, Sc-Zn)
aug-cc-pvtz-rifit aug-cc-pvtz-rifit H to Kr (excl. Li, Na, K, Ca)
aug-cc-pvqz-rifit aug-cc-pvqz-rifit H to Kr (excl. Li, Na, K, Ca)
aug-cc-pv5z-rifit aug-cc-pv5z-rifit H to Kr (excl. Na, Mg, K, Ca)
aug-cc-pv6z-rifit aug-cc-pv6z-rifit H to Ar (excl. Li, Be, Na, Mg)
cc-pvtz-jkfit cc-pvtz-jkfit 1, 5-9, 13-17, 31-35
cc-pvqz-jkfit cc-pvqz-jkfit 1, 5-9, 13-17, 31-35
cc-pv5z-jkfit cc-pv5z-jkfit 1, 5-9, 13-17, 31-35

Note

The -C RI-fitting basis sets are optimized for MP2 correlation fitting,1 use with caution when doing CASSCF calculations.


Reading in and modifying Basis Sets

The BASIS keyword can also used with two more arguments to do a calculation with the Basis Set from a JSON file. This can be invoked by with the keywordline: Basis user-defined-json name.json.

There is also the possibility to modify the Basis Set. The starting point is always a Basis Set invoked through the keyword BASIS, which is set to a certain Basis set or which is read in from a JSON file. Then a new Basis Set can be assigned to specific elements or atoms in the BasisSet block. Note, that this overwrites the old Basis Set the these elements and atoms. Furthermore the atom specific Basis Sets supersede the element sprecific ones. Be careful: HUMMR starts counting the atoms from 0 and not from 1. The following is a sample input for a calculation using the Basis user-defined-json keyword and makes use of the Basis Set modification via the BasisSet block. The associated JSON file is oldbasis.json.

basis_set.inp
General
CalcType CASSCF
Charge 0
Mult 2
Basis user-defined-json oldbasis.json
End

CASSCF
NEl 3
NOrb 3
CISolver FCI
MaxIter 0
OrbStep FNR
FullConvergence true
End

BasisSet
Elements {C} def2-tzvp
Atoms {3-5,7} def2-svp
End

Geom
  C           2.81623297231720     -0.26561230779992      0.00819931420184
  C           3.98490958981717      0.47464708010529      0.01249731407978
  C           1.54227948243064      0.27346531676351     -0.00492809329372
  H           2.90766183347182     -1.34954832742008     -0.00274817369111
  H           4.95709022767437     -0.00152429282177     -0.00056556996781
  H           3.95873015158816      1.55937910533832      0.00068056283730
  H           1.39099562287169      1.34763580750932      0.00028705176666
  H           0.66170011982890     -0.35644238167468     -0.01342240593293
End

User-Defined Basis Sets

A further option is to manually define a (auxiliary) basis set. This option can be invoked by setting the BASIS and/or AUXBASIS keywords to User-DEFINED in the GENERAL input block. In this case, the FileName must be provided as an additional parameter. The following is a sample input for a calculation using a User-Defined Basis Set:

calc_user_defined_basis.inp
General
  CalcType SCF
  Basis USER-DEFINED user_defined_basis
  Charge 0
  Mult 1
End

SCF
  SCFType RHF
End

Geom
  H 0.000000 0.000000 0.000000
  H 0.000000 0.000000 0.900000
End

The file corresponding to that name contains the details of the basis set. More precisely, each (contracted) basis function has to be assigned to each atom type as shown below:

user_defined_basis
H
  3 S
    13.010701000000 0.019682160000
     1.962257200000 0.137965240000
     0.444537960000 0.478319350000
  1 S
     0.121949620000 1.000000000000
  1 P
     0.800000000000 1.000000000000
end

The definition of a shell of basis function starts with its contraction depth followed by its angular momentum (S, P, D, F, G, H, I). Then a line containing the exponent and coefficient for each primitive function must be given. The basis definition for each atom must be terminated by the end keyword.

Note

If the PRINTBASIS keyword is set to true, HUMMR produces a file that can be read in at a later time.


Importing Basis Sets from ORCA

An alternative basis set format can be imported from ORCA by setting BASIS and/or AUXBASIS to USER-DEFINED-ORCA and providing the FileName as the additional parameter as shown in the example below:

calc_orca_import_basis.inp
General
  CalcType SCF
  Basis USER-DEFINED-ORCA orca_import_basis
  Charge 0
  Mult 1
End

SCF
  SCFType RHF
End

Geom
  H 0.000000 0.000000 0.000000
  H 0.000000 0.000000 0.900000
End

In this case, the basis output as provided by the ORCA program package is used. Below is a sample input for a contracted basis as imported from the ORCA program package:

orca_import_basis
NewGTO H
  S 3
    1 13.0107010000 0.0334854848
    2  1.9622572000 0.2347218709
    3  0.4445379600 0.8137702853
  S 1
    1  0.1219496200 1.0000000000
  P 1
    1  0.8000000000 1.0000000000
end;

  1. DOI: 10.1007/s00214-007-0250-5