Skip to content

v2.16.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 10:32
· 1608 commits to main since this release
v2.16.0
048793b

myst:
html_meta:
"description": "Consolidated release notes for eOn v2.16.0: in-process rgpot potential (NWChem/CPMD), Davidson min-mode solver, readcon 0.13 ConFileIO, Metatomic controls, PbcConvention."
"keywords": "eOn release notes, v2.16.0, rgpot, RgpotPot, Davidson, readcon, Metatomic"

Release notes

[v2.16.0] - pending cut (post-v2.15.0 on main)

See the CHANGELOG for the fragment-by-fragment list
after cog bump consumes docs/newsfragments/; this page consolidates
user-facing and maintainer highlights from commits since v2.15.0, so the
cut has one place to link from the GitHub Release and feedstock PR.

Potentials

In-process rgpot potential (NWChem / CPMD)

Potential type RGPOT (build with -Dwith_rgpot=true) runs
rgpot's NWChemPot / CPMDPot
frontends inside eonclient and dlopens the libnwchemc / libcpmdc
engine libraries — no sockets, no potserv. Configuration lives in the
[RgpotPot] INI section and the matching Python RgpotPot schema model
(backend, basis/theory/scf_type for NWChem, functional/cutoff_ry for CPMD,
charge, multiplicity, engine paths, input_block). Engine-path environment
overrides are backend-scoped (NWCHEMC_LIBRARY vs CPMDC_LIBRARY). Ships
with a CPMD BLYP example (examples/rgpot_cpmd_blyp/), nwchemc + cpmdc smoke
tests, a dedicated CI job, and user-guide pages
({doc}/user_guide/rgpot_pot, {doc}/user_guide/rgpot_integration).

Metatomic output, determinism, and rotation controls

  • Explicit energy_output / energy_uncertainty_output keys for models with
    non-default output names (#215), non-conservative forces via
    non_conservative and variant_force / force_output (#296).
  • deterministic / deterministic_strict knobs for reproducible PyTorch
    evaluation.
  • Random SO(3) rotation per evaluation (random_rotation, #287) and
    approximate O(3) symmetrization by averaging over n_symmetry_rotations
    (#292).
  • Builds against metatomic-torch >=0.1.15 / metatensor-torch >=0.10 with
    sample_kind-based per-atom outputs.

Morse hot path

The Morse pair force loop inlines the potential, uses inverse-r scaling, and
accumulates energy in a register (~60% of instruction count in Morse::force
on NEB Morse workloads before the rework).

Molecular QM potentials and PBC

NWChem socket, ASE-ORCA, and ASE-NWChem auto-disable PBC on Matter attach
and hard-fail if PBC is re-enabled (#188). ASE NWChem takes mpi_launcher
(mpirun or srun) for Slurm-friendly execution (#193).

Saddle search and min-mode

  • Davidson minimum-mode solver (min_mode_method = davidson): Ritz
    subspace with finite-difference Hessian-vector products and residual
    correction, as an alternative to dimer rotation minimization and Lanczos.
  • Min-mode saddle search no longer reports STATUS_GOOD while the climb
    objective is unconverged (#20).
  • Saddle/process search synthesize a missing displacement.con from
    pos.con plus displace_magnitude times a unit direction.dat mode (#79).

I/O and Matter

  • ConFileIO targets readcon-core 0.13: IoStatus enum returns, bulk
    zero-copy builder maps, one-pass writeNebPath, and force+energy co-loading
    trusted without recomputation.
  • PbcConvention (Legacy vs MinimumImage) for position wrapping (#176);
    getForcesFree is const and setPositionsFree applies PBC wrapping (#171).

NEB and AKMC

  • NEB with initializer = file loads endpoints from the path frames and no
    longer requires separate reactant.con / product.con (#278).
  • MCAMC energy_level superbasin scheme tracks a true run-wide minimum energy
    (#212).

Maintainer notes

  • The subprojects/rgpot.wrap dependency is pinned to a released rgpot tag
    (previously floating head).
  • New CI workflow ci_rgpot.yml builds -Dwith_rgpot=true and runs the rgpot
    test suite against rgpot's fake engines.