Code
I develop computational tools to push the boundaries of what is possible in kinetic modeling. By connecting atomistic calculations with reaction discovery and evolving reaction networks, I aim to capture chemistry beyond fixed mechanisms and idealized structures.
Research software
OGKMC
Online Graph Kinetic Monte Carlo
From atomic structures
to reaction kinetics
Build a catalyst, introduce reactants, and discover the elementary steps that connect them to unknown products. OGKMC calculates the energetics and follows the evolving chemistry with kinetic Monte Carlo.
Illustrative workflow
Follow the chemistry
Start with a catalyst and reactants
Build a periodic slab or nanoparticle, or load an existing catalyst. OGKMC constructs gas-phase reactants from SMILES and represents the atomic structure as a connectivity graph.
Catalyst structure · Reactants · Atomic connectivity
Find the chemistry the surface can support
Enumerate adsorption sites and prune unstable placements. Discover adsorption and desorption, with optional diffusion and bond-forming or bond-breaking channels.
Surface placements · Elementary steps · Stability checks
Connect elementary steps to their rates
Use an ASE-compatible calculator for endpoint relaxations and transition-state searches. Derive rates from electronic energies, with optional vibrational free-energy corrections, and reuse matching calculation records.
Energetics · Transition states · Calculation reuse
Let the reaction network grow with the chemistry
Advance the system with kinetic Monte Carlo and expand the network as new surface species appear. Save events, trajectories, and checkpoints for analysis and restart.
Kinetic Monte Carlo · Network expansion · Persistent outputs
A reaction network that grows
Discover adsorption, desorption, diffusion, and bond-changing steps. Expand the network during KMC as new species become available.
Your level of theory
Use ASE-compatible calculators to evaluate structures and transition states, including machine-learning interatomic potentials.
Calculate once
Match local atomic environments as graphs and reuse compatible stored calculations when the same chemistry appears again.
Beyond the trajectory
Trace the chemistry
back to the events
Keep the atomic structures, reaction history, and calculation records behind a run. Analyze product formation and reconstruct mechanisms from the events that actually occurred.
Atomic trajectoriesFollow structures through the simulation
.extxyzEvent historiesInspect reactions, rates, and simulation time
.jsonlRestart checkpointsContinue a run from its saved state
.pklAnalysis reportsConnect products with reaction pathways
.htmlWork with OGKMC
Your first run starts here
Create a Python environment
Python 3.10+ · macOS / Linux shell
git clone https://github.com/rjbunting/ogkmc.git
cd ogkmc
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[cli]"Validate, check, then simulate
Save the README’s complete first-run configuration as quickstart.yaml.
ogkmc validate-config quickstart.yaml
ogkmc preflight quickstart.yaml --check-calculator
ogkmc run quickstart.yamlTurn an event history into a report
Use the output directory from the quickstart configuration.
ogkmc analyze runs/quickstart
ogkmc report runs/quickstartThe quickstart uses ASE’s EMT calculator to check the workflow. Production studies need a calculator appropriate to the chemistry, with any required model files and dependencies installed separately.