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_endpointsdefaults tofalse, 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_scalefinite-difference probe.Energy-weighted springs set
E_refto the higher endpoint energy.OCI-NEB restores a climbing image that ends a min-mode walk at positive curvature.
ci_mmf_restore_unhelpfulextends 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.