A modern, elegant approach to working with eOn.
We provide a pixi environment for reproducible builds:
pixi installThen build and install:
pixi run bash -c "meson setup bbdir \
--prefix=$CONDA_PREFIX --libdir=lib \
--buildtype release --wipe 2>/dev/null \
|| meson setup bbdir --prefix=$CONDA_PREFIX \
--libdir=lib --buildtype release"
pixi run meson install -C bbdirThe server is accessed through python -m eon.server. The eonclient binary
is automatically made available in the activated environment.
This is the preferred method.
cd client
# in pixi, add --prefix=$CONDA_PREFIX --libdir=lib
meson setup bbdir --buildtype=debug -Dbuild_tests=true
meson test -C bbdirPerformance benchmarks use ASV with results posted on PRs via asv-perch:
# Validate benchmarks
pixi run bash -c "pip install asv && asv check"
# Quick local run
pixi run bash -c "asv machine --yes && \
asv run -E 'existing:$(which python)' --quick"The published site is MyST markdown under docs/source, built with Sphinx
(eondocs.org).
To schedule eonclient through AiiDA, install aiida-eon and see
docs/source/user_guide/aiida.md. That page is the plugin landing in
this tree. In-process Matter work is pyeonclient, not AiiDA.
Run pre-commit before submitting pull requests:
uvx prek run --all-filesFor best results, install the git hook:
uvx prek installWe have both Catch2 unit tests, and also ApprovalTests. For adding new
approval tests, first build them with meson compile, run them to approve, and
then re-run to make sure things pass with meson test.
Please cite the eOn software through its Zenodo record. The concept DOI
10.5281/zenodo.18529495 always
resolves to the latest release, and each release also has its own DOI on Zenodo.
GitHub reads the same reference from CITATION.cff.
@software{goswamiEOn,
title = {{TheochemUI/eOn}},
author = {Rohit Goswami and Sam Chill and Rye Terrell and Graeme Henkelman and Matthew Welborn and Liang Zhang and Andreas Pedersen and {t-brink} and Erik Edelmann and Jean Claude and {Alejandro} and Sung Hoon Jung and Seyed Alireza Ghasemi and {chemist29} and {satishskamath} and {Maxim} and Tobias Dijkhuis and {via9a}},
year = 2026,
publisher = {Zenodo},
doi = {10.5281/zenodo.18529495},
url = {https://doi.org/10.5281/zenodo.18529495}
}The rewrites behind eOn 2.x and 3.x, including the Gaussian process methods, are covered in R. Goswami, Efficient Exploration of Chemical Kinetics, arXiv:2510.21368 (2025). doi:10.48550/arXiv.2510.21368 For other eOn 2.x and later methods (AKMC, the dimer, Lanczos, and minimization), please also cite Goswami’s 2025 thesis.
If you use one of the methods below, please also cite the paper behind it.
- GPR accelerated dimer (
min_mode_method = gprdimer,gp_surrogate): R. Goswami, M. Masterov, S. Kamath, A. Peña-Torres and H. Jónsson, J. Chem. Theory Comput. 21, 7935 (2025). doi:10.1021/acs.jctc.5c00866 - Pruning and optimal transport for GP saddle searches (
use_pruneand related keys): R. Goswami and H. Jónsson, ChemPhysChem 27, e202500730 (2026). doi:10.1002/cphc.202500730 - Any nudged elastic band run (
job = nudged_elastic_band), including off-path climbing image NEB (OCI-NEB) with Hessian eigenmode alignment: R. Goswami, M. Gunde and H. Jónsson, Front. Chem. 14, 1807063 (2026). doi:10.3389/fchem.2026.1807063 - Benchmarking saddle searches, and rotation removal in the dimer: R. Goswami, AIP Adv. 15, 085210 (2025). doi:10.1063/5.0283639
- Background on GP acceleration of saddle and minimum searches: R. Goswami, ACS Phys. Chem. Au 6, 633 (2026). doi:10.1021/acsphyschemau.6c00038
- NEB workflows with eOn and machine-learned potentials: R. Goswami, MethodsX 16, 103899 (2026). doi:10.1016/j.mex.2026.103899
- Two-dimensional RMSD plots of NEB paths (via
rgpycrumbs): R. Goswami, MethodsX 16, 103851 (2026). doi:10.1016/j.mex.2026.103851 - Metatomic potentials in eOn, including the NEB runs: F. Bigi, J. W. Abbott, P. Loche, A. Mazitov, D. Tisi, M. F. Langer, A. Goscinski, P. Pegolo, S. Chong, R. Goswami, P. Febrer, S. Chorna, M. Kellner, M. Ceriotti and G. Fraux, J. Chem. Phys. 164, 064113 (2026). doi:10.1063/5.0304911
These describe the original EON code and the methods it started from, oldest first.
- G. Henkelman and H. Jónsson, “Long time scale kinetic Monte Carlo simulations without lattice approximation and predefined event table”, J. Chem. Phys. 115, 9657 (2001). doi:10.1063/1.1415500
- L. Xu and G. Henkelman, “Adaptive kinetic Monte Carlo for first-principles accelerated dynamics”, J. Chem. Phys. 129, 114104 (2008). doi:10.1063/1.2976010
- A. Pedersen, G. Henkelman, J. Schiøtz and H. Jónsson, “Long time scale simulation of a grain boundary in copper”, New J. Phys. 11, 073034 (2009). doi:10.1088/1367-2630/11/7/073034
- A. Pedersen and H. Jónsson, “Distributed implementation of the adaptive kinetic Monte Carlo method”, Math. Comput. Simul. 80, 1487 (2010). doi:10.1016/j.matcom.2009.02.010
- S. T. Chill, M. Welborn, R. Terrell, L. Zhang, J.-C. Berthet, A. Pedersen, H. Jónsson and G. Henkelman, “EON: software for long time simulations of atomic scale systems”, Modelling Simul. Mater. Sci. Eng. 22, 055002 (2014). doi:10.1088/0965-0393/22/5/055002