Feature matrix¶
Molecular¶
Method |
Driver |
Open-shell |
Gradient |
MP2 |
Validated vs PySCF |
|---|---|---|---|---|---|
RHF |
|
— |
✓ |
✓ ( |
✓ |
UHF |
|
✓ |
✓ |
✓ ( |
✓ |
RKS |
|
— |
✓ |
— |
✓ |
UKS |
|
✓ |
✓ |
— |
✓ |
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.
Periodic¶
Method |
Driver |
Dim 1 |
Dim 2 |
Dim 3 |
Notes |
|---|---|---|---|---|---|
RHF, molecular limit |
|
✓ |
✓ |
✓ |
large unit cell only |
RHF, multi-k |
|
✓ |
✓ |
⚠ |
3D bulk Coulomb is cutoff-dependent |
RKS, multi-k |
|
✓ |
✓ |
⚠ |
pure LDA/GGA validated in molecular limit |
Hybrid DFT |
|
wired |
wired |
⚠ |
not yet benchmarked |
ROHF / UHF / UKS periodic |
— |
— |
— |
— |
roadmap |
⚠ = cutoff-dependent results until the Ewald + Saunders-Dovesi splitting lands in Phase 12e. Molecular-limit tests pass to machine precision in all three dimensions for both HF and DFT.
Ewald summation (Phase 12e, in progress)¶
See user_guide/ewald.md for the math and API.
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 |
Reciprocal-space parts of V(g) and ERI Coulomb J, Saunders-Dovesi multipolar splitting, FFTW3 dep. Full |
pending |
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) |
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 |
17 |
1e-6 Ha/bohr |
Periodic machinery (invariants, molecular limit, Bloch folding) |
76 |
machine precision |
Crystal / POSCAR / basis parsing |
18 |
— |
Full suite: ~280 tests, runs in about a minute.