KMC\_Lattice v2.0: An Object-Oriented C\texttt{++} Library for Custom Kinetic Monte Carlo Simulations
2019; Open Journals; Volume: 4; Issue: 33 Linguagem: Inglês
10.21105/joss.01168
ISSN2475-9066
Autores Tópico(s)Simulation Techniques and Applications
ResumoKinetic Monte Carlo (KMC) simulations are a powerful method for investigating the dynamics of non-equilibrium systems (Voter, 2007) and have been used to help solve problems in a wide variety of scientific domains, including atomic simulations of epitaxial growth (Martin-Bragado, Borges, Balbuena, & Jaraiz, 2018), vacancy diffusion and grain growth in solids (S.Plimpton et al., 2009), opto-electronic mechanisms in disordered organic electronic devices (Heiber, Wagenpfahl, & Deibel, 2019), chemical and ionic diffusion and reactions for heterogeneous catalysis (Stamatakis, 2015) and electrochemical systems (Turner, Zhang, Gelb, & Dunlap, 2015), complex chemical reaction networks (Gillespie, 2007), and predator-prey population dynamics (Dobramysl, Mobilia, Pliemling, & Täuber, 2018).To tackle this diverse range of problems there are numerous open-source software tools with different levels of quality, flexibility, documentation, testing, and support.Of these, SPPARKS (S.Plimpton et al., 2009,Steve Plimpton, Thompson, & Slepoy (2009)), kmos (Hoffmann, Matera, & Reuter, 2014,Hoffmann (2013)), and KMCLib (Leetmaa & Skorodumova, 2014,Leetmaa ( 2014)) are several other examples of high-quality general KMC framework software tools for particle simulations.There are also numerous closed-source tools that have been developed by various research groups and companies around the world.However, the KMC_Lattice library is uniquely designed to be a lightweight and flexible object-oriented C++ library that allows developers to more easily create custom KMC simulation software packages for use with high performance computing resources.With detailed API documentation using Doxygen, rigorous testing using googletest, and continuous integration testing using TravisCI, KMC_Lattice is built to be a reliable and scalable package that can be used by a wide variety of other open-source KMC software tools in the future.Currently, I am using the KMC_Lattice library as the foundation for a new KMC software package called Excimontec, which is designed to simulate disordered organic electronic devices (Heiber, 2018).
Referência(s)