General Simulation Parameters#
The following contains general options which specify the calculation to be done and general parameters which are shared between job types.
Jobs#
More details are in subsequent sections, but a brief overview of the jobs are as grouped below.
aKMC#
- Adaptive Kinetic Monte Carlo (aKMC)
uses saddle searches to find possible reactive events and KMC to determine the state-to-state kinetics.
Within such a job, we may also use
- Recycling
to use reactive events (processes) between states to speed up aKMC.
or construct a
- Kinetic database
of reactive events so they can be reused between AKMC runs.
Or even reach for
- Coarse Graining
to identify and escape groups of states connected by low barriers.
Dynamics#
Beyond this, we may also run
- Molecular dyanmics
which are standard.
We can make this a little more interesting with
- Hyperdynamics
which uses a bias potential to accelerate transitions between states.
Collective sampling#
- Parallel Replica Dynamics
which uses a set of trajectories to accelerate the rate of escape from states.
- Basin hopping
which lowers the barrier between states to accelerate Monte Carlo sampling.
PES traversal#
We can find minima on the potential energy surface using a
- Minimization
which optimizes the geometry of a structure.
We can go close to a minimum energy path with the
- Nudged elastic band
which locates minimum energy pathways using the eponymous method, essentially a chain-of-states search strategy
with this, we can then run a
- Saddle search job
to find a nearby saddle point.
and they may do so by using
- Dimer
method to find the lowest curvature mode.
or the
- Lanczos
method to find the lowest curvature mode.
Added in version 2.1_TBA: with acceleration provided by Gaussian Process Regression or neural networks.
Miscellaneous#
Finally we note the following overview of some other sections
- Main
which has options not specific to a single job type.
- Communicator
which detail methods by which the code can be run in parallel.
- Potential
which configures interatomic potentials, both bundled with
eON
and interfaced- Optimizer
which has options related to the generic step interface for optimization of atomic structures
- Prefactor
which has options to control the calculation of harmonic transition state (hTST) prefactors
- Structure Comparison
which configures the computation of similarity measures and equivalence thresholds
- Paths
which enumerate directories in which calculations will be run
- Debug
which holds options for additional output
Configuration#
[Main]
- pydantic model eon.schema.MainConfig[source]#
Show JSON schema
{ "title": "MainConfig", "type": "object", "properties": { "job": { "default": "akmc", "description": "The type of job to execute.", "enum": [ "akmc", "basin_hopping", "displacement_sampling", "dynamics", "escaperate", "finite_differences", "global_optimization", "gp_surrogate", "hessian", "minimization", "monte_carlo", "nudged_elastic_band", "parallel_replica", "point", "prefactor", "process_search", "replica_exchange", "saddle_search", "safe_hyperdynamics", "structure_comparison", "tad" ], "title": "Job", "type": "string" }, "random_seed": { "description": "Takes an integer for the random seed. If this number is less than zero the current time is used as the random seed. If it is not defined, a 32 bit sized integer is used.", "title": "Random Seed", "type": "integer" }, "temperature": { "default": 300.0, "description": "The temperature that the job will run at.", "title": "Temperature", "type": "number" }, "finite_difference": { "default": 0.01, "description": "The finite difference distance to use for dimer, hessian, lanczos, and optimization methods.", "title": "Finite Difference", "type": "number" }, "checkpoint": { "default": false, "description": "Resuming search from checkpoint files.", "title": "Checkpoint", "type": "boolean" }, "quiet": { "default": false, "description": "Disable logging to stdout.", "title": "Quiet", "type": "boolean" }, "write_log": { "default": true, "description": "Enable writing log to client.log file.", "title": "Write Log", "type": "boolean" }, "max_force_calls": { "default": 0, "description": "The maximum number of total force calls per job. The default, 0, means unlimited force calls. If this limit is reached, an error code 1017 is thrown and shows up in the client log.", "title": "Max Force Calls", "type": "integer" }, "remove_net_force": { "default": true, "description": "If True, ensures that the net force on the system of atoms is zero by adjusting the force on each free atom.", "title": "Remove Net Force", "type": "boolean" } } }
- Config:
use_attribute_docstrings: bool = True
- Fields:
- field finite_difference: float = 0.01#
The finite difference distance to use for dimer, hessian, lanczos, and optimization methods.
- field job: Literal['akmc', 'basin_hopping', 'displacement_sampling', 'dynamics', 'escaperate', 'finite_differences', 'global_optimization', 'gp_surrogate', 'hessian', 'minimization', 'monte_carlo', 'nudged_elastic_band', 'parallel_replica', 'point', 'prefactor', 'process_search', 'replica_exchange', 'saddle_search', 'safe_hyperdynamics', 'structure_comparison', 'tad'] = 'akmc'#
- Options:
molecular_dynamics
: Molecular dynamics.parallel_replica
: Calculate the rare-event dynamics of the system by combining transitions observed from multiple trajectories run in parallel.saddle_search
: Do a saddle point search using a minimum mode method.displacement_sampling
: Job to sample different displacement methods and parameters to see which are the most efficient.process_search
: Combined saddle search, minimizations, and prefactor calculations. Used by the aKMC method.basin_hopping
: Search for global minimum using basin hopping method.minimization
: Find the minimum from an initial configuration.akmc
: Run an adaptive kinetic monte carlo simulation.hessian
: Calculate the Hessian matrix for the specified configuration in a process.finite_differences
: Finite difference methods.global_optimization
: Global optimization methods.gp_surrogate
: Gaussian process surrogate methods.monte_carlo
: Monte Carlo methods.nudged_elastic_band
: Nudged elastic band methods.point
: Single point calculation.prefactor
: Prefactor calculations.replica_exchange
: Replica exchange methods.safe_hyperdynamics
: Safe hyperdynamics methods.structure_comparison
: Structure comparison methods.tad
: Temperature-accelerated dynamics.
The type of job to execute.
- field max_force_calls: int = 0#
The maximum number of total force calls per job. The default, 0, means unlimited force calls. If this limit is reached, an error code 1017 is thrown and shows up in the client log.
- field random_seed: int [Optional]#
Takes an integer for the random seed. If this number is less than zero the current time is used as the random seed. If it is not defined, a 32 bit sized integer is used.