Feature matrix¶
The capability matrix as of v0.15.0 (codename Neese’s Cheetah).
For when each feature shipped, see
CHANGELOG.md.
For what’s coming next, see roadmap.md.
Molecular SCF¶
Method |
Driver |
Open-shell |
Gradient |
Hessian (FD) |
Hessian (analytic) |
MP2 |
Validated vs PySCF |
|---|---|---|---|---|---|---|---|
RHF |
|
- |
✓ |
✓ ( |
✓ ( |
✓ ( |
✓ machine precision |
UHF |
|
✓ |
✓ |
✓ |
(roadmap 17c) |
✓ ( |
✓ machine precision |
RKS |
|
- |
✓ |
✓ |
(roadmap 17e) |
- |
✓ grid-accuracy |
UKS |
|
✓ |
✓ |
✓ |
(roadmap 17f) |
- |
✓ grid-accuracy |
ROHF |
|
✓ (spin-pure) |
✓ analytic |
✓ (freqs) |
(roadmap) |
(roadmap M6) |
PySCF-parity tests¹ |
ROKS |
|
✓ (spin-pure) |
✓ (FD, opt) |
(roadmap M5b) |
(roadmap M5b) |
- |
PySCF-parity tests¹ |
¹ ROHF/ROKS: the Roothaan-coupling + energy math is verified directly
(closed-shell→RHF/RKS reduction, SCF stationarity, and ROKS fractional
degenerate frontier shells such as OH(2Pi)); the end-to-end PySCF-parity
and ROHF-on-singlet==RHF tests are written and run in the full dev-box
suite (tests/test_rohf.py, tests/test_roks.py).
Mean-field functionals libxc supports work through RKS / UKS / ROKS (500+ functionals including LDA, GGAs, hybrid GGAs, the τ-dependent meta-GGA family (TPSS, TPSSh, M06-L, M06-2X, SCAN, r²SCAN, r²SCAN01), and the range-separated hybrids ωB97X, ωB97X-D, and the VV10-paired ωB97X-V / ωB97M-V; direct double-hybrid ROKS calls still route through the double-hybrid dispatcher). HF and DFT analytic gradients are available for LDA, GGA, hybrid-GGA, and the τ-dependent meta-GGA family (modulo the f-shell gradient bug on open-shell UHF / UKS). Meta-GGA analytic Hessians and range-separated-hybrid analytic gradients are still queued. Range-separated hybrids run via direct SCF (not yet density-fitting).
Wavefunction methods (v0.9.0-v0.12.0)¶
Non-mean-field electronic-structure methods that do not
conceptually rely on a Hartree-Fock reference. All reachable
through run_job(method=…) and as a standalone
vibeqc.solvers import. See
user_guide/non_hf_solvers.md
and the non_hf_solvers tutorial.
Post-HF correlation methods¶
Correlated wavefunction methods that build on a Hartree-Fock
reference. All reachable through run_job(method=…).
Method |
|
Reference |
Notes |
|---|---|---|---|
CISD |
|
HF orbitals |
Fixed-space variational singles+doubles CI via |
CC2 |
|
RHF |
Ground-state second-order approximate coupled cluster. The singles projection is complete and the doubles equation retains the T1-transformed Hamiltonian plus |
CCSD |
|
RHF / UHF / ROHF |
Canonical dense CCSD, density-fitted by default or on exact four-index integrals ( |
CC3 |
|
RHF |
Ground-state iterative CC3 with converged singles/doubles and approximate connected triples regenerated at every iteration. Exact MO integrals and frozen cores are supported. Energy-only and benchmark-scale because the dense determinant representation grows combinatorially. Validated against out-of-process ORCA 6.1 UHF AUTOCI-CC3 on closed-shell references. |
CCSDT |
|
RHF / ROHF |
Full iterative singles, doubles, and triples from the exact determinant-space similarity projection. Exact MO integrals, frozen cores, and common-orbital open shells are supported. Energy-only and benchmark-scale because the dense determinant representation grows combinatorially. |
CCSD(T) |
|
RHF / UHF / ROHF |
Canonical CCSD (DF or exact-integral) plus the perturbative triples correction; closed- and open-shell (UCCSD(T) / ROHF-CCSD(T)). Frozen natural orbitals (FNO) available for closed-shell (DF only). Validated vs PySCF (uHa; conventional route to a few nHa) with ORCA 6.1 cross-checks. |
A-CCSD(T) |
|
RHF |
Closed-shell asymmetric/Lambda triples correction on CCSD amplitudes. The effective method and citation route are |
QCISD / QCISD(T) |
|
RHF |
Closed-shell quadratic CI singles+doubles via exact monomial selection from the canonical CCSD residual. QCISD(T) uses the original Pople-Head-Gordon-Raghavachari |
CCD / LCCD / LCCSD / CEPA(0..3) |
|
RHF |
Coupled-pair variants of the closed-shell DF-CCSD kernel ( |
DLPNO-CCSD |
|
RHF / UHF |
Domain-based local pair natural orbital CCSD. Closed-shell: reduced-scaling local solver (pair classification, PAO domains, per-pair PNO solver). Open-shell (multiplicity > 1) auto-routes to UHF + the spin-orbital DLPNO-UCCSD pilot (Saitow 2017; O(N⁶), |
DLPNO-CCSD(T) |
|
RHF / UHF |
Closed-shell: local solver plus local DLPNO-(T) (per-triple TNO domains), full-domain == canonical CCSD(T); defaults give MAE 0.30 kcal/mol vs canonical (0.166 with |
DLPNO-MP2 |
|
RHF / UHF |
Domain-based local pair natural orbital MP2 (Pinski 2015); closed-shell and open-shell DLPNO-UMP2 (UHF reference, Saitow 2017). Boys-localised occupieds, per-pair PNO virtual space; defaults recover >= 99.8 % of canonical RI-MP2 E_corr, thresholds -> 0 reproduces it to <= 1 uHa. |
IC-CASPT2 |
|
CASSCF/CASCI |
Internally-contracted CASPT2, un-gated at v0.12.0. Large-basis direct active-CI path. |
CASCI + CASSCF |
|
- |
Multi-root CASCI ( |
TDDFT (Casida + TDA) |
|
RHF/RKS/UHF/UKS |
Vertical excitation energies, oscillator strengths, transition dipoles, dominant orbital transitions. Runner integration: `run_job(tddft=True, nto=True, tddft_type=”tda” |
CIS / TDA |
|
HF / MSINDO |
Configuration-interaction singles; Tamm-Dancoff approximation. Finite-difference excited-state gradients (state-tracked). |
Green’s function (GF2 / OVGF) |
|
HF / MSINDO |
Quasiparticle IPs and EAs (result |
Method |
|
Solver entry point |
Notes |
|---|---|---|---|
Full CI |
|
(dense |
Exact within the (active) orbital space; reference for the approximate solvers. Small active spaces only. |
Selected CI (CIPSI) |
|
|
Iterative perturbative selection; |
DMRG |
|
|
Two-site sweep, MPS wavefunction, bond-dimension schedule. Minimal Python implementation, ≤12 orbitals. |
Variational 2-RDM |
|
|
Exact small-active-space N-representable 1/2-RDM from the in-tree determinant Hamiltonian; Q/G SDP feedback remains unimplemented. |
Transcorrelated CI |
|
|
Similarity-transformed Hamiltonian (Gaussian / Jastrow correlator) fed to selected CI. |
Active-space truncation: pass
active_space=(n_orbitals, n_electrons)torun_jobto restrict any solver to a frozen-core / CAS-style window. The runner projects the full MO-basisHamiltonianonto the active block viaHamiltonian.active_space, which applies the standard CAS partition (lowest(nelec − n_elec)/2orbitals as a doubly-occupied inactive core) with the proper frozen-core dressing, the effective one-electron termh̃_pq = h_pq + Σ_c (2⟨pc|qc⟩ − ⟨pc|cq⟩)and the constantE_coreoffset folded into the nuclear-repulsion term, so the reported energy is the full CAS total energy. The dressing is shared with thecascipath, sofci/selected_ci/dmrg/v2rdmon a given active space agree withcascion the same window to numerical precision (E_FCI ≤ E_CAS ≤ E_HF). Seepython/vibeqc/solvers/ACTIVE_SPACE.mdfor the contract andtests/test_solvers_active_space_api.pyfor the variational-sandwich + cross-method coverage.Orbital source is decoupled, the solvers operate on an abstract
Hamiltonianin an orthonormal MO basis;get_hf_orbital_provideris a convenience, not a requirement.Geometry optimisation, wavefunction methods optimise via numerical gradients (
run_job(method="fci", optimize=True)); analytic gradients are roadmap.Parity, He / OH FCI parity tests and DMRG-vs-FCI cross-checks ship in
tests/test_solvers_*.
Density fitting + RIJCOSX (v0.8.0)¶
JKBuilder polymorphic Fock build via three concrete kernels;
see user_guide/density_fitting.md.
Kernel |
Driver flags |
When |
|---|---|---|
|
(default) |
small (≤250 BFs) |
|
|
medium (~250-1000 BFs), hybrid DFT |
|
|
large (>1000 BFs), hybrid DFT |
RIJK gradient: production-ready. The historical ~115 mHa glycine bug closed in v0.8.0; see
user_guide/density_fitting.md.RIJCOSX SCF + analytic gradient: validated to 0.13 mHa vs ORCA 6.1.1 on glycine / def2-TZVP.
default_aux_basis_for(orbital_basis_name, kind="jk"/"ri")helper picks aux basis automatically.
Periodic SCF (native GDF / GPW / BIPOLE / Γ-CCM / χ-CCM)¶
Γ-CCM and χ-CCM[1] are distinct union-and-weight and
finite-translation-group character approaches. The code selectors remain
aiccm2026dev-a and aiccm2026dev-b.
Method |
Driver |
k-point support |
Notes |
|---|---|---|---|
RHF, Γ-only GDF |
|
Γ, dim=1/3 (slab raises) |
native vibe-qc J/K via Gaussian density fitting; no in-process PySCF |
RKS / hybrids, Γ-only GDF |
|
Γ, dim=1/3 (slab raises) |
native libxc |
KRHF multi-k GDF |
|
Γ + multi-k, dim=1/3 (slab raises) |
native k-dependent GDF; Γ delegates to the Γ-GDF path, any other Monkhorst-Pack mesh runs the full multi-k loop. Also reachable via |
KRKS multi-k GDF |
|
Γ + multi-k, dim=1/3 (slab raises) |
native multi-k RKS / hybrid path; PySCF / CRYSTAL are out-of-process references only |
RIJCOSX periodic SCF |
|
Gamma RHF; true multi-k RHF/RKS/UHF/UKS |
RI-J from the native GDF loop plus periodic COSX exchange ( |
χ-CCM SCF / post-HF |
|
real-space cyclic lattice extension, 3D absolute energies only |
finite-character (Γ-centred character-mesh) CCM with four-centre, RI, and RIJCOSX restricted/unrestricted SCF plus 3D finite-torus correlation; every 1D/2D B backend fails closed pending a shared wire/slab Coulomb convention; local CC remains an O(N^6) correctness pilot, not production reduced scaling |
χ-CCM RI-MP2 |
|
finite cyclic mesh, 3D |
momentum-conserving canonical RI-MP2 on the χ-CCM RI-RHF reference; external KMP2 parity; experimental |
Γ-CCM / aiccm2026dev-a |
|
real-space cyclic cluster extension (nrep) |
union-and-weight/Wigner-Seitz integral-weighting CCM: HF/KS with the four-center construction, construction-specific RIJCOSX research, MP2/UMP2, CCSD(T), analytic gradients, properties, localization, and symmetry. |
A-namespace neutral fitted-torus controls |
|
separately declared finite-torus control operator |
character/Bloch and real-Gamma evaluations plus restricted/unrestricted canonical and DLPNO correlation on the matching neutral control. These APIs are in |
Cell-resolved DF integral blocks |
|
dim=1/2/3 |
native translation-resolved 2c/3c storage and Bloch/Lpq assembly for k-dependent GDF; Γ tensors are recovered by summing blocks |
2D slab SCF (SLAB_EWALD_2D) |
|
Γ + multi-k, dim=2 only |
Rigorous vacuum-free 2D Ewald (Parry 1975; de Leeuw and Perram 1979) for RHF / RKS / UKS. No vacuum gap: the third lattice column is synthesized bookkeeping and the total energy is invariant to it; |
BIPOLE RHF / UHF / RKS / UKS |
|
Γ + multi-k |
Production exact Ewald-J energy route for closed- and open-shell periodic SCF. Multi-k KS analytic gradient with space-group symmetry and multipole L=3 (v0.12.0). The multipole far-field branch remains experimental/off by default |
GPW RHF / UHF / RKS / UKS (v0.12.0) |
|
Γ-only (RKS/UKS need |
Production Gaussian Plane Waves route (serial), unified |
RHF / RKS / UHF / UKS Ewald-3D (legacy) |
|
Γ + multi-k |
native debug path; not the CRYSTAL-parity target |
Multi-k UHF / UKS via GDF |
- |
- |
roadmap (GDF parity chain closed at v0.11.0; multi-k UHF/UKS GDF extension queued) |
ROHF periodic, Ewald-3D |
|
Γ + multi-k, dim=3 |
Standalone HF drivers with the shared Roothaan coupling and integer 2/1/0 occupations; not wired through |
ROHF periodic, GPW |
|
Γ only, dim=3 |
Implemented standalone HF route: GPW Hartree J, per-spin exact K, Ewald one-electron/nuclear gauge, and the shared Roothaan loop. No GDF/BIPOLE/GAPW, periodic ROKS, or electronic smearing; |
Atomic gradients (periodic) |
|
Γ + multi-k |
Phase G1; ships for RHF / UHF / RKS / UKS |
Periodic force-virial diagnostic |
|
Γ + multi-k |
Diagnostic only; not the periodic stress. Use route-specific FD strain/cell optimizers for cell relaxation |
Reference benchmark: ΔE = -6.8e-12 Ha for MgO/sto-3g/Γ RHF vs out-of-process PySCF.pbc.GDF. Multi-k KRHF / KRKS GDF is now native, the multi-k Ewald-gauge fix brings a multi-k mesh to within 0.000 mHa of the Γ-point energy in the molecular limit; there is no in-process PySCF backend.
See user_guide/multi_k_scf.md
for the full multi-k story including the dense-Lpq RAM
ceiling caveat.
Semiempirical methods + MLIP (v0.11.0-v0.12.0)¶
Method |
|
Coverage |
Notes |
|---|---|---|---|
MSINDO |
|
INDO H-Xe (Z 1-54); NDDO H, Li-F, Na-Cl closed shell |
Independent MSINDO INDO/NDDO implementation. Native C++ production routes cover supported molecular RHF/UHF energy, closed-shell analytic gradients, CCM energy/gradients, and COSMO helper kernels; Python remains for reference/orchestration paths including excited-state/root-tracking workflows. |
GFN2-xTB |
|
H-Rn (Z 1-86) |
Gated experimental tight-binding semiempirical route; molecular H0, shell SCC, third-order, AES, analytic gradients, and scoped post-SCF native D4 are implemented. Periodic AES images and external |
MACE MLIP (v0.11.x) |
|
universal |
Machine-learning interatomic potential via |
Effective core potentials¶
libecpint 1.0.7 vendored. Heavy-element chemistry (d-block, lanthanides, actinides) reachable without all-electron basis.
ECP library |
Family |
Coverage |
|---|---|---|
|
Stuttgart-Köln MDF, 10-electron core |
post-K (rows 4+) |
|
Stuttgart-Köln MDF, 28-electron core |
post-Cd |
|
Stuttgart-Köln MDF, 46-electron core |
post-Hg |
|
Stuttgart-Köln MDF, 60-electron core |
f-block (post-Yb) |
|
Stuttgart-Köln MDF, 78-electron core |
actinides |
|
Hay-Wadt LANL |
post-Na (rows 3+) |
Two recipes: manual ECPCenter (always shipped) and
vq.auto_ecp_centers(mol, basis_name) (shipped on main).
See user_guide/ecp.md for the full story.
Analytic nuclear gradients are ECP-aware on all four molecular
drivers (GradientOptions.ecp_centers / ecp_library; the ASE
calculator and optimize=True wire them automatically): Z_eff
nuclear pieces plus dV_ECP/dR via libecpint first derivatives,
analytic-vs-FD pinned to <= 1e-5 Ha/bohr. See
user_guide/ecp.md § Gradients.
Reference: Pt UHF/LANL2DZ = −118.227 Ha (22 BFs, 125 SCF iters).
SCF convergence aids¶
Aid |
API |
Coverage |
Notes |
|---|---|---|---|
DIIS extrapolation |
|
molecular + periodic Γ + multi-k |
default on, ~10× iter speedup |
EDIIS + EDIIS+DIIS hybrid (v0.8.0) |
|
molecular + C++ direct-truncated periodic + Python Γ-Ewald (RHF/RKS/UHF/UKS) |
flagship for stiff convergence; rollout to Python multi-k Ewald / BIPOLE / GDF in progress |
KDIIS (Kollmar) |
|
molecular + C++ Γ-only periodic + Python Γ-Ewald (RHF/RKS/UHF/UKS) |
orbital-rotation gradient error; ORCA’s opt-in |
ADIIS (Augmented Roothaan-Hall) |
|
molecular + C++ direct-truncated periodic + Python Γ-Ewald |
EDIIS sibling, no per-iter energy needed |
Dynamic damping (Zerner-Hehenberger 1979) |
|
molecular + C++ direct-truncated periodic + Python Γ-Ewald (RHF/RKS/UHF/UKS) |
adaptive density mixing α; composes freely with the accelerator family |
Damping (static) |
|
all |
density mixing |
CRYSTAL-style FMIXING |
|
molecular + native periodic direct + supported GDF routes |
Fock/KS matrix mixing; |
Saunders-Hillier level shift |
|
molecular + periodic Γ + multi-k, with route-dependent GDF coverage |
Phase C1a; GDF exceptions are fail-closed or AUTO-filtered as documented in |
Level-shift warm-up/restart |
|
native Γ-GDF + Γ KRHF/KRKS bridge |
|
Quadratic (“Newton”) SCF |
|
molecular + periodic Γ + multi-k |
Phase C1c, fallback for small-gap systems |
Fermi-Dirac smearing |
|
“metal” |
…) |
Periodic density mixers (Anderson / Broyden / Kerker, v0.14) |
|
closed-shell explicit-kpoint GDF dispatch + lower-level multi-k RKS Ewald |
Kerker preconditions the density residual without moving the SCF fixed point; unsupported BIPOLE, GPW/GAPW, open-shell, and implicit-Gamma routes fail closed |
|
|
periodic |
default on; jointly optimises lattice cutoffs + Schwarz screening |
XC functionals (v0.8.0 expanded)¶
Resolved through libxc 7.0.0; see
user_guide/functionals.md. Short
aliases the resolver knows:
Alias |
Type |
HF-exchange |
libxc id |
|---|---|---|---|
|
LDA |
0 % |
1 + 7 |
|
GGA |
0 % |
101 + 130 |
|
GGA |
0 % |
106 + 131 |
|
hybrid |
20 % |
475 (VWN5, the ORCA / TURBOMOLE / ADF / CRYSTAL convention) |
|
hybrid |
20 % |
402 (Gaussian/VWN-RPA variant, what Gaussian / PySCF / Psi4 mean by the bare name) |
|
hybrid |
25 % |
406 |
|
hybrid |
20 % |
weighted-sum |
|
range-sep hybrid |
25 % SR |
425 |
|
GGA + nonlocal |
0 % |
255 |
|
range-sep + VV10 |
100 % LR |
466 |
|
range-sep meta-GGA + VV10 |
100 % LR |
531 |
|
meta-GGA |
0 % |
642 + 645 |
|
double hybrid (D4) |
69 % |
101 + 132 |
Plus everything libxc accepts directly + custom weighted-sum
strings (PW1PW pattern: "0.2*HF + 0.8*GGA_X_PW91, GGA_C_PW91").
B3LYP convention: vibe-qc ships the ORCA definition, bare
b3lyp is libxc id 475 (VWN5), the same flavor ORCA, TURBOMOLE,
ADF, CRYSTAL, and CP2K mean by the name; Gaussian, libxc, PySCF,
Psi4, NWChem, and Q-Chem mean the VWN-RPA variant (id 402), which
vibe-qc spells b3lyp/g / b3lypg. The flavor gap is ~6.8 mHa on
H₂/STO-3G, ~10-15 mHa per heavy atom. v0.12.0 added the explicit
b3lyp5 / b3lypg spellings and a measured cross-code audit. See
user_guide/functionals.md for the
camp table, the measured values, and why there is no b3lyp3
alias.
Ewald summation (Phase 12e, mostly shipped)¶
See user_guide/ewald.md for the math
API.
Sub-phase |
Scope |
Status |
|---|---|---|
12e-a |
Classical Ewald nuclear lattice sum ( |
✅ |
12e-b |
erfc-screened nuclear attraction |
✅ |
12e-c-1 |
Gaussian-charge Ewald V(g) via grid integration |
✅ |
12e-c-2 |
erfc-screened ERIs for Ewald short-range J/K |
✅ |
12e-c-3a |
FFTW3 build dep + |
✅ |
12e-c-3b |
|
✅ |
12e-c-3c |
Saunders-Dovesi multipolar splitting |
⏳ in progress |
12e-c-4 |
End-to-end EWALD_3D SCF dispatch (RHF/RKS/UHF/UKS, Γ + multi-k) |
✅ |
Madelung-constant validation:
Crystal |
M reproduced |
Reference |
|---|---|---|
NaCl rocksalt |
1.7475645946 to 1e-8 |
1.7475645946… |
CsCl |
1.762674773 to 1e-8 |
1.762674773… |
ZnS zincblende |
1.6380550533 to 1e-9 |
1.6380550533… |
Simple-cubic jellium |
1.4186487 to 1e-6 |
1.4186487 (Nijboer-De Wette 1957) |
External data fetcher (vqfetch, v0.8.0)¶
Pulls structures + reference data from public databases on demand. Per-record provenance + license preserved.
Subcommand |
Source |
Default license |
|---|---|---|
|
OPTIMADE federation |
per-provider |
|
Materials Project |
CC-BY 4.0 |
|
COD |
CC0 / public domain |
|
(5 round-trip-verified slugs) |
(per primary) |
|
NIST CCCBDB |
US Govt public domain |
See user_guide/external_structures.md
user_guide/reference_data.md. End-to-end planetx round-trip: MgO sto-3g RKS-LDA E = −950.4204308512 Ha (13 SCF iters).
Job queue (vq v0.5.6, v0.8.0)¶
SSH-backed remote job submission co-shipped in
vibe-queue/. Cgroup-v2 enforcement, web dashboard,
pause/resume, multi-venv --branch routing. See
user_guide/queue.md.
Capability |
Since |
|---|---|
Local queue + CLI + daemon + JobSpec v1 + systemd unit |
v0.1.0 |
Cross-machine SSH submit + |
v0.2.0 |
Resource watchdog ( |
v0.3.0 |
Cgroup-v2 enforcement (systemd-run scope), pgid-based daemon recovery |
v0.4.0 |
|
v0.4.1 |
Read-only web dashboard (FastAPI + htmx) |
v0.5.0 |
|
v0.5.1 |
|
v0.5.2 |
CRYSTAL14 + PROPERTIES14 reachable through dispatched jobs |
v0.5.3 |
Parallel CRYSTAL14 (Pcrystal/Pproperties default |
v0.5.4-5 |
Multi-venv routing via |
v0.5.6 |
Properties¶
Property |
API |
Methods |
Notes |
|---|---|---|---|
Mulliken charges |
|
RHF / UHF / RKS / UKS |
atomic populations |
Löwdin charges |
|
all |
symmetric-orth populations |
Mayer bond orders |
|
all |
per-pair indices |
Dipole moment |
|
all |
with optional origin |
Natural orbitals |
|
all |
for post-SCF analysis |
Static polarizability α |
|
RHF (closed-shell) |
via CPHF, Phase 17b-1; UHF/KS roadmap |
Vibrational frequencies (FD) |
|
all |
FD on analytic gradient; trans/rot projection |
Vibrational frequencies (analytic) |
|
RHF |
CPHF + libint deriv_order=2; Phase 17b-3 |
IR intensities |
|
all |
dipole derivatives along normal modes |
Thermochemistry (ZPE / U / H / S / G / Cv) |
|
all |
rigid-rotor + harmonic-oscillator + ideal-gas |
D3(BJ) dispersion |
|
all |
Grimme D3 with Becke-Johnson damping |
D4 dispersion (v0.8.0) |
|
all |
Caldeweyher-Bannwarth-Grimme 2019 |
Cube file output |
|
all |
density / orbital / spin density |
Molden file export |
|
RHF / UHF / RKS / UKS |
verified by PySCF round-trip |
Periodic band structure |
|
periodic SCF |
k-path sampling |
Periodic density of states |
|
periodic SCF |
Gaussian broadening on a sampled mesh |
Atomisation energy |
|
HF / DFT |
per-element free-atom references at the same level, cached; main-group H-Kr. MSINDO reports its binding energy by default. |
Green’s function IP / EA |
|
HF / MSINDO |
quasiparticle ionisation potentials and electron affinities ( |
MPI substrate (v0.12.0) |
|
experimental GPW z-slab overlay plus low-level collectives |
install with |
COOP/COHP (v0.15.0) |
|
periodic SCF |
energy-resolved Crystal Orbital Overlap/Hamilton Population; C++ kernels, QVF |
Periodic Mayer bond orders (v0.15.0) |
|
periodic SCF |
k-space generalisation; QVF |
QTAIM (v0.15.0) |
|
all |
critical-point search + bond-path tracing; analytic C++ Hessian; QVF |
Fat bands (v0.15.0) |
|
periodic SCF |
Mulliken-projected band weights; QVF |
Wiberg bond indices + delocalization index |
|
all |
Löwdin-basis Wiberg 1968 index; AO-approximated DI; auto-emitted in |
NPA charges + NBO search |
|
all |
Weinhold NPA (auto-emitted in |
Energy decomposition analysis |
|
HF / DFT |
LMO-EDA (Su-Li 2009) + Morokuma 1971 two-fragment decomposition |
Orbital entanglement |
|
all |
single-orbital entropy, mutual information, entanglement bond orders, correlation clusters |
Input / output¶
Capability |
API |
Notes |
|---|---|---|
High-level “run-a-job” driver |
|
dispatches to right SCF driver, writes .out + .molden, runs BFGS if asked |
MPI substrate (v0.12.0) |
|
optional |
Formatted SCF log |
|
banner, iteration trace, energy components, orbital table, HOMO-LUMO gap |
Molden export |
|
verified by PySCF round-trip |
Geometry trajectory |
|
ASE .traj file |
XYZ / Extended-XYZ load |
|
molecular XYZ by default; |
POSCAR load / save |
|
VASP 5 format |
CIF load / save |
|
cell parameters + atom-site loops; symmetry operations expand asymmetric-unit sites |
Cube load / save |
|
volumetric data |
BXSF (band structure) |
|
XCrySDen 3D Fermi-surface format |
Basis sets¶
239 bundled Gaussian
.g94basis files in the runtimebasis/library: 90 libint-inherited standard files plus 149 vibe-qc custom / BSE-derived overlay files, with matching QVF-Basis sidecars for every set.Custom and BSE-derived sets in
python/vibeqc/basis_library/custom/: pob-TZVP, pob-DZVP-rev2, pob-TZVP-rev2 (Bredow-group periodic-tuned), plus the BSE-sourced and release-paper reproduction bases.CRYSTAL-format parser, imports arbitrary CRYSTAL per-element basis files; converts to libint-compatible
.g94. CRYSTALINPUTECP-block parsing is available for basis/ECP migration work.ECP basis sets, fully wired through libecpint (see ECP section above).
Basis-set optimisation (v0.14), re-optimise a basis set’s exponents and coefficients against a molecular energy via the analytic-gradient BDIIS recipe (
optimize_molecular_basis); seeuser_guide/basis_optimization.md.Basis inventory and attribution documented in
docs/license.md, including the libint-inherited files, the Bredow-group pob-* bases, and the BSE-derived custom overlay.
Crystal / lattice infrastructure¶
spglib integration:
Crystal,analyze_symmetry,detect_spacegroup,symmetrise,to_primitive,irreducible_kpoints.CIF, POSCAR, and periodic Extended-XYZ input, with opt-in
symmetrise=Truestandardisation into a calculation-readyPeriodicSystem.Monkhorst-Pack k-mesh generation with IBZ reduction, density-based auto-mesh helpers, and on-the-fly generalized regular grids via
KPoints.optimal.Standardise-then-compress helpers for one-electron lattice integrals:
compute_overlap_lattice_symmetrised_with_orbitsplus kinetic / nuclear siblings rebuild the basis on the cleaned cell and return the SYM3a orbit-compressed storage view.1D / 2D / 3D
PeriodicSystemgeometry.Hexagonal and other skew-cell geometry support; the native EWALD_3D Hartree path uses the analytical AO-pair FT on the full reciprocal metric.
Validation¶
Test class |
Count |
Level |
|---|---|---|
Molecular 1e integrals vs PySCF |
24 |
machine precision |
RHF / UHF / RKS / UKS energies vs PySCF |
59 |
machine precision (HF), grid-accuracy (DFT) |
MP2 / UMP2 / RI-MP2 / SCS-MP2 / SOS-MP2 / B2PLYP vs PySCF |
55 |
1e-9 Ha (MP2 family) / 1e-7 Ha (B2PLYP) |
Gradients (HF, DFT) vs FD / PySCF |
17 |
1e-6 Ha/bohr |
FD Hessian skeleton vs FD-on-gradient |
8 |
1e-4 to 1e-3 |
Analytic RHF Hessian vs PySCF analytic |
8 |
2.5e-9 Ha/bohr², freqs <0.01 cm⁻¹ |
FD Hessian + IR + thermochemistry vs PySCF |
51 |
1e-7 Ha |
CPHF + polarizability vs PySCF FD |
11 |
1e-5 a.u. |
Periodic machinery (invariants, molecular limit, Bloch folding) |
76 |
machine precision |
Periodic SCF convergence aids |
27 |
per-test scoped |
Periodic native GDF/FFTDF parity |
planned |
compare parsed out-of-process CRYSTAL and PySCF outputs |
Multi-k KRHF/KRKS native parity |
planned |
no in-process PySCF backend |
JKBuilder + RIJCOSX vs ORCA 6.1.1 (v0.8.0) |
curated |
RIJCOSX max |Δ| = 0.13 mHa on glycine def2-TZVP |
vqfetch acceptance harness (v0.8.0) |
5 structures + 8 molecules |
round-trip end-to-end |
Crystal / POSCAR / basis parsing |
18 |
- |
Bundled basis-library integrity |
239 |
generated QVF sidecars, provenance / citation coverage, ECP split, privacy checks |
Plus the full regression suite at
examples/regression/
(since v0.7.2 Boys’ Crucible) covers the cross-code parity
matrix (vibe-qc vs PySCF vs ORCA) on a curated S22 / X23 /
pob-TZVP test set.
Full pytest suite: ~1800 test functions across ~190 files
covering the molecular, periodic, wavefunction-solver, and
output stacks; runs in ~3-4 minutes on an M-class MacBook
(faster with pytest -n auto).
Known issues¶
See the warning admonition on docs/index.md for
the live open-bugs list. Highlights:
Periodic GDF parity, Γ-only and multi-k µHa parity vs PySCF on LiH FCC shipped at v0.11.0 (Sun’s Stingray). Mixed Density Fitting (MDF) shipped at v0.13.0, closing the all-electron GDF accuracy floor (Sun-Berkelbach 2017) for MgO. Dense-crystal periodic-DFT XC error fixed in v0.15.0 (cross-cell density + SCF convergence).
Multi-k dense Lpq RAM ceiling (multi-TB on production systems). Streaming-Lpq tracks with the periodic GDF work.
Si-diamond / C-diamond RKS/PBE oscillation on RI path – SCF-settings investigation ongoing (damping/DIIS interplay, not algorithmic). Density mixers (Anderson/Broyden) shipped in v0.14.0 as an alternative convergence path.
BIPOLE analytic gradients: the corrected-gauge analytic gradient landed 2026-06-17 for all four methods (RHF/UHF/RKS/UKS) at both Γ and multi-k, FD-validated and un-refused. The legacy-gauge analytic preview (shipped at v0.12.0, Knuth’s Beaver) remains available. Production forces remain the exact FD path by maintainer decision.
Open-shell UHF / UKS analytic gradient on f-shells with two or more different second-row elements still disagrees with ORCA. Closed-shell direct gradients now auto-route through the DF gradient path; the open-shell auto-route is queued.
AUTO initial guess (SAP on closed-shell light-atom systems) oscillates on long n-alkanes and on H2CO + PBE. Pin
InitialGuess.SADto work around.pob-TZVP/pob-TZVP-rev2missing Ne entry.Heavy-atom basis-load test OOMs a 16 GB laptop in batch mode; route via
vq submitto a larger box.ωB97X / ωB97X-D UKS on orbital-near-degenerate radicals needs a level shift to converge.
3c composite methods are calibrated on molecular systems; the periodic flavours need recalibration before being trusted.
The B3LYP local-correlation convention (bare b3lyp = VWN5 /
ORCA definition since v0.8.0; explicit b3lyp5 / b3lypg
spellings since v0.12.0) is documented in
user_guide/functionals.md as
informational, not a bug, both flavors are correct B3LYPs;
codes differ in which one the bare name means.