Skip to content

Correlation methods (MP2/CCSD(T)/THC) and automatic DF/COSX defaults#50

Merged
peterspackman merged 16 commits into
mainfrom
correlation-and-df-defaults
Jun 3, 2026
Merged

Correlation methods (MP2/CCSD(T)/THC) and automatic DF/COSX defaults#50
peterspackman merged 16 commits into
mainfrom
correlation-and-df-defaults

Conversation

@peterspackman
Copy link
Copy Markdown
Owner

@peterspackman peterspackman commented Jun 3, 2026

MP2 / correlation

  • occ_correlation module: B-tensor RI-MP2, AO-direct conventional MP2, UHF MP2; --mp2-max-memory / --mp2-spin-scaling (SCS/SOS) CLI.
  • LS-THC-MP2 (restricted + unrestricted, OS/SS) with a Laplace denominator.

Coupled cluster (occ_cc)

  • Restricted + spin-adapted unrestricted CCSD(T) with exact / DF / THC backends.
  • Memory-bounded loop-based (T) (O(o³) per virtual triple); restricted (T) energy-contraction rewrite.
  • Apple AMX / Accelerate-aware parallel pgemm in the hot update_amps paths.

Automatic density-fitting / COSX defaults + CLI cleanup (this session)

  • Auto --ri policy (default): density-fit Coulomb for every SCF; for exact exchange (HF / hybrid DFT) use DF-K below an nbf crossover and seminumerical COSX above. --ri none|jk|cosx overrides; applies to single-point, opt and freq (opt/freq stay on DF — no analytic gradient for DF/COSX).
  • Per-orbital-basis auxiliary defaults via share/basis/fitting_defaults.json + occ::qm::resolve_fitting_basis; MP2/CCSD now pick a matched correlation (RIFIT) basis. Added def2-svp / def2-tzvpp RIFIT.
  • Unified, table-driven method parser; ri-/df-/thc- name prefixes (e.g. ri-ccsd(t), thc-mp2); --ccsd-backend ri == df.
  • COSX wired into hybrid DFT; explicit "Coulomb (J) / Exchange (K)" log line.
  • scf --help grouped into sections; advanced tuning hidden behind --help-expert; --aux / --corr-aux aliases.
  • Minified the shipped JSON data files (~1.5 MB smaller, data unchanged).
  • Also folds in pending DFT XC-screening / gradient changes already in the tree.

… layout): benzene 72->13s single / 13->4s 8-thread
…llel transpose; convert 6 hot update_amps contractions
…cluster, doesn't thread-scale), parallel ppermute transpose in pcon/pcon2, route more update_amps contractions through Accelerate
…LI cleanup

- Auto `--ri` policy (default): density-fit the Coulomb term for every SCF;
  for exact exchange (HF / hybrid DFT) use DF-K below an nbf crossover and
  seminumerical COSX above it. `--ri none|jk|cosx` overrides. Applies to
  single-point, geometry optimisation and frequencies (opt/freq stay on DF
  since DF/COSX have no analytic gradient).
- Per-orbital-basis auxiliary defaults via share/basis/fitting_defaults.json
  and occ::qm::resolve_fitting_basis: MP2/CCSD now pick a matched correlation
  (RIFIT) basis rather than a JK basis. Added def2-svp / def2-tzvpp RIFIT.
- Unified, table-driven method parser; ri-/df-/thc- name prefixes
  (e.g. ri-ccsd(t), thc-mp2) and `--ccsd-backend ri` == `df`.
- COSX wired into hybrid DFT; one explicit "Coulomb (J)/Exchange (K)" line
  reports the resolved two-electron treatment.
- scf --help organised into labelled groups; advanced tuning hidden behind
  --help-expert; --aux/--corr-aux aliases for the auxiliary bases.
- Minified the shipped JSON data files (~1.5 MB smaller, data unchanged).
- Folds in the pending DFT XC-screening / gradient changes already in the tree.
@peterspackman peterspackman merged commit 864e693 into main Jun 3, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant