## Software

This section contains some small software utilities which may be useful for people performing adaptive kinetic Monte Carlo simulations with the EON software package. Although this software is mostly written specifically for the purpose of my own research, they may be easily adapted to suit other needs. If you have any questions regarding this software, don't hesititate to contact me.

### H_{2}O:CO:CO_{2} potential

The code here is a C++ implementation of the set of molecular force fields to model the interactions between H_{2}O, CO, and CO_{2} molecules used for the majority of simulations during my Ph.D. project. A complete description of force fields and the analytical expressions for the potential energy are given in this document. The code is written such that it can be directly used within EON, i.e., the base h2ococo2pot class is derived from EON's Potential class.

Download the code here

### KMC diffusion

With this set of scripts, written in Python, it is possible to calculate diffusion coefficients from the mean squared displacements in a Kinetic Monte Carlo trajectory.

Download the code here

### Consistent prefactor fix

This is a postprocessing utility to correct the tables of events for small inconsistencies in the state definitions. Due to the standalone transition state searches, state configurations (both minima and transition states) in EON are only uniquely defined up to the convergence criterion. This can lead to the situation where the forward and backwards rate of a certain process are calculated with respect to slightly different configurations. In Harmonic Transition State Theory, the prefactor of the transition depends on the vibrational normal modes at the minima and the saddle point. Because these configurations are not unique this leads to a violation of detailed balance in the resulting table of events which can result in drift in the Kinetic Monte Carlo simulations.

This tool corrects the harmonic transition state theory process rates by assigning a unique structural configuration for each state and recalculating the prefactors of each process. Because these calculations can be time consuming for large systems and/or large event tables, the script is able to process multiple processes in parallel.

Download the code here