kinetic Monte Carlo simulations