Installation#

eOn is divided up into two separate programs: a server and a client. The client does most of the computation (e.g. saddle searches, minimizations, and molecular dynamics) while the server creates the input for the client and processes its results.

Getting started#

The simplest way to hit the ground running is with the conda package:

micromamba install -c "https://prefix.dev/channels/rg-forge" eon

At this point any of the many examples should be good to go.

The server is accessed through python -m eon.server, and the eonclient binary is automatically made available in the activated environment..

Changed in version 2.0: While reading older documentation, calls to eon must now be python -m eon.server.

Obtaining sources#

Added in version 2.0: eOn is now developed and distributed primarily via GitHub.

Once git is present[1]:

git clone https://github.com/TheochemUI/eOn.git
cd eOn

Building from source#

We provide a conda environment and pixi setup, with dependencies handled by conda-lock.

micromamba create -n eongit -f conda-lock.yml
micromamba activate eongit
# Or
pixi shell

This leads to the most robust installation approach:

# conda-compilers may try to install to $CONDA_PREFIX/lib/x86_64-linux-gnu without --libdir
meson setup bbdir --prefix=$CONDA_PREFIX --libdir=lib --buildtype=release
meson install -C bbdir

Some additional performance can be gained with ccache and mold, which can be passed with --native-file:

  • With ccache installed, add --native-file nativeFiles/ccache_gnu.ini

  • With mold installed, add --native-file nativeFiles/mold.ini

Optional packages#

The full listing of options is found in the meson_options.txt file. These can all be turned on and off at the command line. As an example see the LAMMPS integration instructions.

Additional topics#

This page lists generally applicable installation instructions, for specific systems, follow the sub-parts of this document.

Licenses#

eOn is released under the BSD 3-Clause License.

Vendored#

Some libraries[2] are distributed along with eOn, namely:

  • mcamc which contains libqd :: BSD-3-Clause license

Added in version 2.0:

  • cxxopts :: MIT License

  • magic_enum :: MIT License

  • catch2 :: Boost Software License, Version 1.0

  • ApprovalTests.cpp :: Apache 2.0 License

Deprecated since version 2.0:

  • Eigen 2.x :: Mozilla Public License