Basis-set library roadmap¶
Reconciled against current development: 2026-10-19. The original
2026-05-08 review is historical. The
pre-split basissetdev branch is not a pending integration dependency.
This roadmap tracks library coverage, not the separately versioned optimizer in vibe-basis. A bundled numerical record, an implemented Hamiltonian and scientific acceptance are three different facts.
GitLab milestone and weekly reconciliation¶
The development project’s Milestones page tracks this work as QC basis-library authoritative store (project milestone ID 8). The existing umbrella #295 and its focused store/provenance/cache/import issues remain the implementation and acceptance records. Missing library families are separate additions, not an unlimited release-completion requirement.
Review library coverage and tracker acceptance weekly against actual QVF records, generated renderings, resolver/import source and accepted checks. Use the main roadmap’s weekly review policy: implementation, qualification, release readiness and tagged delivery are different states. Advance QC’s feature target when the selected criteria pass; the library has no invented independent version line. The optimizer’s separate release milestones stay in vibe-basis.
Current implementation and priorities¶
QVF JSON records in
python/vibeqc/basis_library/qvf/are authoritative;.g94and.ecpfiles are generated renderings. The library guide documents conversion, provenance, citation routing and rendering checks.Molecular on-demand BSE lookup ships through the optional
[bse]extra andrun_job(fetch_from_bse=True). It reads the installed BSE catalogue; it is not a missing HTTP downloader. Periodicrun_periodic_jobdoes not expose that keyword.ECP integration, the pc/pcseg families, diffuse Pople variants, modified 3c bases, vDZP, LANL and the listed PP orbital families exist. They are not waiting on libecpint or on a new branch merge.
The named user basis store, provenance records and resolver are implemented. Remaining tracker acceptance must be distinguished from missing source. Do not edit rendered files as the primary data or add a second store.
Remaining work is targeted missing coverage, per-element provenance/parity, relativistic Hamiltonians for the all-electron relativistic families, and auxiliary-basis research. Automatic Stoychev-style AutoAux remains a proposal; a citation entry or a registry-selected fitting basis is not its implementation.
Cross-cutting prerequisites¶
Prerequisite |
Current state |
Remaining limitation |
|---|---|---|
ECP integrals |
Implemented through libecpint; basis/ECP records are loaded together |
Per-element accuracy and route coverage, not initial integration |
Scalar-relativistic X2C / DKH2 / ZORA |
Future method work |
Meaningful use of the corresponding all-electron recontracted sets |
GPW/GAPW |
Gaussian plus auxiliary plane-wave routes exist; GAPW remains experimental |
MOLOPT/GTH pairing and route qualification are separate from merely adding a basis file |
Pure-PW / PAW / ONCV / NAO |
Not the current Gaussian library architecture |
No implied commitment to import incompatible library families |
NMR shielding / J coupling |
Future property work |
A bundled pcS/pcJ basis does not implement the observable |
AutoAux and bespoke pob JK fits |
Research / missing generation workflow |
Published fit data, generation algorithm and numerical qualification |
The table below preserves the review’s priority recommendations. ✅ means a matching bundled orbital record is present, not full element coverage or a validated method; ❌ means no matching bundled record was found; 🚫 identifies a missing method or research prerequisite. Optional BSE catalogue availability is separate from bundled coverage. Historical counts of “45 missing” are removed because aliases and later additions made them unreliable.
The big table¶
Everything the review recommends, organised by family. “BSE name” is the catalogue identifier, not necessarily the bundled file stem. Use the current BSE loader or basis conversion tools rather than the old proposed fetch script.
Pople family¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
STO-3G |
|
✅ |
low |
Pedagogy / SCF guess. UI label: “for guess only”. |
STO-6G |
|
✅ |
low |
Same role as STO-3G; slightly better atomic energies. |
MINI |
|
✅ |
low |
Niche. |
3-21G |
|
✅ |
low |
UI label: “unpolarised, avoid for production”. |
6-31G |
|
✅ |
low |
Same UI label as 3-21G. |
6-31G(d) |
|
✅ |
medium |
Legacy default; keep. |
6-31G(d,p) |
|
✅ |
medium |
Same. |
6-31+G(d,p) |
|
✅ |
high |
Diffuse-aug; |
6-31++G(d,p) |
|
✅ |
high |
Best DZ basis per Pitman 2024; |
6-311G(d,p) |
|
✅ |
medium |
UI label: “polarised 6-311G is poorly parameterised, prefer pcseg-2 / def2-TZVP” (Pitman 2024). |
6-311+G(d,p) |
|
✅ |
medium |
Diffuse variant; |
6-311+G(2d,p) |
|
✅ |
low |
|
6-311+G(2df,p) |
|
❌ |
low |
Same, still missing. |
Karlsruhe def2 family¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
def2-SV |
|
✅ |
medium |
|
def2-SV(P) |
|
✅ |
medium |
|
def2-SVP |
|
✅ |
high |
Default DZ. |
def2-SVPD |
|
✅ |
medium |
|
def2-TZVP |
|
✅ |
highest |
Production default. |
def2-TZVPD |
|
✅ |
high |
|
def2-TZVPP |
|
✅ |
high |
|
def2-TZVPPD |
|
✅ |
high |
Inorganic main-group default. |
def2-QZVP |
|
✅ |
high |
Benchmark DFT. |
def2-QZVPP |
|
✅ |
high |
|
def2-QZVPPD |
|
✅ |
medium |
|
ma-def2-TZVP |
|
❌ |
high |
Truhlar minimally-augmented. |
ma-def2-TZVPP |
|
❌ |
medium |
|
ma-def2-SVP |
|
❌ |
medium |
|
def2-universal-J |
(built into def2-J) |
✅ |
high |
aux-fit, Coulomb |
def2-universal-JK |
(built into def2-JK) |
✅ |
high |
aux-fit, Coulomb+exchange |
Karlsruhe def2, relativistic (blocked on rel. Hamiltonian)¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
x2c-SVPall |
|
🚫 |
high |
Pollak-Weigend 2017. Blocked on X2C / DKH. |
x2c-TZVPall |
|
✅ |
high |
Same. |
x2c-QZVPall |
|
🚫 |
high |
Franzke 2020. |
x2c-TZVPall-s |
|
✅ |
medium |
NMR-tuned. |
dhf-SVP |
|
✅ |
medium |
Dirac-Hartree-Fock-derived def2-equivalent; |
dhf-TZVP |
|
✅ |
medium |
|
dhf-QZVP |
|
✅ |
low |
|
def2-TZVP-DKH |
|
🚫 |
medium |
DKH-recontracted. |
Karlsruhe def2, modified for 3c (bundled)¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
def2-mSVP |
|
✅ |
high |
PBEh-3c, B3LYP-3c carrier. |
def2-mTZVP |
|
✅ |
high |
B97-3c carrier. |
def2-mTZVPP |
|
✅ |
high |
r²SCAN-3c carrier. |
Dunning correlation-consistent¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
cc-pVDZ |
|
✅ |
high |
|
cc-pVTZ |
|
✅ |
high |
Post-HF default. |
cc-pVQZ |
|
✅ |
high |
CBS extrapolation. |
cc-pV5Z |
|
✅ |
medium |
|
cc-pV6Z |
|
✅ |
low |
|
cc-pV7Z |
|
✅ |
low |
|
aug-cc-pVDZ |
|
✅ |
high |
|
aug-cc-pVTZ |
|
✅ |
high |
Anions, response. |
aug-cc-pVQZ |
|
✅ |
medium |
|
aug-cc-pV5Z |
|
✅ |
medium |
|
cc-pV(D+d)Z |
|
✅ |
medium |
“tight d” for hypervalent S/P. |
cc-pV(T+d)Z |
|
✅ |
medium |
|
cc-pV(Q+d)Z |
|
✅ |
medium |
|
aug-cc-pV(T+d)Z |
|
✅ |
medium |
|
cc-pCVDZ |
|
✅ |
medium |
Core-valence. |
cc-pCVTZ |
|
✅ |
medium |
Core-valence. |
cc-pCVQZ |
|
✅ |
medium |
Core-valence. |
aug-cc-pCVTZ |
|
✅ |
medium |
Core-valence. |
cc-pwCVTZ |
|
✅ |
low |
Weighted core-valence. |
cc-pVTZ-F12 |
|
✅ |
medium |
Explicit-correlation. |
cc-pVQZ-F12 |
|
✅ |
medium |
Dunning pseudopotential-adapted (Peterson/Figgen small-core PPs)¶
Shipped 2026-09-08. Before that the library carried sixteen -PP-RIFIT
fitting sets and zero PP orbital sets: auxiliary bases for orbital bases
the registry would refuse to load. Each orbital set covers 39 elements
(Cu-Kr, Y-Xe, Hf-Rn) and carries its ECP blocks in the same BSE file;
scripts/setup_basis_library.sh splits them into a .g94 + .ecp pair.
Note the coverage asymmetry that remains, by design: the RI fits are narrower
than the orbital sets (15 elements for cc-pV*Z-PP-RIFIT, 21 for
cc-pwCV*Z-PP-RIFIT, 8 for aug-cc-pwCV*Z-PP-RIFIT). An RI job on an element
the fit omits is refused by the aux coverage guard naming the element (#480).
No JK fit is published for the family at all.
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
cc-pVDZ-PP |
|
✅ |
high |
Small-core PP; heavy-element orbital set. |
cc-pVTZ-PP |
|
✅ |
high |
|
cc-pVQZ-PP |
|
✅ |
medium |
|
cc-pV5Z-PP |
|
✅ |
low |
|
cc-pwCVDZ-PP |
|
✅ |
medium |
PP core-valence. |
cc-pwCVTZ-PP |
|
✅ |
medium |
|
cc-pwCVQZ-PP |
|
✅ |
low |
|
cc-pwCV5Z-PP |
|
✅ |
low |
|
aug-cc-pVDZ-PP |
|
✅ |
high |
PP + diffuse. |
aug-cc-pVTZ-PP |
|
✅ |
high |
|
aug-cc-pVQZ-PP |
|
✅ |
medium |
|
aug-cc-pV5Z-PP |
|
✅ |
low |
|
aug-cc-pwCVDZ-PP |
|
✅ |
medium |
|
aug-cc-pwCVTZ-PP |
|
✅ |
medium |
|
aug-cc-pwCVQZ-PP |
|
✅ |
low |
|
aug-cc-pwCV5Z-PP |
|
✅ |
low |
Jensen polarization-consistent (segmented + general)¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
pc-0 |
|
✅ |
medium |
Unpol DZ. |
pc-1 |
|
✅ |
medium |
DZ-pol. |
pc-2 |
|
✅ |
medium |
TZ-pol. |
pc-3 |
|
✅ |
low |
QZ-pol. |
pc-4 |
|
✅ |
low |
5Z-pol. |
pcseg-0 |
|
✅ |
high |
Segmented contraction. |
pcseg-1 |
|
✅ |
highest |
DFT-optimal DZ. |
pcseg-2 |
|
✅ |
highest |
DFT-optimal TZ, best on diet-GMTKN55 (Pitman 2024). |
pcseg-3 |
|
✅ |
medium |
|
pcseg-4 |
|
✅ |
low |
|
aug-pcseg-1 |
|
✅ |
high |
|
aug-pcseg-2 |
|
✅ |
high |
TDDFT, anions. |
pcS-0…3 |
|
✅ |
medium |
pcs-0 through pcs-3 data bundled; NMR shielding kernel remains open. |
pcJ-0…3 |
|
🚫 |
medium |
NMR J-coupling. |
vDZP (Grimme 2023, bundled)¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
vDZP |
|
✅ |
high |
ωB97X-3c carrier; uses ECPs; |
ANO families¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
ANO-RCC (full) |
|
✅ |
high |
Generally contracted. |
ANO-RCC-MB |
|
✅ |
low |
Minimal. |
ANO-RCC-VDZP |
|
✅ |
medium |
Specific contraction. |
ANO-RCC-VTZP |
|
✅ |
high |
Multireference TM standard. |
ANO-RCC-VQZP |
|
✅ |
medium |
|
ANO-R0 |
|
✅ |
medium |
Zobel-Widmark-Veryazov 2020. |
ANO-R1 |
|
✅ |
medium |
|
ANO-R2 |
|
✅ |
medium |
|
ANO-R3 |
|
✅ |
low |
LANL ECP (deprecated by review, ship for compatibility)¶
Name |
BSE id |
Status |
Priority |
Notes |
|---|---|---|---|---|
LANL2DZ |
|
✅ |
low |
UI label: “deprecated, use def2-TZVP + def2-ECP”. ECP integration is available. |
Periodic Gaussian¶
Name |
Source |
Status |
Priority |
Notes |
|---|---|---|---|---|
pob-TZVP |
Bredow tarball |
✅ |
highest |
Verified byte-clean f059b37. |
pob-DZVP-rev2 |
Bredow scrape |
✅ |
high |
Verified. |
pob-TZVP-rev2 |
Bredow tarball |
✅ |
highest |
Verified. S d-shell bug fixed. |
pob-DZVP (original) |
Bredow archive |
❌ |
medium |
Predecessor of rev2; for reproducibility. |
pob-DZVPP |
Bredow archive |
❌ |
medium |
Polar augmentation. |
pob-TZVPP |
Bredow archive |
❌ |
medium |
Polar augmentation. |
pob-TZVP-rev2 (Rb-I, fifth period) |
Bredow tarball |
✅ |
high |
ECP-backed fifth-period records are present; precision/parity remains per element. |
pob-TZVP-jk |
(to design) |
🚫 |
high |
Goal 5 of basissetdev. |
MOLOPT-SZV |
CP2K source |
🚫 |
medium |
Pairing and route qualification remain; GPW infrastructure exists. |
MOLOPT-DZVP |
CP2K source |
🚫 |
medium |
|
MOLOPT-TZVP |
CP2K source |
🚫 |
medium |
|
MOLOPT-TZV2P |
CP2K source |
🚫 |
medium |
|
dcm-TZVP |
Daga/Civalleri/Maschio 2020 |
❌ |
low |
System-specific (diamond, graphene, carbyne). |
Property-specific (data and property implementation are separate)¶
Name |
BSE id |
Status |
Priority |
Blocks |
|---|---|---|---|---|
EPR-II |
|
🚫 |
medium |
EPR g-tensor / hyperfine kernel |
EPR-III |
|
🚫 |
medium |
Same |
Sadlej-pVTZ |
|
✅ |
medium |
Polarizability, kernel exists |
LPolX (Maroulis) |
(BSE varied) |
❌ |
low |
Same |
ccX-DK |
|
❌ |
low |
Core-level X-ray |
Plane-wave / NAO / LAPW (out of scope today)¶
The review recommends VASP-PAW, PseudoDojo (ONCV), SSSP, GBRV, SG15, JTH PAW, FHI-aims tier 1-4, SIESTA NAO, and (L)APW+lo. vibe-qc is a Gaussian / atom-centred-orbital code today; none of these libraries fit the current architecture. The roadmap captures them under “deferred to a future periodic-PW chat”:
PseudoDojo (ONCV) is the recommended starting point if / when vibe-qc grows a plane-wave path. Open-source, well-curated, has scalar and fully-relativistic variants.
SSSP precision is the natural complement for high-throughput materials work.
PAW (VASP / GPAW / ABINIT JTH) is a substantial implementation lift via the projector formalism; defer until ONCV is stable.
FHI-aims tier-1/2 NAO would require a numerical-orbital integral path entirely separate from libint.
Inventory and maintenance¶
The library README, registry and QVF records define the live inventory. Check both element coverage and ECP pairing before using a family. Adding a record does not close a numerical acceptance issue, and a pending acceptance issue does not make existing data absent.
Select a genuinely missing record or coverage gap, checking the bundle and optional BSE catalogue first.
Convert/import into the existing QVF record system; preserve upstream identity, numerical content hash and per-element citations.
Render through
scripts/render_basis_library.pyor the supported setup script and check record/rendering parity. Keep ECP blocks with the correct orbital family and refuse uncovered elements.Validate the affected numerical use before making new accuracy claims.
Keep auxiliary-basis design and production optimized-basis campaigns in their own milestones; they do not hold unrelated library additions.
Cross-references¶
PLAN.md, top-level basissetdev plan; this roadmap is rolled in as a new long-term goal slot.
REQUIREMENTS-PERIODIC.md, historical design record to the periodic chat; the periodic-Gaussian items above partly depend on R1-R5 there.
GOAL4_DESIGN.md, basis-optimisation engine design; note: the optimiser will eventually generate basis sets that themselves go into this library (Goal 5: bespoke pob-*-jk; Goal 6: periodic metals basis).