Basis sets¶
Modern quantum chemistry has converged on a small number of well-engineered basis-set families. This page is a practical guide to picking the right one for your system, with explicit notes on what vibe-qc ships today and what’s on the roadmap.
What vibe-qc ships today¶
Available now
90 standard molecular bases bundled with libint (Pople, Dunning, def2, Sapporo, ANO, core-valence). Use the standard names (
"sto-3g","6-31g*","cc-pvdz","def2-tzvp", …).pob-TZVP, pob-TZVP-rev2, pob-DZVP-rev2 — the Peintinger-Vilela-Oliveira-Bredow family for periodic calculations on solids (project author’s design papers).
vq.make_basis(mol, name, exp_to_discard=...)— primitive filter that drops diffuse Gaussians below an exponent threshold. PySCF-style; useful for using molecular bases in tight ionic crystals. See user guide § linear dependence.
Basis-set library coverage today
Most of the families discussed below resolve to a real load on a
clean install. The bundled
python/vibeqc/basis_library/
ships pob-TZVP, pob-DZVP-rev2, pob-TZVP-rev2, the def2 series,
the cc-pVxZ family, and the Pople sets, with the right ECP
attachment for dhf-/x2c-/vDZP via vq.auto_ecp_centers. The
Basis Set Exchange JSON pipeline ships on the basissetdev
long-lived branch and feeds re-optimisations, NMR / EPR /
response variants, and per-functional aux-basis pairings; that
machinery lands in main on a paper-by-paper schedule rather
than in a single sweep. Check the file listing under
python/vibeqc/basis_library/ for what resolves today.
Using a basis set¶
from vibeqc import BasisSet
basis = BasisSet(mol, "pob-tzvp")
print(basis.nbasis) # number of basis functions
For periodic systems with diffuse molecular bases, optionally filter the most-diffuse primitives:
import vibeqc as vq
basis = vq.make_basis(mol, "def2-tzvp", exp_to_discard=0.1)
# — drops every primitive with α < 0.1 and prints the drop log
Background and terminology¶
A basis set is the finite set of analytic functions used to expand the molecular orbitals. Modern molecular codes use contracted Gaussian-type orbitals (cGTOs), with the primitive radial part \(G_\alpha(r) = N e^{-\alpha r^2}\). Solids more often use plane waves \(e^{i\mathbf{k}\cdot \mathbf{r}}\), numerical atom-centred orbitals, or augmented plane waves.
Key descriptors:
Zeta level (n-zeta) — number of basis functions used to describe each valence orbital. STO-3G is single-zeta. 6-31G, def2-SVP, cc-pVDZ are double-zeta. def2-TZVP, cc-pVTZ, pcseg-2 are triple-zeta. cc-pVQZ, def2-QZVP are quadruple-zeta.
Polarisation functions — higher-angular-momentum functions (d on C, p on H, f on transition metals, etc.) that allow the electron density to deform on bond formation. Modern usage demands them: unpolarised basis sets like 6-31G or cc-pVDZ-without-d should never be used for production.
Diffuse functions — low-exponent functions needed for anions, weakly bound species, Rydberg states, and many response properties (polarisabilities, NMR shielding, TDDFT excitations). Indicated by
+,++,aug-, orma-prefixes.Contraction — segmented vs. general. Segmented (Pople, def2, pcseg) is faster in most integral codes. Generally contracted (cc, ANO) is more compact and accurate per primitive but needs a code that exploits it.
Effective core potential (ECP) — replaces inner-shell electrons with a parameterised potential. Reduces cost, builds in scalar relativistic effects. The Stuttgart/Cologne ECPs paired with def2 valence sets are the de facto standard above Kr.
Polarisation-consistent vs. correlation-consistent — cc-pVnZ was optimised to recover correlation energy in CCSD/CCSD(T). pc-n / pcseg-n was optimised to converge HF and DFT energies. For DFT, pcseg-n is technically the better-targeted choice, but def2-TZVP achieves nearly the same accuracy at lower cost in practice.
A note on basis set superposition error (BSSE) and basis set incompleteness error (BSIE): these are large at the double-zeta level (several kcal/mol on noncovalent interactions) and are the reason a triple-zeta basis is now the recommended floor for any quantitative molecular work. The geometrical counterpoise correction (gCP) of Kruse and Grimme is the cheapest practical fix and is built into the 3c composite methods below.
Choosing a molecular basis set¶
Small — fast-screening / pedagogical tier¶
Basis |
Zeta |
Notes |
|---|---|---|
STO-3G |
SZ |
Single-zeta minimal, no polarisation. Useful only for initial guesses, very large systems where qualitative geometries suffice, or pedagogy. |
MINI / MINIs (Huzinaga) |
SZ |
Slightly better than STO-3G atomic energies. Niche use. |
3-21G |
DZ (unpol) |
Old Pople split-valence. Faster than 6-31G but unpolarised. Avoid for production. |
pcseg-0 / pc-0 |
DZ (unpol) |
Jensen DZ without polarisation. Better-balanced than 3-21G. |
6-31G |
DZ (unpol) |
Historical workhorse without polarisation. Pitman et al. (2024) showed unpolarised DZ basis sets perform poorly and should not be used. |
Bottom line. Support STO-3G (legacy + pedagogical) and 3-21G (rare speed-dominated contexts). All other small basis sets should carry a “not for production” warning.
Medium — polarised double-zeta, the everyday tier¶
Basis |
Notes |
|---|---|
def2-SVP |
Karlsruhe segmented DZ with polarisation on heavy atoms. The most widely used DZ basis in modern DFT codes. Best speed/accuracy balance for routine geometry optimisation. |
vDZP (Grimme 2023) |
Custom polarised DZ used inside ωB97X-3c. Large-core ECPs and deep contraction. On TorsionNet206 drug-like benchmark, vDZP-based methods give MAEs of 0.4–0.5 kcal/mol — comparable to triple-zeta hybrid methods. |
6-31++G(d,p) |
Pitman et al. (2024) found this the best-performing DZ basis on diet-GMTKN55. Diffuse functions matter. |
6-31G(d,p) / 6-31G** |
Classic Pople workhorse. Acceptable for organic structures, inferior to def2-SVP at similar cost. |
pcseg-1 |
Jensen segmented DZ-polarised. Slightly better than def2-SVP for HF/DFT energies, less widely supported. |
cc-pVDZ |
Dunning DZ. Designed for correlation; for pure DFT less efficient than pcseg-1 or def2-SVP. Useful as a stepping stone in cc-pVnZ extrapolations. |
def2-mSVP |
Modified def2-SVP used inside PBEh-3c and B3LYP-3c. Not for standalone use. |
LANL2DZ |
Hay-Wadt ECP plus DZ valence. Historically common for transition metals but inferior to def2-SVP/TZVP plus def2-ECP. Should be deprecated. |
Bottom line. def2-SVP is the default. vDZP is a strong contender for any system with heavy atoms.
Large — triple-zeta and above, production accuracy¶
Basis |
Notes |
|---|---|
def2-TZVP |
The de facto reference for hybrid-DFT calculations on molecules of any size where it is affordable. Within 0.5 kcal/mol of def2-QZVPD for main-group thermochemistry. |
def2-TZVPP |
Extra polarisation on hydrogen. Recommended for transition metals, weak interactions, properties beyond geometries. |
pcseg-2 |
Best-performing TZ basis for DFT thermochemistry on diet-GMTKN55. Slightly better than def2-TZVP, less widely available. |
cc-pVTZ / aug-cc-pVTZ |
Dunning TZ, the reference for post-HF (MP2, CCSD(T)). Use aug- variant for anions, noncovalent, response. |
def2-QZVP / def2-QZVPP |
Quadruple-zeta. For benchmarking small molecules, basis-set-limit reference, double-hybrid functionals. |
cc-pVQZ / aug-cc-pVQZ |
Quadruple-zeta correlation-consistent. Standard for CCSD(T)/CBS extrapolation in |
pcseg-3 / pcseg-4 |
Larger pc-n family members. Excellent DFT convergence but rarely needed in practice. |
def2-TZVPD / ma-def2-TZVP |
TZ with diffuse functions. Use for anions, TDDFT, polarisabilities. The “ma-” (minimally augmented) Truhlar-Zheng variants are a cheaper alternative to full aug-. |
cc-pV5Z, cc-pV6Z, aug-cc-pV5Z |
For very small systems and CBS extrapolation only. |
ANO-RCC-VTZP, ANO-RCC-VQZP |
Generally contracted relativistic ANOs. Standard for CASPT2/NEVPT2/MS-CASPT2. Compact per primitive, ideal for multireference. |
Bottom line. def2-TZVP is the production-quality default. cc-pVTZ family is the reference for post-HF. ANO-RCC is mandatory for multireference.
By chemical category¶
Organic molecules (C, H, N, O, S, halogens, P)¶
Tier |
Recommendation |
|---|---|
Small (geometry, screening) |
def2-SVP or B97-3c (def2-mTZVP + D3 + gCP) |
Medium (production) |
def2-TZVP with a hybrid functional (ωB97X-D, ωB97M-V, M06-2X, B3LYP-D3) |
Large (benchmark) |
aug-cc-pVTZ → aug-cc-pVQZ extrapolation, or ωB97M-V/def2-QZVPP |
Anions, Rydberg, response |
aug- variants required (aug-cc-pVTZ, ma-def2-TZVP, aug-pcseg-2) |
Pople basis sets (6-31G(d), 6-311G(2df,p)) remain in widespread use due to inertia. The polarised 6-311G family is poorly parameterised (Pitman et al. 2024 explicitly recommends avoiding it). For new work, support 6-31G(d) and 6-31++G(d,p) for compatibility but encourage def2.
Metal-organic / organometallics (TM complexes, MOFs)¶
Tier |
Recommendation |
|---|---|
Small (screening) |
def2-SVP (with def2-ECP for 4d/5d) plus dispersion correction |
Medium (production) |
def2-TZVP / def2-TZVPP on the metal, def2-TZVP on ligands. Use a TM-tested functional: TPSSh, B3LYP*-D3(BJ), or PWPB95-D3(BJ) for benchmarking. |
Large (benchmark) |
def2-QZVPP, x2c-TZVPPall for explicit relativity |
Multireference |
ANO-RCC-VTZP / VQZP with CASPT2, NEVPT2, or DMRG-CASPT2 |
Spin states |
Truhlar’s group recommends def2-TZVP for spin-splitting energies; extra polarisation does not help |
Avoid LANL2DZ for new work — Stuttgart/Cologne ECPs (built into def2) are more accurate.
For 4d / 5d transition metals, scalar relativistic effects matter. Either use def2-ECP, or for explicit treatment use dhf-TZVP / x2c-TZVPall (Pollak-Weigend 2017) or DKH-recontracted def2 (def2-TZVP-DKH).
Inorganic main-group (clusters, oxides, halides, hypervalent)¶
Tier |
Recommendation |
|---|---|
Small |
def2-SVP (with care for hypervalent S, P needing extra d) |
Medium |
def2-TZVPPD (the extra d and diffuse matter) or aug-cc-pV(T+d)Z for second-row hypervalent |
Large |
def2-QZVP, aug-cc-pwCVTZ-DK for explicit core-valence |
Anions, halide complexes |
aug- variants required |
Heavy main group (Sn, Pb, Bi) |
def2-TZVP plus ECP, or all-electron x2c-TZVPall |
For second-row hypervalent (SO₃²⁻, SF₆, PF₅, ClO₄⁻), the “tight d” variants (e.g. aug-cc-pV(T+d)Z, Dunning et al. 2001) are essential. The def2 family already includes appropriate d-functions for these atoms.
Biomolecules (peptides, nucleic acids, lipids, sugars)¶
Tier |
Recommendation |
|---|---|
Screening (large fragments) |
r2SCAN-3c (def2-mTZVPP + D4 + gCP) or B97-3c |
Production (single-point on optimised fragments) |
def2-TZVP with ωB97X-D or B3LYP-D3(BJ) |
Noncovalent / hydrogen bonding |
def2-TZVPPD or ma-def2-TZVP, with explicit dispersion (D4 preferred) |
Vibrational, NMR |
property-specific basis sets (pcS-n for shielding, pcJ-n for J couplings) |
The 3c composite methods are particularly well-suited here because gCP corrects for the BSSE that dominates large-biomolecule binding-energy errors. Recent benchmarks (Behara et al. 2024, TorsionNet206) showed B3LYP-D3BJ/6-31G(d) is now clearly inferior to vDZP-based or 3c methods at comparable cost.
Pharma / drug-like molecules¶
Tier |
Recommendation |
|---|---|
High-throughput conformer / torsion scans |
ωB97X-3c (vDZP) or r2SCAN-3c |
Reference single-points for force-field parametrisation |
ωB97M-V/def2-TZVPPD or DLPNO-CCSD(T)/def2-TZVPP |
QM/MM cores |
def2-SVP (QM region), with def2-TZVP single-point refinement |
vDZP deserves particular attention here. The Rowan/Wagen TorsionNet206 study showed vDZP-based methods give 0.4–0.5 kcal/mol MAE on torsion energies (versus CCSD(T)/def2-TZVP), comparable to standard hybrid functionals with triple-zeta basis sets. The use of ECPs makes it especially efficient for halogenated and metal-containing drug candidates.
Choosing a basis set for solids¶
Periodic codes split into three philosophical camps:
Plane waves + pseudopotentials. VASP, Quantum ESPRESSO, ABINIT, CASTEP, GPAW. A single cutoff energy parameter controls the basis. No BSSE. Smooth convergence. Heavy reliance on the quality of the pseudopotential or PAW dataset.
Gaussian basis sets. CRYSTAL, CP2K (mixed Gaussian-plane wave), Turbomole-Riper, FHI-aims (in some modes). Inherits molecular-style basis sets, but they need re-optimisation for solids — diffuse functions in molecular bases lead to linear dependencies in periodic systems.
Numerical atomic orbitals or augmented plane waves. FHI-aims, SIESTA, OpenMX (NAO); WIEN2k, exciting, ELK (LAPW+lo). Highly accurate, smaller basis sizes but slower per evaluation.
vibe-qc is family 2 (Gaussian basis, with periodic-image folding for solid-state). For users moving back and forth between codes, the surveys below cover all three.
Plane-wave pseudopotential libraries¶
The pseudopotential is the basis-set-equivalent choice for plane-wave codes. The cutoff is the convergence parameter.
Library |
Code |
Type |
Characteristics |
|---|---|---|---|
VASP PAW (PBE / PBE.54 / PBE.64) |
VASP |
PAW |
The de facto industry standard for materials science. |
SSSP precision (1.3.0) |
Quantum ESPRESSO |
mixed PAW + USPP + ONCV |
EPFL/Marzari curated. Most accurate open-source PSP library: avg Δ-factor below 0.4 meV/atom against all-electron references (Prandini et al. 2018). |
SSSP efficiency (1.3.0) |
QE |
mixed |
Same protocol with lower cutoffs, faster, slightly less accurate. Standard for high-throughput. |
PseudoDojo (ONCV, NC SR/FR) |
abinit, QE, others |
norm-conserving (ONCV) |
Hamann-Schlüter-Chiang; scalar and fully-relativistic versions. State of the art for systematic, hybrid-functional, and GW calculations. |
SG15 |
many |
ONCV |
Schlipf-Gygi 2015. Solid alternative to PseudoDojo, well-tested. |
GBRV |
QE, ABINIT |
USPP, PAW |
Garrity-Bennett-Rabe-Vanderbilt high-throughput library. |
JTH PAW |
ABINIT |
PAW |
Jollet-Torrent-Holzwarth. ABINIT-native PAW. |
The 2016 multi-code Δ-factor study (Lejaeghere et al., Science) showed that all of these libraries now agree with all-electron LAPW codes (WIEN2k, exciting) to within roughly 1 meV/atom on equation-of-state data — the practical floor for DFT precision.
Gaussian basis sets for periodic systems¶
Basis |
Code |
Notes |
|---|---|---|
pob-TZVP |
CRYSTAL, vibe-qc |
Peintinger-Vilela Oliveira-Bredow 2013 (project author). TZ polarised for solids, derived from def2-TZVP by re-optimisation to remove diffuse linear dependencies. CRYSTAL community standard. |
pob-TZVP-rev2 |
CRYSTAL, vibe-qc |
Vilela Oliveira et al. 2019. Improved performance for transition metals. Use this over the original pob-TZVP for any new work. |
pob-DZVP-rev2 |
CRYSTAL, vibe-qc |
DZ companion to pob-TZVP-rev2. |
MOLOPT (SZV/DZVP/TZVP/TZV2P) |
CP2K |
Optimised by VandeVondele-Hutter for numerical stability in periodic systems with the GPW approach. CP2K standard. |
dcm-TZVP |
CRYSTAL |
Daga-Civalleri-Maschio 2020. System-specific re-optimisations for diamond, graphene, carbyne. Illustrative of all-purpose-library limits. |
MOLOPT-aug (aug-MOLOPT-ae) |
CP2K |
Augmented MOLOPT for excited states (TDDFT, BSE-GW). Recent. |
vibe-qc users default to pob-TZVP-rev2 for ionic crystals; see the pob basis sets in detail section further down this page and user guide § linear dependence for the design philosophy.
Numerical atomic orbitals + (L)APW+lo¶
Basis / tier |
Code |
Notes |
|---|---|---|
FHI-aims tier 1 |
FHI-aims |
“Light” species defaults. Polarised DZ-equivalent. Sub-meV precision for many energy differences. |
FHI-aims tier 2 |
FHI-aims |
“Tight” species defaults. Roughly QZVP-quality but smaller. FHI-aims production standard. |
FHI-aims tier 3 / 4 |
FHI-aims |
Reference quality. For benchmarking only. |
tier2_aug2 |
FHI-aims |
tier 2 plus two lowest-l aug-cc functions. Required for excited-state and weakly-bound-anion calculations. |
SIESTA SZ / DZ / DZP / TZP |
SIESTA |
Numerical pseudo-atomic orbitals with confinement. DZP is the standard SIESTA production basis. |
(L)APW+lo |
WIEN2k, exciting |
Augmented plane waves. The all-electron gold standard for periodic DFT. Slower than PAW but no pseudopotential approximation. |
By solid type¶
Metals (elemental, alloys, intermetallics)¶
Tier |
Recommendation |
|---|---|
Small (screening) |
PAW with default cutoff (e.g. VASP |
Medium (production) |
PseudoDojo standard ONCV or VASP PAW with semicore states ( |
Large (benchmark) |
LAPW+lo (WIEN2k, exciting) with all-electron references |
Magnetic systems |
Always include semicore states. For 3d magnetism use |
Common pitfalls: forgetting semicore p-states in early transition metals (Sc–Cr), too-low cutoff for d-block elements, underconverged k-meshes. Choudhary-Tavazza 2019 NIST study on 30,000+ materials provides good convergence heuristics by element.
Oxides (binary oxides, perovskites, TM oxides)¶
Tier |
Recommendation |
|---|---|
Small |
PAW with O standard, screening-functional (PBEsol or SCAN) |
Medium |
VASP PAW with O_h or O_s + high cutoff (520 eV minimum, often 600–700 eV). Materials Project standard is 520 eV with O standard. SSSP precision in QE. |
Large |
PAW + DFT+U (Dudarev) or hybrid (HSE06) for correlated TM oxides. For benchmarking, all-electron LAPW. |
Strongly correlated |
DFT+U with carefully chosen U (e.g. Materials Project tabulated values), or hybrid (HSE06, PBE0). |
Defects, polarons |
Hybrid (HSE06) and large supercell. |
Oxygen p-states are deep and the O 2s semicore needs a cutoff substantially above what alkali-halide systems require. The 520 eV Materials Project default is widely accepted.
Semiconductors (Si, Ge, III-V, II-VI, halide perovskites)¶
Tier |
Recommendation |
|---|---|
Small |
PAW with PBE, modest cutoff (300–400 eV) |
Medium |
PAW or ONCV (PseudoDojo) with PBE for structure, hybrid (HSE06) or G₀W₀ for band gaps. Include spin-orbit for heavy elements (GaAs, halide perovskites). |
Large (band-gap accuracy) |
G₀W₀ on top of HSE06 or PBE, with NAO tier 2 + aug2 (FHI-aims) or LAPW + high-energy local orbitals (HLO). |
Excitonic absorption |
BSE-GW with appropriate basis (aug-MOLOPT-ae in CP2K, tier2+aug2 in FHI-aims, LAPW+HLO+lo in exciting). |
For halide perovskites and other heavy-element semiconductors,
scalar + spin-orbit relativity is essential. Use fully-relativistic
PseudoDojo or VASP PAW with LSORBIT = .TRUE..
Composite “3c” methods¶
These bundle a tailored basis with corrections (geometric counterpoise gCP, dispersion D3/D4, sometimes a modified short-range correction).
Method |
Functional |
Basis |
Year |
Notes |
|---|---|---|---|---|
HF-3c |
Hartree-Fock |
MINIX |
2013 |
Cheapest. Useful for very large systems where mean-field qualitative behaviour suffices. |
PBEh-3c |
PBE0 (42% HF) |
def2-mSVP |
2015 |
Hybrid. Strong for noncovalent geometries. |
HSE-3c |
HSE |
def2-mSVP |
2015 |
Range-separated hybrid variant of PBEh-3c. |
B97-3c |
B97 GGA |
def2-mTZVP |
2018 |
Workhorse GGA. Especially recommended for transition-metal systems. |
r2SCAN-3c |
r²SCAN meta-GGA |
def2-mTZVPP |
2021 |
Current “Swiss army knife” recommendation. Excellent default for routine work — geometries, thermochemistry, noncovalent. |
B3LYP-3c |
B3LYP |
def2-mSVP |
2022 |
Tailored for IR spectra (B3LYP frequencies are particularly accurate). |
ωB97X-3c |
ωB97X-V |
vDZP |
2023 |
Range-separated hybrid plus vDZP. Often the best 3c for thermochemistry and barrier heights. |
The published 3c benchmark MAEs on GMTKN55 are competitive with much more expensive calculations. First-class support for the modified bases (def2-mSVP, def2-mTZVP, def2-mTZVPP, vDZP) plus gCP and D4 corrections is the path to making these turnkey — roadmap item.
Property-specific basis sets¶
Critical to know about, but not “general-purpose” so they don’t appear in the main rankings:
Property |
Basis family |
Reference |
|---|---|---|
NMR shielding |
pcS-n (Jensen) |
Jensen 2008, J. Chem. Theory Comput. 4, 719 |
NMR J-coupling |
pcJ-n (Jensen) |
Jensen 2006, J. Chem. Theory Comput. 2, 1360 |
NMR (relativistic) |
x2c-TZVPall-s (Franzke-Weigend) |
Franzke et al. 2019, Phys. Chem. Chem. Phys. 21, 16658 |
EPR (g-tensor, hyperfine) |
EPR-II, EPR-III, x2c-TZVPall-s |
Barone 1996; Franzke et al. |
Core-level X-ray (XPS, NEXAFS) |
cc-pCVnZ, aug-cc-pCVnZ, ccX-DK |
Peterson et al.; Hanson-Heine et al. |
Polarisability, hyperpolarisability |
Sadlej, aug-cc-pVnZ, LPolX |
Sadlej 1988; Bauernschmitt-Ahlrichs 1996 |
Excited states (TDDFT) |
aug-cc-pVTZ, ma-def2-TZVPP, aug-pcseg-2 |
Many |
Master recommendation table¶
Compact view of the recommended sets at each tier and category. Everything listed is freely available from the Basis Set Exchange or built into common open-source codes.
Domain |
Small (fast) |
Medium (production) |
Large (benchmark) |
|---|---|---|---|
Organic molecules |
def2-SVP, B97-3c |
def2-TZVP |
def2-QZVPP, aug-cc-pVQZ |
Metal-organic |
def2-SVP + def2-ECP |
def2-TZVPP + def2-ECP |
def2-QZVPP, ANO-RCC-VTZP (multiref) |
Inorganic main-group |
def2-SVP |
def2-TZVPPD |
aug-cc-pV(Q+d)Z, def2-QZVPPD |
Biomolecules |
r2SCAN-3c, B97-3c |
def2-TZVP + D4 |
DLPNO-CCSD(T)/def2-TZVPP |
Pharma / drug-like |
ωB97X-3c (vDZP) |
def2-TZVPPD |
ωB97M-V/def2-QZVPP |
Excited states |
def2-SVPD |
ma-def2-TZVPP, aug-pcseg-2 |
aug-cc-pVQZ, tier2+aug2 |
Multireference |
ANO-RCC-VDZP |
ANO-RCC-VTZP |
ANO-RCC-VQZP |
Heavy elements (relativistic) |
x2c-SVPall, dhf-SVP |
x2c-TZVPall, dhf-TZVPP |
x2c-QZVPPall |
Solids: metals (PW) |
PseudoDojo standard |
PseudoDojo stringent / SSSP precision |
LAPW+lo (WIEN2k) |
Solids: oxides (PW) |
VASP PAW (520 eV) |
VASP PAW + HSE06, SSSP precision |
LAPW+lo, all-electron |
Solids: semiconductors (PW) |
PAW + PBE |
PAW + G₀W₀ on HSE06 |
LAPW+HLO, BSE-GW |
Solids: Gaussian periodic |
pob-DZVP |
pob-TZVP-rev2, MOLOPT TZVP |
dcm-TZVP (system-specific) |
Solids: NAO all-electron |
FHI-aims tier 1 (light) |
FHI-aims tier 2 (tight) |
FHI-aims tier 3, LAPW+lo |
Bold entries are the “if you support exactly one thing in this category, support this” recommendations.
pob-* basis sets in detail¶
The pob-* sets were designed by the project author and collaborators around the CRYSTAL code’s requirements for solid-state calculations. Standard molecular TZVP bases contain very diffuse functions that, when periodic images overlap across unit cells, produce near-linear-dependent basis sets — SCF convergence suffers or fails outright. The pob family tightens those functions to make them usable in solids.
Coverage¶
Name |
Elements |
Reference |
|---|---|---|
pob-TZVP |
H–Br (32) |
Peintinger, Vilela Oliveira, Bredow, J. Comput. Chem. 34, 451 (2013) |
pob-TZVP-rev2 |
H–Br (32) |
Vilela Oliveira, Laun, Peintinger, Bredow, J. Comput. Chem. 40, 2364 (2019) |
pob-DZVP-rev2 |
subset (19) |
(same as above) |
Heavy elements¶
The pob-* archives for Rb–I (up to Z=53), Cs–Po (to Z=84), and La–Lu (Z=57–71) require effective core potentials. vibe-qc’s CRYSTAL parser recognises the ECP blocks in those files and the libecpint integration ships in v0.4.0+ — see the roadmap for the full ECP coverage state.
Method scope¶
The pob-* basis sets are optimised for DFT and hybrid-DFT
work on solids — that’s the regime the parameter
re-optimisations in Peintinger 2013 / Vilela Oliveira 2019
targeted, and the regime where the bundled .g94 files have
been validated. For pure Hartree-Fock or correlated methods
(MP2, CCSD, …) on periodic systems, pob-* is not the right
basis choice: SCF convergence under defaults is unreliable
(e.g. MgO RHF/pob-TZVP requires aggressive LEVSHIFT and 200+
cycles even in CRYSTAL14 itself), and the basis was never
recommended for correlated treatment.
For periodic RHF / RKS-without-hybrid-mixing parity work, prefer
either STO-3G (for cheap, robust baselines) or a hardened
def2-family basis with diffuse primitives discarded
(exp_to_discard=0.1). The bundled
baseline_sto3g/
reference inputs follow this principle.
Re-fetching the pob-* library¶
Because we ship the .g94 conversions in the repository, a fresh
clone already has them under basis_library/custom/. If you want
to re-fetch from the Bredow group server (e.g. for a future
revision):
python -m vibeqc.basis_crystal fetch
./scripts/setup_basis_library.sh
The fetcher writes to basis_library/custom/; the setup script
assembles basis_library/basis/ from libint’s stock set plus
those customs.
Parsing a CRYSTAL-format basis directly¶
from vibeqc.basis_crystal import parse_crystal_atom_basis_file, emit_g94
atom = parse_crystal_atom_basis_file("path/to/06_C")
print(atom.element_symbol, len(atom.shells))
with open("my-basis.g94", "w") as f:
f.write(emit_g94([atom]))
Drop the resulting my-basis.g94 into basis_library/custom/ and
run ./scripts/setup_basis_library.sh to pick it up.
CRYSTAL format in one page¶
The per-element files that Bredow, CRYSTAL’s library, and most other solid-state QC projects distribute use CRYSTAL’s native input format:
Z NSHELL ← header: atomic number, shell count
ITYPE LAT NG CHE SCAL ← shell 1 header
exp₁ coef₁ ← NG primitive lines
exp₂ coef₂
...
ITYPE LAT NG CHE SCAL ← shell 2 header
...
Each shell header has:
Token |
Meaning |
|---|---|
|
Format code; |
|
Shell angular-momentum code: |
|
Number of primitive Gaussians in the contraction. |
|
Formal occupancy of the shell (electrons). |
|
Scale factor; primitive exponents are multiplied by \(\text{SCAL}^2\). |
For ECP-bearing atoms (heavy elements, Rb–I and beyond in the
pob family), the first line uses 200+Z and an INPUT block
follows the header describing the ECP.
vibeqc.basis_crystal.parse_crystal_atom_basis_file(path) returns
a dataclass that mirrors this structure:
>>> atom = parse_crystal_atom_basis_file("pob-TZVP/06_C")
>>> atom.Z, atom.element_symbol
(6, 'C')
>>> atom.shells[0].shell_type, atom.shells[0].n_primitives
('S', 6)
>>> atom.shells[0].exponents[:2]
[13575.349682, 2035.2333680]
emit_g94(list_of_atom_basis) renders them to libint’s .g94
(NWChem-format) text.
Key references¶
Reviews and best-practice guides¶
Bursch, M., Mewes, J.-M., Hansen, A., Grimme, S. Best-Practice DFT Protocols for Basic Molecular Computational Chemistry. Angew. Chem. Int. Ed. 2022, 61, e202205735. doi:10.1002/anie.202205735
Karton, A. Good Practices in Database Generation for Benchmarking Density Functional Theory. WIREs Comput. Mol. Sci. 2025, 15, e1737. doi:10.1002/wcms.1737
Goerigk, L., Hansen, A., Bauer, C., Ehrlich, S., Najibi, A., Grimme, S. A look at the density functional theory zoo with the advanced GMTKN55 database. Phys. Chem. Chem. Phys. 2017, 19, 32184. doi:10.1039/C7CP04913G
Pitman, S. J., Evans, A. K., Ireland, R. T., Lempriere, F., McKemmish, L. K. Benchmarking Basis Sets for DFT Thermochemistry: Why Unpolarized Basis Sets and the Polarized 6-311G Family Should Be Avoided. J. Phys. Chem. A 2023, 127, 10295. doi:10.1021/acs.jpca.3c05573
Pople family¶
Hehre, W. J., Stewart, R. F., Pople, J. A. J. Chem. Phys. 1969, 51, 2657 (STO-nG).
Binkley, J. S., Pople, J. A., Hehre, W. J. J. Am. Chem. Soc. 1980, 102, 939 (3-21G).
Hariharan, P. C., Pople, J. A. Theor. Chim. Acta 1973, 28, 213 (6-31G(d,p)).
Krishnan, R., Binkley, J. S., Seeger, R., Pople, J. A. J. Chem. Phys. 1980, 72, 650 (6-311G).
Dunning correlation-consistent¶
Dunning, T. H. Jr. J. Chem. Phys. 1989, 90, 1007 (cc-pVnZ).
Kendall, R. A., Dunning, T. H. Jr., Harrison, R. J. J. Chem. Phys. 1992, 96, 6796 (aug-cc-pVnZ).
Dunning, T. H. Jr., Peterson, K. A., Wilson, A. K. J. Chem. Phys. 2001, 114, 9244 (cc-pV(n+d)Z).
Karlsruhe def2 family¶
Weigend, F., Ahlrichs, R. Phys. Chem. Chem. Phys. 2005, 7, 3297 (def2 series).
Weigend, F. Phys. Chem. Chem. Phys. 2006, 8, 1057 (def2/J auxiliary).
Rappoport, D., Furche, F. J. Chem. Phys. 2010, 133, 134105 (def2-XVPD diffuse-augmented).
Jensen polarisation-consistent¶
Jensen, F. J. Chem. Phys. 2001, 115, 9113 (pc-n).
Jensen, F. J. Chem. Phys. 2002, 117, 9234 (aug-pc-n).
Jensen, F. J. Chem. Theory Comput. 2014, 10, 1074 (pcseg-n).
Relativistic and ANO¶
Pollak, P., Weigend, F. J. Chem. Theory Comput. 2017, 13, 3696 (x2c-XVPall).
Franzke, Y. J., Spiske, L., Pollak, P., Weigend, F. J. Chem. Theory Comput. 2020, 16, 5658 (x2c-QZVPPall).
Roos, B. O., Lindh, R., Malmqvist, P.-Å., Veryazov, V., Widmark, P.-O. J. Phys. Chem. A 2005, 109, 6575 (ANO-RCC TM).
Zobel, J. P., Widmark, P.-O., Veryazov, V. J. Chem. Theory Comput. 2020, 16, 278 (ANO-R).
Composite 3c methods¶
Sure, R., Grimme, S. J. Comput. Chem. 2013, 34, 1672 (HF-3c).
Grimme, S., Brandenburg, J. G., Bannwarth, C., Hansen, A. J. Chem. Phys. 2015, 143, 054107 (PBEh-3c).
Brandenburg, J. G., Bannwarth, C., Hansen, A., Grimme, S. J. Chem. Phys. 2018, 148, 064104 (B97-3c).
Grimme, S., Hansen, A., Ehlert, S., Mewes, J.-M. J. Chem. Phys. 2021, 154, 064103 (r2SCAN-3c).
Müller, M., Hansen, A., Grimme, S. J. Chem. Phys. 2023, 158, 014103 (ωB97X-3c, vDZP).
Wagen, C. C. The vDZP Basis Set Is Effective for Many Density Functionals. Rowan publication, 2024 (TorsionNet206 benchmarks).
Periodic Gaussian basis sets¶
Peintinger, M. F., Vilela Oliveira, D., Bredow, T. J. Comput. Chem. 2013, 34, 451 (pob-TZVP). doi:10.1002/jcc.23153
Vilela Oliveira, D., Laun, J., Peintinger, M. F., Bredow, T. J. Comput. Chem. 2019, 40, 2364 (pob-TZVP-rev2). doi:10.1002/jcc.26013
Laun, J., Vilela Oliveira, D., Bredow, T. J. Comput. Chem. 2018, 39, 1285.
VandeVondele, J., Hutter, J. J. Chem. Phys. 2007, 127, 114105 (MOLOPT).
Daga, L. E., Civalleri, B., Maschio, L. J. Chem. Theory Comput. 2020, 16, 2192 (dcm-TZVP).
Plane wave and PAW pseudopotentials¶
Blöchl, P. E. Phys. Rev. B 1994, 50, 17953.
Kresse, G., Joubert, D. Phys. Rev. B 1999, 59, 1758 (VASP PAW).
Hamann, D. R. Phys. Rev. B 2013, 88, 085117 (ONCV).
van Setten, M. J. et al. Comput. Phys. Commun. 2018, 226, 39 (PseudoDojo).
Schlipf, M., Gygi, F. Comput. Phys. Commun. 2015, 196, 36 (SG15).
Prandini, G., Marrazzo, A., Castelli, I. E., Mounet, N., Marzari, N. npj Comput. Mater. 2018, 4, 72 (SSSP).
Lejaeghere, K. et al. Science 2016, 351, aad3000 (Δ-factor benchmark across codes).
Garrity, K. F., Bennett, J. W., Rabe, K. M., Vanderbilt, D. Comput. Mater. Sci. 2014, 81, 446 (GBRV).
Numerical atomic orbitals¶
Blum, V. et al. Comput. Phys. Commun. 2009, 180, 2175 (FHI-aims).
Soler, J. M. et al. J. Phys.: Condens. Matter 2002, 14, 2745 (SIESTA).
Database¶
Pritchard, B. P., Altarawy, D., Didier, B., Gibson, T. D., Windus, T. L. J. Chem. Inf. Model. 2019, 59, 4814. Basis Set Exchange