MPPT v0.3.0#

Native magnetic properties are the principal addition in MPPT v0.3.0. HEFFSO now calculates magnetic moments, principal g values, field-dependent levels, magnetization and susceptibility. Caspy provides tables and plots from the stored results.

The release also extends reference preparation, reduces selected-DF memory requirements and improves scientific reporting. Previous release: v0.2.2.

At a glance#

Magnetic properties#

  • HEFFSO: native magnetic moments, plus principal g for eligible isolated, time-reversal-closed Kramers pairs.

  • HEFFSO: field-dependent energy levels, magnetization and magnetic susceptibility over specified field and temperature grids.

  • Caspy: postprocessing of the native HDF5 results into tables and plots, including magnetic output through caspy-heffso-report --magnetic.

The magnetic-moment operator is zeroth order in the MPPT perturbation, projected into retained states. Definitions and examples are available in the magnetic reference and Ce³⁺, Pr³⁺ and OH calculations.

Electronic structure and integral handling#

  • PySCF Interface: closed-shell RKS with explicit XC and density fitting; CASCI and CASSCF with native FCI or optional block2 DMRG.

  • pyscf2mppt output: restored scientific reports and correlated populations in logs/pyscf.log and run.log, with terminal output via --full-output. Optional runtime projections record changes in orbital character.

  • Integral export + DIAGPT: selected DF stores CVCV factors on disk and reconstructs bounded integral tiles, avoiding a complete CVCV matrix in RAM.

  • DIAGPT: optional diagonal PT2 diagnostics resolve per-determinant components, with pure CVCV reported separately. Removal/attachment energies and weights used in the zeroth-order Hamiltonian are also reported.

Selection, workflows and documentation#

  • CIPSIXX: v0.1.0 corrects multi-root threshold filtering, terminates stalled adaptive passes and removes a single-thread candidate-map copy, reducing the candidate-merge memory peak.

  • Workflow + provenance: HDF5-only continuation no longer requires unused PySCF resources. Installed-component reports identify the actual binaries and Python packages.

  • Documentation: a default-open homepage release panel covers the current and previous minor lines, with responsive layout and links to full notes.

Updating from v0.2.2#

Installation#

Follow the installation guide for both Python packages and native executables. New selected-DF files need the matching DIAGPT factor reader; existing packed CVCV files remain supported.

Verify the installed components:

pyscf2mppt version --full
cipsixx_select --version

The selector should report cipsixx_select 0.1.0. Component versions are independent of the MPPT bundle version; see the table below.

Reference and solver settings#

  • RKS: set scf.method: rks, scf.xc and scf.density_fit: true. This path supports closed-shell singlets. CAS and MPPT use the physical Hamiltonian on those orbitals; the XC functional is not added to it.

  • CASCI/CASSCF: set the active-space stage’s density_fit and, for DF, auxbasis. Its exact/DF choice is independent of SCF.

  • block2: install the optional environment before selecting the solver.

Full settings are documented in the solver guide and YAML reference.

Existing calculations#

  • CASSCF occupations: review any mppt.downstream_nocc override. The downstream occupied prefix now follows electron count, not the number of fractionally occupied MOs. Physical populations come from the correlated density.

  • Older density checkpoints: remain readable; missing correlated populations are shown as NA. A fresh calculation supplies them. See PySCF reports.

  • HDF5-only continuation: start a new --output-dir if the old run identity captured unused PySCF files. The new identity follows HDF5 and downstream settings.

  • Older HEFFSO properties: regenerate them for current readers, which require mppt_heffso_properties_v4. The historical properties-v2 archive path remains supported.

  • CIPSIXX with both filters active: compare the selected spaces after upgrading. The root-filtering fix can change determinant sets and downstream energies.

Keep the complete managed run directory. Resume reuses completed-stage orbitals; it cannot restart an interrupted block2 kernel or recreate missing projection histories.

New magnetic field or temperature grids require a new HEFFSO calculation; Caspy postprocesses the stored response.

Micro fixes#

Input and integral export#

  • PySCF Interface: correct the YAML option to mppt.avas_labels_analysis. mppt.avas_labels_analyzis remains a compatible alias, preserving stored settings and run identity.

  • Integral export: use the selected reference’s exact/DF settings and auxiliary provider. Conflicting mppt.integral_mode values fail explicitly; exact CAS does not inherit the SCF DF provider.

Scientific reports#

  • PySCF Interface: calculate projected or rotated CASSCF orbital populations from the correspondingly transformed correlated density.

  • PySCF Interface: preserve original root IDs in energy-sorted tables and distinguish natural-occupation ranks from current-MO populations.

  • pyscf2mppt output: timestamp every line of multiline reports and keep substage progress separate from the parent stage’s saved status.

  • HEFFSO reports: account for binary roundoff at decimal-print boundaries, accepting correctly rounded energies while rejecting larger mismatches.

Execution and resume#

  • Workflow: preserve the selected virtualenv for symlinked Python interpreters and inspect that environment’s package identity.

  • Resume: check package-code hashes before reusing saved stages, detecting code changes even when the package version is unchanged.

  • HEFFSO workflow: match saved results to the requested fields, temperatures, spin g and effective doublet-grouping tolerance before reuse.

Performance and packaging#

  • DIAGPT: localize IEEE checks to CVCV panel reads, avoiding unnecessary GNU Fortran IEEE-state save/restore calls on scalar integral access.

  • Installation: include mppt_block2_env.yaml in release snapshots for the documented optional DMRG environment.

  • Release delivery: use the same configured snapshot destination for publication and downstream verification after the project namespace move.

Documentation#

  • Documentation: enlarge magnetic-figure labels, render subscripts consistently and support local figure scrolling on narrow screens.

  • Homepage: remove diagram arrow overlays while preserving the ASCII stars, orbital labels and upper/lower horizontal dashes.

Component versions#

Component

Version

MPPT bundle, DIAGPT and HEFFSO

v0.3.0

pyscf2mppt

0.6.0

Caspy

0.5.0

libgrpppy

0.1.2

CIPSIXX

0.1.0

CIPSIXX uses the immutable v0.1.0 release, pinned to 502984e4bfcac75f41c7ca8d056a214705a13d0c. Source SHAs and executable fingerprints distinguish development builds that share a version number.

Checked release paths: serial build/install, native end-to-end workflows, optional block2 calculations, documentation and clean snapshot installation.

Current limitations#

  • RKS: closed shells only; dispersion, nonlocal corrections and some Libxc families are unsupported. Choose grids and DF settings explicitly.

  • Runtime projections: weights measure orbital character, not populations. CASSCF observation targets PySCF mc1step.

  • CVCV streaming: bounds the tile/panel workspace, not total process RAM. Other DIAGPT arrays and library caches still need memory.

  • PT2 diagnostics: determinant-diagonal components only, not contributions to mixed eigenstates. No off-diagonal breakdown, full denominator histogram or automatic f/d assignment.

  • CIPSIXX: max_candidates caps scored output after generation. It does not cap the full candidate-generation memory peak.