Skip to content

v3.3.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 22:21
· 539 commits to main since this release
v3.3.1
49abc46

eOn 3.3.1

A patch on v3.3.0. See monorepo CHANGELOG.md section 3.3.1 for the
full list: 92 fixes, 47 changes, 44 removals and 4 additions.

Build

The v3.3.0 tag does not build eonclib: plugin sources used
Parameters with nothing but a forward declaration in scope. They now
include Parameters.h. Potential constructors that take Parameters
move to eoncbase, so plugin .so files do not link eonclib. The MPI
potential links against MPI.
Wheels pin nanobind to >=2.2,<3, and wheel repair finds
librgpot.so* next to libreadcon_core. The vendored copy goes in as
libeon_rgpot.so.3, so the pip rgpot wheel imports beside
pyeonclient in either order.

Nudged elastic band (NEB)

  • minimize_endpoints defaults to false, matching SVN and the
    pyeonclient NEB API.
  • Fixed atoms carry no projected force. When the endpoints placed a
    fixed atom differently, the spring force leaked onto it and the norm
    convergence metric counted it.
  • Reactant and product with different atom counts are rejected before
    the path interpolation.
  • The default L-BFGS takes the two-loop step, and the NEB L-BFGS no
    longer runs the auto_scale finite-difference probe.
  • Energy-weighted springs set E_ref to the higher endpoint energy.
  • OCI-NEB restores a climbing image that ends a min-mode walk at
    positive curvature. ci_mmf_restore_unhelpful extends the restore to
    alignment rejects and force increases.
  • Non-periodic images pass a zero cell into forceBatch.

The NEB regression tests run between two LJ13 minima joined by a
saddle, so the climbing-image case converges at -O2 with NDEBUG as
well as at -O3.

Basin hopping, saddle searches and dynamics

Basin hopping applies the Metropolis factor to uphill hops at a
positive temperature and rejects them at zero or below. It keeps the minimized energy as the reference
and takes the dimer direction from the minimum image. The classic dimer
keeps the orientation its torque check accepted. ARTn keeps its library
mutex locked from create to destroy and passes the cell to pARTn
untransposed.
Parallel replica keeps its bond boost across trajectory copies. Langevin
and Nose-Hoover dynamics count and move each free Cartesian component
on its own, so a partly fixed atom stays fixed in its frozen direction.

Optimizers

opt_method = xtsci selects the xtsci-optimize engine, and
[Xtsci] method picks the solver inside it: L-BFGS, BFGS, SR1/SR2,
Newton, RFO, NLCG, Adam or PSO. One session persists across the host
loop, so L-BFGS pairs and NLCG conjugacy survive between steps.

Runtime and Python

eonc::Runtime is a composition root that moves but does not copy. ClientEON builds one
and moves it into Job, and pyeonclient's Session owns it. The Python
server and tools use pathlib for path I/O throughout.

Channels

PyPI project is eon-akmc. conda-forge package is eon, built from
the GitHub fat tarball eon-v3.3.1.tar.xz.