Feature matrix¶
Molecular¶
Method |
Driver |
Open-shell |
Gradient |
Hessian (FD) |
Hessian (analytic) |
MP2 |
Validated vs PySCF |
|---|---|---|---|---|---|---|---|
RHF |
|
— |
✓ |
✓ ( |
✓ ( |
✓ ( |
✓ |
UHF |
|
✓ |
✓ |
✓ |
(roadmap 17c) |
✓ ( |
✓ |
RKS |
|
— |
✓ |
✓ |
(roadmap 17e) |
— |
✓ |
UKS |
|
✓ |
✓ |
✓ |
(roadmap 17f) |
— |
✓ |
ROHF |
— |
— |
— |
— |
— |
— |
(roadmap) |
Any functional that libxc supports is available through RKS and UKS (over 500, including LDA, GGAs, hybrids, meta-GGAs). HF analytic gradients and DFT analytic gradients are both available for LDA, GGA, and hybrid functionals. Vibrational analysis (frequencies + IR intensities + thermochemistry) is built on top of the Hessian path — see “Properties” below.
SCF convergence aids¶
Aid |
API |
Coverage |
Notes |
|---|---|---|---|
DIIS extrapolation |
|
RHF / UHF / RKS / UKS, periodic |
default on, ~10× iter speedup |
Damping |
|
all |
density mixing |
Saunders-Hillier level shift |
|
molecular + periodic Γ / multi-k |
Phase C1a |
Quadratic (“Newton”) SCF |
|
molecular + periodic Γ / multi-k |
Phase C1c — fallback for small-gap systems |
Fermi-Dirac smearing |
|
periodic Γ-Ewald |
Phase C1b |
Periodic¶
Method |
Driver |
Dim 1 |
Dim 2 |
Dim 3 |
Notes |
|---|---|---|---|---|---|
RHF, molecular limit |
|
✓ |
✓ |
✓ |
large unit cell only |
RHF, multi-k |
|
✓ |
✓ |
✓ |
EWALD_3D shipped (15c-1) |
UHF, multi-k Ewald |
|
✓ |
✓ |
✓ |
Phase 15c-3 |
RKS, multi-k |
|
✓ |
✓ |
✓ |
LDA / GGA / hybrid functionals; Phase 15c-2 |
UKS, multi-k Ewald |
|
✓ |
✓ |
✓ |
Phase 15c-3 |
ROHF periodic |
— |
— |
— |
— |
roadmap |
Atomic gradients (periodic) |
— |
— |
— |
— |
roadmap (G1) |
3D bulk Coulomb works through full EWALD_3D (Phase 12e-c) without any cutoff-dependent results. Periodic SCF convergence aids (level shift, smearing, quadratic Newton fallback) are wired through every backend.
Ewald summation (Phase 12e, mostly shipped)¶
See user_guide/ewald.md for the math and API, or the v0.2.0 roadmap section for the full phase log.
Sub-phase |
Scope |
Status |
|---|---|---|
12e-a |
Classical Ewald for the point-charge nuclear lattice sum. |
✅ shipped |
12e-b |
erfc-screened nuclear attraction |
✅ shipped |
12e-c-1 |
Gaussian-charge Ewald for long-range V(g) via grid integration of the smooth complement. α-invariant to 1e-4. |
✅ shipped |
12e-c-2 |
erfc-screened ERIs for the short-range Ewald J/K. |
✅ shipped |
12e-c-3a |
FFTW3 build dep + |
✅ shipped |
12e-c-3b |
|
✅ shipped |
12e-c-3c |
Saunders–Dovesi multipolar splitting for the tight-core far field (handles e.g. STO-3G O 1s analytically; flips the H₂O xfail test in 12e-c-4a to pass). |
⏳ in progress |
12e-c-4 |
End-to-end |
✅ shipped |
Literature-Madelung-constant validations (tolerance from the implementation; source uncertainty in parens):
Crystal |
M reproduced |
Reference |
|---|---|---|
NaCl (rocksalt, ±1 charges) |
1.7475645946 to 1e-8 |
1.7475645946… |
CsCl |
1.76267477 to 1e-6 |
1.76267477 (±1e-8) |
ZnS (zincblende) |
1.63805 to 1e-4 |
1.63805 (±1e-5) |
Simple-cubic jellium |
1.4186487 to 1e-6 |
1.4186487 (Nijboer-De Wette 1957) |
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 |
|
RHF / UHF / RKS / UKS |
FD on analytic gradient; trans/rot projection |
Vibrational frequencies (analytic) |
|
RHF |
CPHF + libint deriv_order=2; Phase 17b-3 |
IR intensities |
|
RHF / UHF / RKS / UKS |
dipole derivatives along normal modes (Phase 17a-2) |
Thermochemistry (ZPE / U / H / S / G / Cv) |
|
all |
rigid-rotor + harmonic-oscillator + ideal-gas, Phase 17a-3 |
D3-BJ dispersion |
|
all |
Grimme D3 with Becke-Johnson damping |
Cube file output |
|
all |
density / orbital / spin density |
Molden file export |
|
all |
RHF / UHF / RKS / UKS |
Periodic band structure |
|
periodic SCF |
k-path sampling |
Input / output¶
Capability |
API |
Notes |
|---|---|---|
High-level “run-a-job” driver |
|
dispatches to the right SCF driver, writes .out + .molden, runs BFGS if asked |
Formatted text log |
|
banner, iteration trace, energy components (DFT), orbital table, HOMO-LUMO gap |
Molden file export |
|
RHF / UHF / RKS / UKS; verified by PySCF round-trip |
Geometry trajectory |
|
ASE .traj file, viewable with |
XYZ load |
|
picks up charge / multiplicity |
POSCAR load / save |
|
VASP 5 format |
Basis sets¶
Standard — 90 sets from libint, including STO-nG, 6-31G**, cc-pVXZ, def2-TZVP, ANO-RCC, and the Karlsruhe core-valence family.
Solid-state — pob-TZVP, pob-TZVP-rev2, pob-DZVP-rev2 (H–Br) from the Peintinger-Vilela-Oliveira-Bredow family, designed to avoid small-exponent linear dependencies in crystals.
CRYSTAL-format parser — imports arbitrary CRYSTAL per-element basis files, converts to libint-compatible .g94.
ECP basis sets — parsed but not yet applied; requires libecpint integration.
Crystal / lattice infrastructure¶
spglib integration:
Crystal,analyze_symmetry,to_primitive,irreducible_kpoints.POSCAR I/O (VASP 5 format).
Monkhorst-Pack k-mesh generation with IBZ reduction.
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 vs PySCF |
21 |
1e-8 Ha |
Gradients (HF, DFT) vs finite-difference / PySCF |
17 |
1e-6 Ha/bohr |
Hessian skeleton 2nd-deriv contractions vs FD-on-gradient |
8 |
FD-truncation (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 (ZPE, S, U, H, G) |
CPHF kernel + polarizability vs PySCF FD |
11 |
1e-5 a.u. |
Periodic machinery (invariants, molecular limit, Bloch folding) |
76 |
machine precision |
Periodic SCF convergence aids (level-shift, quadratic, smearing) |
27 |
per-test scoped |
Crystal / POSCAR / basis parsing |
18 |
— |
Full suite: ~995 tests, runs in about 4 minutes on an M-class MacBook.