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
(RgpotPot (direct in-process rgpot), rgpot integration (three roles)).
Metatomic output, determinism, and rotation controls¶
Explicit
energy_output/energy_uncertainty_outputkeys for models with non-default output names (#215), non-conservative forces vianon_conservativeandvariant_force/force_output(#296).deterministic/deterministic_strictknobs for reproducible PyTorch evaluation.Random SO(3) rotation per evaluation (
random_rotation, #287) and approximate O(3) symmetrization by averaging overn_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_GOODwhile the climb objective is unconverged (#20).Saddle/process search synthesize a missing
displacement.confrompos.conplusdisplace_magnitudetimes a unitdirection.datmode (#79).
I/O and Matter¶
ConFileIOtargets readcon-core 0.13:IoStatusenum returns, bulk zero-copy builder maps, one-passwriteNebPath, and force+energy co-loading trusted without recomputation.PbcConvention(Legacy vs MinimumImage) for position wrapping (#176);getForcesFreeis const andsetPositionsFreeapplies PBC wrapping (#171).
NEB and AKMC¶
NEB with
initializer = fileloads endpoints from the path frames and no longer requires separatereactant.con/product.con(#278).MCAMC
energy_levelsuperbasin scheme tracks a true run-wide minimum energy (#212).
Maintainer notes¶
The
subprojects/rgpot.wrapdependency is pinned to a released rgpot tag (previously floatinghead).New CI workflow
ci_rgpot.ymlbuilds-Dwith_rgpot=trueand runs the rgpot test suite against rgpot’s fake engines.