Feature matrix¶
The capability matrix for the source revision used to build these docs.
For when each feature shipped, see
CHANGELOG.md.
For what’s coming next, see roadmap.md.
Molecular SCF¶
Initial guesses share a route-aware AUTO policy: ordinary restricted closed-shell routes use PATOM; molecular unrestricted/ open-shell routes (including singlet UHF/UKS) and transition-metal systems usually use SAD. Isolated spin-polarized atoms use PATOM. Explicit guesses are capability-checked. Supported READ routes preserve complete spin/Bloch restart state and distinguish the physical construction from internal READ transport. Neither convergence nor AUTO alone establishes the global ground state.
Method |
Driver |
Open-shell |
Gradient |
Hessian (FD) |
Hessian (analytic) |
MP2 |
Validated vs PySCF |
|---|---|---|---|---|---|---|---|
RHF |
|
- |
✓ |
✓ ( |
✓ ( |
✓ ( |
✓ machine precision |
UHF |
|
✓ |
✓ |
✓ |
✓ ( |
✓ ( |
✓ machine precision |
RKS |
|
- |
✓ |
✓ |
✓ ( |
- |
✓ grid-accuracy |
UKS |
|
✓ |
✓ |
✓ |
✓ ( |
- |
✓ grid-accuracy |
ROHF |
|
✓ (spin-pure) |
✓ analytic |
✓ (freqs) |
(roadmap) |
✓ ( |
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).
Functionals without a complete analytic gradient (GitLab #571).
The molecular RKS / UKS gradient kernel differentiates exact exchange
through the global fraction only; it omits the long-range
erf-attenuated exchange term of every range-separated hybrid (HSE06,
ωB97X, ωB97X-D, CAM-B3LYP, ωB97X-V, ωB97M-V, …) and the VV10 nonlocal
correlation gradient (VV10, ωB97X-V, ωB97M-V). Measured on a bent O/H/H
molecule in STO-3G the partial analytic gradient sits 5.6e-3 (HSE06),
7.0e-4 (VV10) and 5.6e-2 (ωB97X-V) Ha/bohr off the full-energy
finite-difference gradient, against a 2.1e-6 noise floor for PBE. Since
this fix vibeqc.compute_gradient_rks / compute_gradient_uks refuse
such a functional with a NotImplementedError naming the missing terms
(pass allow_incomplete=True to receive the partial gradient knowingly),
vibeqc.functional_gradient_terms_missing(name) reports them, and every
molecular geometry optimizer (run_job(optimize=True) on the ASE and
native backends, optimize_molecule, optimize_molecule_brent, the
geomopt provider, the VibeQC ASE calculator) falls back to full-energy
central finite differences (step 0.005 bohr) and says so in the .out.
Routes that finite-difference the analytic gradient (the FD Hessian /
frequencies, the analytic-Hessian skeletons, CPCM gradients) and NEB fail
closed with the same message. The analytic terms themselves are a
separate feature.
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.
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 |
|
|
Experimental (the source calls it a toy). Two-site sweep, MPS wavefunction, bond-dimension schedule. Minimal Python implementation; refuses more than 6 spatial orbitals (12 spin 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 |
|
|
Preview. Similarity-transformed Hamiltonian (Gaussian / Jastrow correlator, research grade) fed to selected CI; same determinant-basis default as selected CI (#107). |
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_*.
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 |
Dense small-molecule accuracy reference. Closed-shell DF triples support requested-memory fast/blocked/direct/disk execution; open-shell triples support fast/direct but retain the dense spin-orbital integral floor. The dense CC iteration and the FNO setup remain production-size memory gates. 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. This separate implementation remains dense and rejects bounded triples modes. 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) whose amplitude equations are solved in the compiled PNO-space kernel (every residual term contracted in the PNO space that carries the contracted index, Riplinger-Neese 2013 Sec. II C; exact against the extended-domain oracle and canonical CCSD at full domains). Open-shell (multiplicity > 1) auto-routes to the local spin-orbital DLPNO-UCCSD solver, whose amplitude equations are solved in a compiled spin-orbital PNO-space kernel (spin-pure PNOs, exact against canonical UCCSD at full domains); it applies the shared Liakos threshold triple but does not claim Saitow’s single-spatial-orbital SOMO-pair scaling. The O(N⁶), |
DLPNO-CCSD(T) |
|
RHF / UHF |
Closed-shell: local solver plus local DLPNO-(T) (per-triple TNO domains), full-domain == canonical CCSD(T). Retained accuracy benchmarks use explicitly pinned pre-#140/#448 all-electron recipes; they are not evidence for the current published-core/NormalPNO default. Open-shell auto-routes to the reduced-scaling UHF-reference spin-orbital DLPNO-UCCSD(T) solver; the dense O(N⁶), |
DLPNO-MP2 |
|
RHF / UHF |
Domain-based local pair natural orbital MP2 (Pinski 2015); the open-shell DLPNO-UMP2 extension retains independent UHF alpha/beta orbital and PNO spaces. Boys-localised occupieds, per-pair PNO virtual space; the zero-threshold all-electron limit reproduces canonical RI-MP2 to <= 1 uHa. Historical recovery data use explicitly pinned pre-#140/#448 cutoffs and are not claims about the current named default. |
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; ROHF (TDA only, doubly-occupied to virtual space, labelled |
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). |
MRCI |
|
CASCI / CASSCF |
Uncontracted MR-CISD with the Davidson +Q size-extensivity estimate ( |
BCCD / BCCD(T) |
|
RHF |
Brueckner coupled cluster: orbitals rotated until the singles amplitudes vanish (Handy 1989), with the (T) correction on the Brueckner reference. Closed shell only. Also |
Green’s function (GF2 / OVGF) |
|
HF / MSINDO |
Quasiparticle IPs and EAs (result |
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 energy: validated to 0.26 mHa vs ORCA 6.1.1 on glycine / def2-TZVP. (An earlier revision of this bullet claimed the analytic gradient was “validated” on the strength of that energy comparison; the gradient claim was unproven and, pre-2026-07-29, wrong.)
RIJCOSX analytic gradient: matches finite differences of the RIJCOSX energy surface to the neglected grid-motion band (~2e-4 Ha/bohr on H2O/def2-tzvp, ~3e-3 worst case OH/def2-svp; gate:
tests/test_rijcosx_gradient_fd.py). Against ORCA 6.1.1 EnGrad on glycine/def2-TZVP: |grad| 0.08696 vs 0.08703 Ha/bohr, componentwise RMS 3.3e-3, max 1.1e-2; the residual is the documented fitted-Fock response term plus neglected grid-motion/weight derivatives (seecompute_cosx_k_gradient_contributionnotes incpp/include/vibeqc/cosx.hpp).default_aux_basis_for(orbital_basis_name, kind="jk"/"ri")helper picks aux basis automatically.Experimental second engine (v0.17.16).
run_jobandrun_periodic_jobacceptintegral_engine=IntegralEngineOptions(...),coulomb=CoulombBuildOptions(...)andexchange=ExchangeBuildOptions(...)(fromvibeqc.manta): libint or MANTA integrals, exact, RI, BUPO or RI-BUPO Coulomb and exact or RI exchange, chosen independently, with an explicit resource budget and the executed provider recorded in the.out, the manifest and the QVF. MANTA’s exact build reproduces libint to 1e-10 Ha on water/cc-pVDZ. These selectors cannot be combined with thedensity_fit/aux_basis/cosxkeywords above. Seeuser_guide/integral_engines.md.
Periodic SCF (native GDF / GPW / BIPOLE / Γ-CCM / χ-CCM)¶
Γ-CCM and χ-CCM[1] are distinct constructions: Γ-CCM is the
neutral finite-torus construction (producers real-gamma and
neutral-bloch), while the four-center variant is the 2014
union-and-weight lineage kept in the same development line, and χ-CCM is the
finite-translation-group character construction.
The front door is run_periodic_job(method="aiccm", variant=...), where
variant names the formulation and is mandatory; the method name does
not imply one. The four variants are "real-gamma", "neutral-bloch",
"four-center" and "chi". There is deliberately no variant="gamma":
ruling R1 makes Γ-CCM the neutral construction with two admissible
producers (real-gamma and neutral-bloch), so the bare word is ambiguous
and fails closed naming both. The SCF reference is inferred from the
functional and the cell’s multiplicity unless scf_reference= names one:
"rhf" or "uhf" for Hartree-Fock (for example a closed-shell UHF), or a
restricted open-shell "rohf" / "roks". The legacy jk_method="aiccm2026dev-a" /
"aiccm2026dev-b" spellings still resolve, each with a DeprecationWarning
naming the variant form. The whole line stays experimental.
KPoints.recommend(classifier="pre-scf", basis=...) runs a three-cycle Gamma
GDF SCF, on a compact 3D cell the bulk GDF Hamiltonian (#468), and classifies from the
HOMO-LUMO gap of that unconverged result. When no gap can be read, the
recommendation warns and takes the SAFE metallic mesh/smearing default. This is not a measured metallic
state. Supply a known band_gap, is_metal, or a qualified converged
scf_result for electronic classification.
Method |
Driver |
k-point support |
Notes |
|---|---|---|---|
RHF, Γ-only GDF |
|
Γ, dim=2/3 (a dim=1 wire raises) |
native vibe-qc J/K via Gaussian density fitting; no in-process PySCF. A compact |
RKS / hybrids, Γ-only GDF |
|
Γ, dim=2/3 (a dim=1 wire raises) |
native libxc |
KRHF multi-k GDF |
|
Γ + multi-k, dim=2/3 (a dim=1 k mesh raises) |
native k-dependent GDF. A |
KRKS multi-k GDF |
|
Γ + multi-k, dim=2/3 (a dim=1 k mesh raises) |
native multi-k RKS / full-range hybrid path; |
DLPNO-CCSD(T) on crystals |
|
Γ or a Gamma-centred mesh folded to the real BvK supercell, dim=3 |
Preview. RHF (singlet) or UHF (open shell) reference on the k-mesh GDF engine with its classic RSGDF fit retained as the correlation factors, Pipek-Mezey occupied orbitals, minimum-image pair distances; energies in total and per cell. Full-domain limit equals PySCF KRCCSD(T) to the fit tolerance. Refuses BIPOLE/GPW, functionals, |
Symmetry-reduced exact exchange |
|
multi-k GDF, dim=3, RHF/UHF/RKS/UKS with exact exchange |
Preview. Exchange built at the irreducible-wedge representatives and transported over each star (every operation, glides and screws included, on the SR/LR fit); diagonalisation and energy on the full mesh, so energies equal the unreduced ones to roundoff. Per-star occupation fill and a little-group state gate; refuses pure functionals, Gamma-only meshes, |
MANTA periodic HF / KS (finite domains) |
|
Γ + full regular meshes, neutral all-electron dim=3 |
Experimental. RHF/UHF/RKS/UKS with exact or RI J/K, pure, global-hybrid and range-separated LDA/GGA, BvK Ewald exchange correction, periodic BUPO for HF; every domain explicit, no automatic accuracy profile. See |
RIJCOSX periodic SCF |
|
Gamma RHF; vacuum-padded Gamma RKS/UHF/UKS; 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 |
|
|
real-space cyclic cluster extension (nrep), dim=3 |
union-and-weight/Wigner-Seitz integral-weighting CCM; the 2014 lineage, and under ruling R1 a different construction from the two neutral producers, not a representation of theirs. HF/KS, construction-specific RIJCOSX research, MP2/UMP2, CCSD(T), analytic gradients, properties, localization, symmetry. Experimental (every SCF driver emits |
|
|
one real Γ-supercell (no k-mesh); the Γ-centred mesh IS the BvK torus |
The neutral fitted-torus construction evaluated in its real-Γ representation. Carries the exchange-q=0 seam explicitly ( |
|
|
finite BvK torus in its Bloch representation |
The same neutral Hamiltonian as |
AICCM correlation ( |
|
follows the variant’s SCF |
Optional post-HF on top of the variant’s own reference. The driver is chosen to MATCH the construction the SCF ran, never to substitute another, so each arm cites its own lineage and the two never share a citation row. |
A-namespace neutral fitted-torus controls (library) |
|
separately declared finite-torus control operator |
The same drivers the two neutral variants use, reachable directly for control work. 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; |
Green’s-function surface embedding |
|
semi-infinite surfaces, 3D Gaussian foundation |
Experimental ( |
BIPOLE RHF / UHF / RKS / UKS |
|
Γ + multi-k, 3D through |
Production exact Ewald-J energy and finite-difference atomic-force route for closed- and open-shell periodic SCF. Fixed-cell atomic relaxation ships; variable-cell work fails closed. Analytic gradients remain a gated preview. The quartet multipole far-field prototypes are driver-unreachable: all four drivers default to |
GPW RHF / ROHF / ROKS / UHF / RKS / UKS (v0.12.0) |
|
Gamma supports all six methods; multi-k pure-DFT RKS/ROKS/UKS supports LDA/GGA/meta-GGA in molecular-limit and compact Bloch regimes through the public runner or the matching |
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 |
|
Γ + multi-k, dim=3 |
Public GDF open-shell route. |
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, native GDF |
|
Γ (a |
Public and standalone density-fitted ROHF on the per-(k_i,k_j) cderi cache: same J / per-spin K / |
ROHF / ROKS periodic, GPW |
|
ROHF: Gamma only; ROKS: Gamma plus full multi-k pure-DFT meshes; dim=3 |
Maintained-preview restricted-open-shell route: GPW Hartree J, per-spin exact K where required, spin-polarised XC for ROKS, the Ewald one-electron/nuclear gauge, and complex-safe Roothaan coupling. Unsupported dimensions, gradients, GAPW, multi-k hybrids, range-separated ROKS, and electronic smearing fail closed; |
Atomic gradients (periodic) |
route-specific FD forces; |
Γ + multi-k by route |
BIPOLE production forces use finite differences of the executed energy; analytic coverage is route- and envelope-specific and remains preview where documented |
Periodic stress tensor |
|
GPW / GAPW Γ, dim=3; semiempirical Γ + full-k |
Finite difference, not analytic. Both GPW/GAPW entry points central-difference the fixed-density energy over strain, rebuilding the basis on each strained cell, so Hellmann-Feynman and Pulay contributions arrive together and the density is not relaxed per strain; |
Periodic force-virial diagnostic |
|
Γ + multi-k |
Diagnostic only; not the periodic stress. For the stress itself and for which routes accept |
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)¶
Status vocabulary: production = validated within the stated scope;
experimental = runs, but the route is not validated for published
numbers; gated = fails closed with a scientific error message;
retirement target = still executable, but the maintainer’s target
matrix removes it from the portfolio. “FD” is finite difference. No
semiempirical or MLIP method has a nuclear Hessian: run_job(hessian=True)
is basis-free and skips vibrational analysis with a note in the .out.
Method |
|
Elements |
Molecular: energy / gradient / Hessian |
Periodic routes (dimension, k-mesh) |
Open-shell |
Status and gate |
|---|---|---|---|---|---|---|
MSINDO |
|
INDO H-Xe (Z 1-54); NDDO H, Li-F, Na-Cl closed shell |
INDO energy RHF/UHF and closed-shell analytic gradient. NDDO closed-shell energy and analytic gradient for H, Li-F, Na-Cl, including source-parity SPDD terms for Al through Cl. No Hessian |
No Bloch Gamma and no full-k route (both fail closed). SECCM cyclic cluster 1-D/2-D/3-D, closed shell; native C++ for H-Kr, deterministic Python reference for Rb-Xe |
INDO molecular UHF within validated fixtures; NDDO molecular and SECCM closed-shell only |
Production within scope. Independent MSINDO INDO/NDDO implementation. Native C++ production routes cover supported molecular energies and INDO closed-shell analytic gradients; closed-shell NDDO gradients use a mixed native-energy/Python-analytic route. CCM energy/gradients use C++ for H-Kr and the deterministic Python reference for Rb-Xe; a selected native calculation does not fall back after failure. Python also remains for reference/orchestration paths including excited-state/root-tracking workflows |
DFTB0 / UDFTB0 |
|
91 in-house parameter records |
Energy and analytic gradient, both native; no Hessian |
Bloch Gamma energy + analytic gradient (native, 15-bohr image domain). Full-k Bloch energy/bands experimental; gradient and stress by one native batched FD pass; Monkhorst-Pack mesh of three positive integers, default 1x1x1. DFTB0-SECCM 1-D/2-D/3-D with analytic fixed-topology gradients |
UDFTB0 molecular and Gamma; full-k and SECCM closed-shell only |
Screening / preoptimization; not production-validated. In-house parameters, no DFT-fitted repulsives, no DFTB+ (mio-1-1) parity. Full-k derivatives gated pending analytic derivatives and DFTB+ parity. SECCM is gated experimental and scoped to the explicit repulsive-pair table (H, C, N, O, F, P, S, Cl). Absolute energies are not claimable while the repulsive is an A/R¹² placeholder (issue #306) |
SCC-DFTB / USCC-DFTB |
|
91 in-house parameter records |
Energy and analytic gradient, both native; no Hessian |
Bloch Gamma energy native, gradient by central differences of the converged energy. Full-k Bloch SCC energy/bands experimental with optional Fermi occupations; gradient and stress by one native batched FD pass; Monkhorst-Pack mesh of three positive integers, default 1x1x1. SCC-DFTB-SECCM 1-D/2-D/3-D with analytic fixed-topology gradients; charged cells only through the opt-in Madelung/Ewald embedding |
USCC molecular and Gamma; full-k and SECCM closed-shell only |
Screening / preoptimization; not production-validated. In-house parameters, no DFTB+ parity. Analytic SCC derivatives reject nonconverged results. Full-k derivatives and SECCM remain gated experimental |
GFN2-xTB |
|
H-Rn (Z 1-86), fetched on demand |
Energy, shell and faithful AES SCC gradients (of the Mermin free energy when smeared); scoped post-SCF native D4; no Hessian |
Bloch Gamma energy native; the native gradient and all-nine stress match gapped finite differences. Full-k route fails closed. GFN2-SECCM 1-D/2-D/3-D, energy only, with optional Madelung embedding; Ewald-gamma supports 1-D/2-D and rejects non-molecular 3-D (#444) |
None: the route is closed-shell only at every boundary |
Gated experimental. Molecular H0, shell SCC, third-order, AES, molecular gradients including atom-resolved analytic faithful AES, scoped post-SCF native D4, and FD-validated Gamma-periodic derivatives are implemented. Faithful periodic AES electrostatics and external |
PM6 / UPM6 |
|
75 chemical-element records from the bundled MOPAC cache |
Energy native NDDO; gradient by native batched FD (no analytic gradient); no Hessian |
Bloch Gamma energy native, gradient and stress by one native batched FD pass (mixed-native, experimental). Full-k route fails closed. PM6-SECCM 1-D/2-D/3-D energy with FD fixed-topology gradients; s/p AO channels only, so elements whose PM6 record needs d orbitals fail closed |
UPM6 molecular only; periodic Gamma and SECCM closed-shell only |
Experimental: molecular development route. Exact MOPAC heat-of-formation convention parity is open, and spherical Klopman-Ohno gamma/core-core fallbacks apply where the bundled MOPAC diatomic data is incomplete. Periodic PM6 is experimental |
PM6-SECCM CCM Madelung embedding |
opt-in |
as PM6 |
not applicable (SECCM boundary only) |
1-D and 2-D only; three cyclic dimensions fail closed because the WS-folded remainder has no thermodynamic limit. Without the embedding a nontrivial cyclic topology needs an explicit |
closed shell only |
Experimental, opt-in, acknowledgement-gated (issue #217). The MSINDO CCM operator: the classical point-charge field enters the Fock diagonal and the potential is the full Ewald lattice sum minus the WS-internal bare 1/r, WS-weighted with the self image excluded. Unembedded cyclic runs are an algorithm-mechanics probe, not a solid-state prediction: the WS-truncated monopole sum reproduces the exact rocksalt Madelung constant only to -43%..+38% |
OM2 / OM3 |
|
5 published (H, C, N, O, F) |
Energy native NDDO; gradient by native batched FD; no Hessian |
Bloch Gamma and full-k routes both fail closed: the retired prototype was not the published ORT/ECP/penetration Hamiltonian. OM2/OM3-SECCM 1-D/2-D/3-D energy only, no gradient; cyclic-image execution requires an explicit truncated-electrostatics acknowledgement; published eq-13 three-center image weighting is the default, eq-10 available for comparison |
Molecular only; periodic and SECCM closed-shell or gated |
Retirement target (maintainer target matrix, 2026-09-02: no molecular, Bloch or CCM target; fail closed, deprecate, remove from the public portfolio). Still executable today as a validated molecular development/prescreening surface; bond minima remain about 0.1-0.3 Å from published references and external implementation parity is open. Nothing has been removed yet, so no release has dropped it |
OM1 |
|
5 published (H, C, N, O, F) |
Energy native NDDO with an experimental warning; gradient by native batched FD; no Hessian |
Bloch Gamma, full-k, and OM1-SECCM all fail closed |
Molecular only |
Retirement target (same maintainer decision as OM2/OM3). Experimental: the defining analytic core-valence ECP (Kolb-Thiel 1993) is not implemented, which also closes OM1-SECCM. Nothing has been removed yet, so no release has dropped it |
PM7 / UPM7 |
|
75 MOPAC parameter records retained, queryable only |
Gated: no energy, no gradient, no Hessian |
Gated at every boundary: Bloch Gamma, full-k, and SECCM all fail closed |
Gated |
Retired as an implementation target (maintainer target matrix, 2026-09-02). Tombstone only: every request raises “PM7 is gated until the published feathered electrostatics and all coupled NDDO terms are implemented and validated.” Stewart’s smooth exact-electrostatic/point-charge feathering is not implemented. PM7 has never been executable in any release, so there is no last version that carried it |
MACE MLIP (v0.11.x) |
|
Registered MACE-MP/MPA-0 materials models and MACE-OFF23 organic models |
Energy, forces, optimization, and NEB; no Hessian |
Direct periodic energy/forces support 1D, true 2D slabs, and 3D; |
model-dependent |
Optional |
Sources for the statuses above include the ACCEPTANCE-managed families in
semiempirical_acceptance_matrix.py, the queryable
vibeqc.semiempirical.semiempirical_route_status(route) registry, the
boundary gates in vibeqc.semiempirical.routes.SemiempiricalRoutePlan,
and the maintainer’s 2026-09-02 target matrix, which is kept in the private
operations documentation (handovers are not stored in this repository). The
per-route user-guide table is at
user_guide/semiempirical.md § Method
status.
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 |
K-Kr |
|
Stuttgart-Köln MDF, 28-electron core |
Rb-Xe |
|
Stuttgart-Köln MDF, 46-electron core |
Cs, Ba |
|
Stuttgart-Köln MDF, 60-electron core |
Hf-Rn, Ac-U |
|
Stuttgart-Köln MDF, 78-electron core |
Fr, Ra |
|
Hay-Wadt LANL |
Na-La, Hf-Bi, U-Pu |
These are the elements actually present in each bundled XML, read from the
files themselves; they are narrower than the family names suggest. In
particular no bundled XML library covers Ce-Lu: the lanthanides are
reached through a basis’ own .ecp sidecar (pob-TZVP-rev2 carries La-Lu),
not through ecp_library.
A bundled basis’ .ecp sidecar is attached inline and per element by
the molecular SCF wrappers; the XML libraries above serve explicit
ecp_centers + ecp_library requests. Whether an atom needs an ECP in
a basis is answered by vibeqc.basis_registry.ecp_requirements, never by
the basis name. MP2, CC, DLPNO, the double hybrids, ROHF/ROKS and the
determinant solvers consume an ECP reference through its valence count
and an ECP-aware frozen core; CASCI/CASSCF/MRCI/NEVPT2/CASPT2
still refuse one, while OVGF runs on an ECP reference (HI/def2-SVP gives a
valence IP of 10.09 eV) without a dedicated validation. See user_guide/ecp.md.
Analytic nuclear gradients are ECP-aware on all four molecular
drivers when the exact XML-library or inline-primitive ECP provenance is
repeated on GradientOptions. The ASE force path copies those fields
automatically. The gradient applies Z_eff nuclear pieces plus dV_ECP/dR via
libecpint first derivatives, with analytic-vs-FD agreement pinned to
<= 1e-5 Ha/bohr. Gas-phase molecular ECP geometry optimization and
finite-difference Hessians preserve the same operator while centers follow
their atoms. Analytic ECP Hessians, CPCM forces, and top-level
ECP NEB currently fail closed rather than differentiating the wrong energy.
Note that run_job(hessian=True) builds a gas-phase, dispersion-free Hessian
even when solvent= or dispersion= is set, and says nothing about it in
the .out, so the frequencies and the thermochemistry rows do not include
those terms.
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 Ewald Γ/multi-k |
Phase C1c, fallback for small-gap systems; experimental |
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 |
R-CDIIS / AD-CDIIS (Chupin 2021) |
|
molecular |
restarted and adaptive-depth conjugate DIIS; see adaptive DIIS |
OpenTrustRegion orbital optimiser |
|
molecular RHF/UHF/RKS/UKS |
external trust-region second-order optimiser, build-gated ( |
Stability analysis |
|
molecular RHF/UHF/RKS/UKS |
Seeger-Pople internal and external stability of the converged determinant; see SCF convergence |
Eigensolver framework |
|
molecular (LOBPCG falls back to Davidson on the molecular route) + periodic |
Davidson and LOBPCG production; Jacobi-Davidson and GPLHR experimental; see solver framework |
Gilat-Raubenheimer BZ integration |
|
closed-shell multi-k GDF/RIJCOSX and BIPOLE RKS/UHF/UKS; fails closed on GPW/GAPW |
linear-interpolation Fermi-surface integration as an alternative to smearing; see metallic BZ integration |
SAP initial guess |
|
molecular + periodic by route |
superposition of atomic potentials (Lehtola 2019); capability-checked per route; see initial guesses |
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 |
|
double hybrids |
per recipe |
a double hybrid is a |
|
neural XC (Microsoft SKALA-1.1, MIT-licensed checkpoint fetched on first use) |
0 % |
external provider, not libxc; needs the |
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 |
Quartet multipole far-pair replacement |
Fail-closed research prototype |
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 compute-reference 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, installed separately from
the independent vibe-queue project. 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 |
IAO charges and IBOs |
|
RHF / UHF / RKS / UKS |
intrinsic atomic orbitals (Knizia 2013), basis-set-stable charges and spin populations, intrinsic bond orbitals with three bonding criteria; see IAO analysis |
Löwdin charges |
|
all |
symmetric-orth populations |
Hirshfeld charges |
|
all |
Classical Hirshfeld (1977) real-space partition against free-atom reference densities, so far less basis-sensitive than the two above. Iterative Hirshfeld is not implemented |
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 / UHF / RKS / UKS |
CPHF/CPKS + libint deriv_order=2, with FD-on-Fock |
Γ-point phonons (periodic) |
|
GAPW periodic SCF |
Γ only (k = [1,1,1]); multi-k phonons are not wired. Finite displacement on the analytic GAPW atomic force, not on the energy. The q-path helper returns a |
IR intensities |
|
all |
dipole derivatives along normal modes |
Thermochemistry (ZPE / U / H / S / G / Cv) |
|
all |
rigid-rotor + harmonic-oscillator + ideal-gas |
Relaxed coordinate scans |
|
HF / DFT / semiempirical |
one or two constrained internal coordinates with the rest relaxed; see relaxed scans |
Nudged elastic band |
|
RHF / UHF / ROHF / RKS / UKS / ROKS / MACE / semiempirical / SECCM |
climbing-image NEB with warm starts; periodic ROHF/ROKS gated; see NEB |
Dimer and eigenvector-following transition-state search |
|
molecular mean field / MACE |
minimum-mode following without a Hessian (dimer) or with Bofill-updated approximate Hessians (EF, P-RFO); periodic ROHF/ROKS, ECP and +U gated |
Molecular dynamics |
|
any surface with forces |
velocity Verlet; see molecular dynamics |
Well-tempered metadynamics |
|
any surface with forces |
Laio-Parrinello bias on the MD driver, well-tempered variant |
Minimum-energy conical intersection |
|
HF-CIS (finite-difference gradients) / MSINDO CIS |
Levine-Coe-Martínez penalty function; needs only two state energies and gradients |
Cohesive energies |
the energy-engine abstraction in cohesive energies |
periodic + molecular references |
cohesive energy per formula unit against free-atom references at the same level |
Intrinsic reaction coordinate |
|
RHF / UHF / ROHF / RKS / UKS / ROKS / MACE |
Molecular only; periodic IRC is a follow-up and fails closed. Mass-weighted damped steepest descent (Ishida-Morokuma-Komornicki 1977), not the Gonzalez-Schlegel constrained integrator. ROKS needs an explicit |
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, single orbital, or a multi-volume MO stack. Write only: vibe-qc has no cube reader |
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 |
Equation-of-state fit |
|
any energy-vs-volume scan |
Third-order Birch-Murnaghan only ( |
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 |
|
not implemented |
Raises |
Provisional NBO search |
|
exploratory Python API |
Simplified orbital classification and E(2) donor-acceptor analysis; not a complete NAO/NBO implementation. See the bond analysis guide. |
Energy decomposition analysis |
|
closed-shell RHF |
LMO-EDA (Su-Li 2009) and Kitaura-Morokuma two-fragment decomposition of the interaction energy into electrostatic, exchange, Pauli repulsion and polarisation + charge transfer, fragments in the dimer basis through ghost atoms; refuses Kohn-Sham, ECP and open-shell inputs. See the bond analysis guide |
Orbital entanglement |
|
all |
single-orbital entropy, mutual information, entanglement bond orders, correlation clusters |
Solvation (CPCM / COSMO v0.9.0, COSMO-RS v0.15.158)¶
Capability |
API |
Methods |
Status |
Notes |
|---|---|---|---|---|
CPCM / COSMO implicit solvation |
|
RHF / UHF / RKS / UKS; MSINDO through its own COSMO driver |
production |
macro-iteration on a union-of-spheres cavity; presets in |
Solvent analytic gradient / geometry optimisation in solvent |
|
RHF / UHF / RKS / UKS |
production |
the screening factor is carried from the run’s own variant (#546, #548, #549) |
COSMO-RS / COSMOSPACE thermodynamics |
|
rhf / uhf / rks / uks solutes as ideal conductors on the COSMO FINE cavity |
experimental (v0.15.158; job route v0.17.14) |
sigma profiles and potentials, chemical potentials, activity and partition coefficients, solvation free energies (Klamt 1995; Klamt, Jonas, Bürger, Lohrenz 1998; |
Direct COSMO-RS |
|
RHF / UHF / RKS / UKS |
experimental |
the solvent’s sigma potential fed back into the SCF (Sinnecker et al. 2006) on the COSMO FINE cavity at |
Solvent with correlated, CAS, semiempirical (except MSINDO) or MLIP methods |
|
mp2 / cc / dlpno / cas / gfn2_xtb / pm6 / mace, … |
gated (refuses with |
no validated post-SCF-in-solvent composition yet; ROHF / ROKS raise |
Input / output¶
Capability |
API |
Notes |
|---|---|---|
High-level “run-a-job” driver |
|
dispatches to right SCF driver, writes .out + .molden, runs BFGS if asked |
QCSchema interchange |
|
MolSSI QCSchema molecular input and atomic-result JSON; see QCSchema |
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 |
TREXIO export / import |
|
Optional |
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 save |
|
volumetric data, write only; there is no cube reader |
BXSF (band structure) |
|
XCrySDen 3D Fermi-surface format |
Basis sets¶
255 bundled Gaussian
.g94basis files in the runtime library: 255 QVF-Basis records underbasis_library/qvf/, the source of truth, rendered into the.g94/.ecptext libint and libecpint read; 93 vendor records (libint’s bundle and the pob sets) and 162 Basis Set Exchange records, each with provenance and citation routes.vibe-qc’s own sets: pob-TZVP, pob-DZVP-rev2, pob-TZVP-rev2 (Bredow-group periodic-tuned), plus the release-paper reproduction basis
6-311+g3df2p.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.On-demand Basis Set Exchange rendering (v0.17.1),
vibeqc.basis_fetch.fetch_basis_from_bserenders a BSE record the bundled library does not carry into a per-user cache as.g94plus an.ecpsidecar, with a provenance file beside it. Opt-in only:run_job(fetch_from_bse=True)or$VIBEQC_FETCH_BSE, and molecularrun_jobonly,run_periodic_jobis not wired to it. Needs the optional[bse]extra (the catalogue ships as package data, so a lookup is a local read and works offline; what you get is pinned by the package version, recorded in every provenance file). A bundled name is a no-op, and a bundled basis merely missing one of the molecule’s elements stays a coverage refusal rather than being patched from BSE.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 parity (Γ and multi-k, v0.11.0) |
LiH FCC, MgO |
µHa vs out-of-process PySCF (MgO/STO-3G Γ RHF: ΔE = -6.8e-12 Ha); CRYSTAL comparisons out of process |
Multi-k KRHF/KRKS native parity (v0.11.0) |
LiH FCC |
µHa vs out-of-process PySCF; no in-process PySCF backend |
JKBuilder + RIJCOSX vs ORCA 6.1.1 (v0.8.0) |
curated |
RIJCOSX SCF energy max |Δ| = 0.26 mHa on glycine def2-TZVP (energy only; gradient parity tracked separately, see § Density fitting + RIJCOSX) |
vqfetch acceptance harness (v0.8.0) |
5 structures + 8 molecules |
round-trip end-to-end |
Crystal / POSCAR / basis parsing |
18 |
- |
Bundled basis-library integrity |
255 |
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 troubleshooting and the issue tracker for the live open-bugs list. Highlights:
DFTB0 and SECCM-DFTB0 absolute energies are not chemistry while the repulsive term is an A/R¹² placeholder (issue #306 on the archived monorepo tracker, which is where the code comments cite it); the semiempirical matrix above therefore labels DFTB0 and SCC-DFTB screening/preoptimization rather than production. Fixed-geometry differences stay valid, absolute energies and EOS fits do not.
Periodic Γ-point GFN2-xTB derivatives are derivatives of the periodic energy. Since v0.16.0 the native gradient and all nine stress components match gapped central differences, and no analytic stress is gated off;
TestPeriodicStressGFN2pins all nine components atatol=2e-5. Issue #141 stays open for the independent wrong-answer check that a fix to a wrong number needs, not for further implementation. What is still open for the route is faithful periodic AES electrostatics, externalxtbparity and multi-k, which is why the matrix above keeps periodic GFN2 experimental.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 gradients: production forces finite-difference the supported exact SCF energy. Corrected- and legacy-gauge analytic implementations remain gated previews with a narrower maintained regression envelope; they are not evidence that the fail-closed quartet multipole gradient is integrated.
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.
Initial guesses can reach different stationary states or fail to converge. AUTO uses PATOM for ordinary restricted closed-shell molecules and SAD for ordinary periodic routes. Singlet UHF/UKS follows the unrestricted SAD policy; equal spin counts do not select the restricted PATOM route. Compare supported explicit seeds when diagnosing a difficult case; see the conservative AUTO policy.
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.