qrunch.chemistry.molecule.basis_sets

Module with basis sets supported in the chemistry module.

Module Attributes

PopularBasisSetName

The available basis set names.

Functions

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'
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’]

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