qrunch.chemistry.molecule.basis_sets

Module with basis sets supported in the chemistry module.

Module Attributes

PopularBasisSetName

The available basis set names.

Functions

aux_basis_from_orbital_basis(basis_set)

Select an appropriate auxiliary basis set for density fitting based on the orbital basis set.

is_element_basis_combination_supported(...)

Check if a given PySCF basis set supports a specific element.

resolve_basis(value)

Resolve user basis name to internal Enum with PySCF-like normalization.

Classes

BasisSet

All supported basis sets.

class BasisSet

Bases: Enum

All supported basis sets.

ADZP = 'adzp'
AHLRICHS = 'ahlrichs'
AHLRICHSCFIT = 'ahlrichs-cfit'
ANO = 'ano'
AQZP = 'aqzp'
ATZP = 'atzp'
AUGCCPV5Z = 'aug-cc-pv5z'
AUGCCPV5ZDK = 'aug-cc-pv5z-dk'
AUGCCPV5ZJKFIT = 'aug-cc-pv5z-jkfit'
AUGCCPV5ZOPTRI = 'aug-cc-pv5z-optri'
AUGCCPV5ZRI = 'aug-cc-pv5z-ri'
AUGCCPVDZ = 'aug-cc-pvdz'
AUGCCPVDZDK = 'aug-cc-pvdz-dk'
AUGCCPVDZJKFIT = 'aug-cc-pvdz-jkfit'
AUGCCPVDZOPTRI = 'aug-cc-pvdz-optri'
AUGCCPVDZPJKFIT = 'aug-cc-pvdzp-jkfit'
AUGCCPVDZPRI = 'aug-cc-pvdzp-ri'
AUGCCPVDZRI = 'aug-cc-pvdz-ri'
AUGCCPVQZ = 'aug-cc-pvqz'
AUGCCPVQZDK = 'aug-cc-pvqz-dk'
AUGCCPVQZJKFIT = 'aug-cc-pvqz-jkfit'
AUGCCPVQZOPTRI = 'aug-cc-pvqz-optri'
AUGCCPVQZRI = 'aug-cc-pvqz-ri'
AUGCCPVTZ = 'aug-cc-pvtz'
AUGCCPVTZDK = 'aug-cc-pvtz-dk'
AUGCCPVTZJKFIT = 'aug-cc-pvtz-jkfit'
AUGCCPVTZOPTRI = 'aug-cc-pvtz-optri'
AUGCCPVTZRI = 'aug-cc-pvtz-ri'
AUGPC0 = 'aug-pc-0'
AUGPC1 = 'aug-pc-1'
AUGPC2 = 'aug-pc-2'
AUGPC3 = 'aug-pc-3'
AUGPC4 = 'aug-pc-4'
AUGPCSEG0 = 'aug-pc-seg-0'
AUGPCSEG1 = 'aug-pc-seg-1'
AUGPCSEG2 = 'aug-pc-seg-2'
AUGPCSEG3 = 'aug-pc-seg-3'
AUGPCSEG4 = 'aug-pc-seg-4'
BFDV5Z = 'bfd-v5z'
BFDVDZ = 'bfd-vdz'
BFDVQZ = 'bfd-vqz'
BFDVTZ = 'bfd-vtz'
CCPV5Z = 'cc-pv5z'
CCPV5ZDK = 'cc-pv5z-dk'
CCPV5ZJKFIT = 'cc-pv5z-jkfit'
CCPV5ZPP = 'cc-pv5z-pp'
CCPV5ZRI = 'cc-pv5zri'
CCPVDZ = 'cc-pvdz'
CCPVDZDK = 'cc-pvdz-dk'
CCPVDZFIT = 'ccpvdz-fit'
CCPVDZJKFIT = 'cc-pvdz-jkfit'
CCPVDZPP = 'cc-pvdz-pp'
CCPVDZRI = 'cc-pvdz-ri'
CCPVQZ = 'cc-pvqz'
CCPVQZDK = 'cc-pvqz-dk'
CCPVQZJKFIT = 'cc-pvqz-jkfit'
CCPVQZPP = 'cc-pvqz-pp'
CCPVQZRI = 'cc-pvqz-ri'
CCPVTZ = 'cc-pvtz'
CCPVTZDK = 'cc-pvtz-dk'
CCPVTZFIT = 'ccpvtz-fit'
CCPVTZJKFIT = 'cc-pvtz-jkfit'
CCPVTZPP = 'cc-pvtz-pp'
CCPVTZRI = 'cc-pvtz-ri'
CRENBL = 'crenbl'
CRENBS = 'crenbs'
CRYSTALCCPVDZ = 'crystal-cc-pvdz'
DEF2_QZVP = 'def2-qzvp'
DEF2_QZVPD = 'def2-qzvpd'
DEF2_QZVPP = 'def2-qzvpp'
DEF2_QZVPPD = 'def2-qzvppd'
DEF2_QZVPPD_RI = 'def2-qzvppd-ri'
DEF2_QZVPP_RI = 'def2-qzvpp-ri'
DEF2_QZVP_RI = 'def2-qzvp-ri'
DEF2_SVP = 'def2-svp'
DEF2_SVPD = 'def2-svpd'
DEF2_SVPD_RI = 'def2-svpd-ri'
DEF2_SVP_RI = 'def2-svp-ri'
DEF2_TZVP = 'def2-tzvp'
DEF2_TZVPD = 'def2-tzvpd'
DEF2_TZVPD_RI = 'def2-tzvpd-ri'
DEF2_TZVPP = 'def2-tzvpp'
DEF2_TZVPPD = 'def2-tzvppd'
DEF2_TZVPPD_RI = 'def2-tzvppd-ri'
DEF2_TZVPP_RI = 'def2-tzvpp-ri'
DEF2_TZVP_RI = 'def2-tzvp-ri'
DEF2_UNIVERSAL_JFIT = 'def2-universal-jfit'
DEF2_UNIVERSAL_JKFIT = 'def2-universal-jkfit'
DEMON = 'demon'
DEMONCFIT = 'demon-cfit'
DYALL2ZP = 'dyall-2zp'
DYALL3ZP = 'dyall-3zp'
DYALL4ZP = 'dyall-4zp'
DYALLAAE2Z = 'dyall-aae2z'
DYALLAAE3Z = 'dyall-aae3z'
DYALLAAE4Z = 'dyall-aae4z'
DYALLACV2Z = 'dyall-acv2z'
DYALLACV3Z = 'dyall-acv3z'
DYALLACV4Z = 'dyall-acv4z'
DYALLAE2Z = 'dyall-ae2z'
DYALLAE3Z = 'dyall-ae3z'
DYALLAE4Z = 'dyall-ae4z'
DYALLAV2Z = 'dyall-av2z'
DYALLAV3Z = 'dyall-av3z'
DYALLAV4Z = 'dyall-av4z'
DYALLCV2Z = 'dyall-cv2z'
DYALLCV3Z = 'dyall-cv3z'
DYALLCV4Z = 'dyall-cv4z'
DYALLV2Z = 'dyall-v2z'
DYALLV3Z = 'dyall-v3z'
DYALLV4Z = 'dyall-v4z'
DZ = 'dz'
DZP = 'dzp'
DZPDK = 'dzp-dk'
DZPDUNNING = 'dzp-dunning'
DZVP = 'dzvp'
DZVP2 = 'dzvp2'
HEAVYAUGCCPVDZJKFIT = 'heavy-aug-cc-pvdz-jkfit'
HEAVYAUGCCPVDZRI = 'heavy-aug-cc-pvdz-ri'
HEAVYAUGCCPVTZJKFIT = 'heavy-aug-cc-pvtz-jkfit'
HEAVYAUGCCPVTZRI = 'heavy-aug-cc-pvtz-ri'
IGLO = 'iglo'
IGLO3 = 'iglo3'
LANL08 = 'lanl08'
LANL2DZ = 'lanl2dz'
LANL2TZ = 'lanl2tz'
MINAO = 'minao'
PC0 = 'pc-0'
PC1 = 'pc-1'
PC2 = 'pc-2'
PC3 = 'pc-3'
PC4 = 'pc-4'
PCSEG0 = 'pc-seg-0'
PCSEG1 = 'pc-seg-1'
PCSEG2 = 'pc-seg-2'
PCSEG3 = 'pc-seg-3'
PCSEG4 = 'pc-seg-4'
POBTZVP = 'pob-tzvp'
POBTZVPP = 'pob-tzvpp'
POPLE_321G = '321g'
POPLE_321GS = '321gs'
POPLE_321G_STAR = '321g*'
POPLE_321_PP_G = '321++g'
POPLE_321_PP_GS = '321++gs'
POPLE_321_PP_G_STAR = '321++g*'
POPLE_431G = '431g'
POPLE_6311G = '6311g'
POPLE_6311GS = '6311gs'
POPLE_6311GSS = '6311gss'
POPLE_6311G_STAR = '6311g*'
POPLE_6311G_STAR_STAR = '6311g**'
POPLE_6311_PLUS_G = '6311+g'
POPLE_6311_PLUS_GS = '6311+gs'
POPLE_6311_PLUS_GSS = '6311+gss'
POPLE_6311_PLUS_G_STAR = '6311+g*'
POPLE_6311_PLUS_G_STAR_STAR = '6311+g**'
POPLE_6311_PP_G = '6311++g'
POPLE_6311_PP_GS = '6311++gs'
POPLE_6311_PP_GSS = '6311++gss'
POPLE_6311_PP_G_STAR = '6311++g*'
POPLE_6311_PP_G_STAR_STAR = '6311++g**'
POPLE_631G = '631g'
POPLE_631GS = '631gs'
POPLE_631GSS = '631gss'
POPLE_631G_STAR = '631g*'
POPLE_631G_STAR_STAR = '631g**'
POPLE_631_PLUS_G = '631+g'
POPLE_631_PLUS_GS = '631+gs'
POPLE_631_PLUS_GSS = '631+gss'
POPLE_631_PLUS_G_STAR = '631+g*'
POPLE_631_PLUS_G_STAR_STAR = '631+g**'
POPLE_631_PP_G = '631++g'
POPLE_631_PP_GS = '631++gs'
POPLE_631_PP_GSS = '631++gss'
POPLE_631_PP_G_STAR = '631++g*'
POPLE_631_PP_G_STAR_STAR = '631++g**'
QZP = 'qzp'
QZPDK = 'qzp-dk'
ROOSDZ = 'roos-dz'
ROOSTZ = 'roos-tz'
SBKJC = 'sbkjc'
STO3G = 'sto3g'
STO6G = 'sto6g'
TZP = 'tzp'
TZPDK = 'tzp-dk'
WEIGEND = 'weigend'
WEIGEND_ETB = 'weigend+etb'
PopularBasisSetName

The available basis set names.

alias of Literal[‘sto-3g’, ‘3-21g’, ‘6-31g’, ‘6-31g*’, ‘def2-svp’, ‘def2-tzvp’, ‘def2-tzvpp’, ‘cc-pvdz’, ‘cc-pvtz’, ‘cc-pvqz’, ‘aug-cc-pvdz’, ‘aug-cc-pvtz’, ‘aug-cc-pvqz’, ‘pc-0’, ‘pc-1’, ‘pc-2’, ‘pc-seg-0’, ‘pc-seg-1’, ‘pc-seg-2’, ‘weigend’]

aux_basis_from_orbital_basis(basis_set: BasisSet) BasisSet | None

Select an appropriate auxiliary basis set for density fitting based on the orbital basis set.

In case the basis set is not recognized or does not have a known tailored auxiliary basis, this function returns None, indicating that pre-defined auxiliary basis set is not available and an automatically generated auxiliary basis set (e.g., via the AutoAux procedure) should be used instead.

Only RI basis sets suitable for correlated treatments are returned (not JKFIT sets).

Parameters:

basis_set (BasisSet) – The orbital basis set.

Return type:

BasisSet | None

is_element_basis_combination_supported(basis_name: str, element_symbol: str) bool

Check if a given PySCF basis set supports a specific element.

Parameters:
  • basis_name (str) – The name of the basis set (e.g., ‘sto-3g’, ‘cc-pvdz’).

  • element_symbol (str) – The chemical symbol of the element (e.g., ‘H’, ‘O’).

Returns:

True if the basis set supports the element, False otherwise.

Return type:

bool

resolve_basis(value: BasisSet | Literal['sto-3g', '3-21g', '6-31g', '6-31g*', 'def2-svp', 'def2-tzvp', 'def2-tzvpp', 'cc-pvdz', 'cc-pvtz', 'cc-pvqz', 'aug-cc-pvdz', 'aug-cc-pvtz', 'aug-cc-pvqz', 'pc-0', 'pc-1', 'pc-2', 'pc-seg-0', 'pc-seg-1', 'pc-seg-2', 'weigend'] | str) BasisSet

Resolve user basis name to internal Enum with PySCF-like normalization.

Accept: - BasisSet (passes through), - curated Literal names (popular), or - any str (case/spacing/hyphen-insensitive; ‘+’ and ‘*’ preserved).

Parameters:

value (BasisSet | Literal['sto-3g', '3-21g', '6-31g', '6-31g*', 'def2-svp', 'def2-tzvp', 'def2-tzvpp', 'cc-pvdz', 'cc-pvtz', 'cc-pvqz', 'aug-cc-pvdz', 'aug-cc-pvtz', 'aug-cc-pvqz', 'pc-0', 'pc-1', 'pc-2', 'pc-seg-0', 'pc-seg-1', 'pc-seg-2', 'weigend'] | str) – Basis set identifier from user.

Return type:

BasisSet