qrunch.chemistry.molecule.basis_sets
Module with basis sets supported in the chemistry module.
Module Attributes
The available basis set names. |
|
an angular momentum followed by |
|
PySCF basis data for a single element, in the format returned by |
Functions
|
Select an appropriate auxiliary basis set for density fitting based on the orbital basis set. |
Check if a given PySCF basis set supports a specific element. |
|
|
Turn a reference basis into something PySCF's |
|
Resolve user basis name to internal Enum with PySCF-like normalization. |
Classes
All supported basis sets. |
- class BasisSet
Bases:
EnumAll supported basis sets.
- ADZP = 'adzp'
- AHLRICHS = 'ahlrichs'
- AHLRICHSCFIT = 'ahlrichs-cfit'
- ANO = 'ano'
- ANO_RCC_MB = 'ano-rcc-mb'
- ANO_RCC_VDZP = 'ano-rcc-vdzp'
- ANO_RCC_VTZP = 'ano-rcc-vtzp'
- 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-pcseg-0'
- AUGPCSEG1 = 'aug-pcseg-1'
- AUGPCSEG2 = 'aug-pcseg-2'
- AUGPCSEG3 = 'aug-pcseg-3'
- AUGPCSEG4 = 'aug-pcseg-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 = 'pcseg-0'
- PCSEG1 = 'pcseg-1'
- PCSEG2 = 'pcseg-2'
- PCSEG3 = 'pcseg-3'
- PCSEG4 = 'pcseg-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’, ‘pcseg-0’, ‘pcseg-1’, ‘pcseg-2’, ‘weigend’]
- PyscfElementBasis
PySCF basis data for a single element, in the format returned by
pyscf.gto.basis.load.alias of
list[list[int|list[float]]]
- PyscfShell
an angular momentum followed by
[exponent, coefficient, ...]rows.- Type:
One PySCF shell
alias of
list[int|list[float]]
- 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).
- 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
- reference_basis_for_pyscf(reference_basis: 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', 'pcseg-0', 'pcseg-1', 'pcseg-2', 'weigend'] | str, pyscf_molecule: object) str | dict[str, list[list[int | list[float]]]]
Turn a reference basis into something PySCF’s
minaoarguments accept.Ordinary basis sets pass through as their PySCF name. The truncated ANO-RCC rungs have no PySCF data file, so they are materialized into a per-element basis dictionary instead; see
_ANO_RCC_ZETA_LEVELSfor why, and for how to remove this oncebasis_set_exchangeis available. Both forms are accepted anywhere PySCF takes a basis, includinglo.iao.iao,lo.iao.reference_molandmcscf.avas.- Parameters:
reference_basis (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', 'pcseg-0', 'pcseg-1', 'pcseg-2', 'weigend'] | str) – The reference basis to resolve.
pyscf_molecule (object) – PySCF
Molewhose elements the basis must cover. Only consulted for the generated ANO-RCC rungs, which must be built element by element.
- Return type:
str | dict[str, list[list[int | list[float]]]]
- 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', 'pcseg-0', 'pcseg-1', 'pcseg-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', 'pcseg-0', 'pcseg-1', 'pcseg-2', 'weigend'] | str) – Basis set identifier from user.
- Return type: