--- myst: html_meta: "description": "Comprehensive user guide for the eOn software, detailing all algorithms, configuration settings, and job types." "keywords": "eOn user guide, documentation, configuration, algorithms, tutorials" --- # User Guide Here we collect a brief introduction to each algorithm, with curated references for more information along with the configuration settings as implemented within `eOn`. Each of the sections and methods may be included in the configuration file with the appropriate section header. ## Overview The `eOn` program can run the following methods or tasks to explore the configuration space of molecular systems and to accelerate the simulation of their dynamics over long times. To run `eOn`, a configuration file must be generated using the options specified in the documentation. Each section header is denoted by square brackets, and is followed by the key/value pairs. For example, to set the *job* key of the *[Main]* section to the value *process_search*, your configuration file would include the lines: ```{code-block} ini [Main] job = process_search ``` There are specific options for each method, and a set of general options which are shared between methods. Examples of these general options include specification of the interatomic potential and the parameters for doing structural optimizations and comparisons. ```{versionadded} 2.12 Parameters can also be loaded from JSON strings for programmatic usage. See {doc}`/devdocs/design/client/parameters` for the JSON schema. ``` ````{margin} ```{note} As of version 2.0 onwards, we recommend using dedicated workflow management tools (like [AiiDA](https://www.aiida.net/) or [Snakemake](https://snakemake.readthedocs.io/) or [Fireworks](https://materialsproject.github.io/fireworks)) instead of using `eOn` to generate submission scripts. ``` ```` eOn is designed to run in serial on one computer or in parallel using a communicator to send jobs from a server to clients and receive the results back. Several parallelization schemes have been implemented, including local communication through files, cluster communication via a queuing system or via mpi. Methods run in parallel are broken up by the eon server into tasks which are run by client program. The server then compiles the information sent back by the clients in a way that can be used by the sampling or dynamics methods. ## Potentials Some of the potentials require additional installation and setup, which are described in the subsequent sections. ```{toctree} :maxdepth: 1 :caption: Potentials ext_pot lammps_pot ase_pot metatomic_pot quip mpi_potential ``` ## Configuration Sections ```{toctree} :maxdepth: 1 :caption: Common algorithm_selection main potential structure_comparison optimizer ``` ```{toctree} :maxdepth: 1 :caption: Potential Energy Surface Traversal minimization neb dimer lanczos artn hessian prefactor ``` ```{toctree} :maxdepth: 1 :caption: Compound Jobs akmc saddle_search basin_hopping process_search recycling coarse_graining ``` ```{toctree} :maxdepth: 1 :caption: Dynamics dynamics parallel_replica hyperdynamics ``` ```{toctree} :maxdepth: 1 :caption: Additional configuration communicator debug paths ``` ## Miscellaneous Some of the potentials require additional installation and setup, which are described in the subsequent sections. ```{toctree} :maxdepth: 1 :caption: External linkage kdb serve_mode ```