Fast electrostatic solvers for kinetic Monte Carlo simulations

Kinetic Monte Carlo (KMC) is an important computational tool in theoretical physics and chemistry. In contrast to standard Monte Carlo, KMC permits the description of time dependent dynamical processes and is not restricted to systems in equilibrium. Compared to Molecular Dynamics, it allows simulations over significantly longer timescales. Recently KMC has been applied successfully in modelling of novel energy materials such as Lithium-ion batteries and organic/perovskite solar cells. Motivated by this, we consider general solid state systems which contain free, interacting particles which can hop between localised sites in the material. The KMC transition rates for those hops depend on the change in total potential energy of the system. For charged particles this requires the frequent calculation of electrostatic interactions, which is usually the bottleneck of the simulation. To avoid this issue and obtain results in reasonable times, many studies replace the long-range potential by a phenomenological short range approximation, which leads to systematic errors and unphysical results. On the other hand standard electrostatic solvers such as Ewald summation or fast Poisson solvers are highly inefficient in the KMC setup or introduce uncontrollable systematic errors at high resolution. In this paper we describe a new variant of the Fast Multipole Method by Greengard and Rokhlin which overcomes this issue by dramatically reducing computational costs. We construct an algorithm which scales linearly in the number of charges for each KMC step, something which had not been deemed to be possible before. We demonstrate the performance and parallel scalability of the method by implementing it in a performance portable software library. We describe the high-level Python interface of the code, which makes it easy to adapt to specific use cases.

[1]  Martin T. Dove,et al.  DL_POLY_3: new dimensions in molecular dynamics simulations via massive parallelism , 2006 .

[2]  Christian Holm,et al.  How to mesh up Ewald sums. I. A theoretical and numerical comparison of various particle mesh routines , 1998 .

[3]  Guido Raos,et al.  Methodological assessment of kinetic Monte Carlo simulations of organic photovoltaic devices: the treatment of electrostatic interactions. , 2010, The Journal of chemical physics.

[4]  D. Gillespie A General Method for Numerically Simulating the Stochastic Time Evolution of Coupled Chemical Reactions , 1976 .

[5]  Rio Yokota,et al.  Petascale turbulence simulation using a highly parallel fast multipole method on GPUs , 2011, Comput. Phys. Commun..

[6]  L. Greengard The Rapid Evaluation of Potential Fields in Particle Systems , 1988 .

[7]  Steven J. Plimpton,et al.  Crossing the Mesoscale No-Man's Land via Parallel Kinetic Monte Carlo , 2009 .

[8]  P. P. Ewald Die Berechnung optischer und elektrostatischer Gitterpotentiale , 1921 .

[9]  Christian Holm,et al.  How to Mesh up Ewald Sums , 2000 .

[10]  Jean-Luc Brédas,et al.  Modeling of Actual‐Size Organic Electronic Devices from Efficient Molecular‐Scale Simulations , 2018 .

[11]  Steve Plimpton,et al.  Fast parallel algorithms for short-range molecular dynamics , 1993 .

[12]  Alison B. Walker,et al.  Microscopic origins of charge transport in triphenylene systems , 2018, Physical Review Materials.

[13]  William H. Press,et al.  Numerical Recipes 3rd Edition: The Art of Scientific Computing , 2007 .

[14]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[15]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[16]  Wilfred G. van der Wiel,et al.  Effect of Coulomb correlation on charge transport in disordered organic semiconductors , 2017 .

[17]  N. J. van der Kaap,et al.  Massively parallel kinetic Monte Carlo simulations of charge carrier transport in organic semiconductors , 2016, J. Comput. Phys..

[18]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[19]  D. Gillespie Exact Stochastic Simulation of Coupled Chemical Reactions , 1977 .

[20]  Denis Andrienko,et al.  Modeling of organic light emitting diodes: From molecular to device properties , 2015, International Conference on Numerical Simulation of Optoelectronic Devices.

[21]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[22]  Haoyuan Li,et al.  Kinetic Monte Carlo Modeling of Charge Carriers in Organic Electronic Devices: Suppression of the Self-Interaction Error. , 2017, The journal of physical chemistry letters.

[23]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[24]  François Bottin,et al.  Kinetic Monte Carlo study of protonic diffusion and conduction in Gd-doped BaCeO3 , 2013 .

[25]  R. Coehoorn,et al.  Monte Carlo study of charge transport in organic sandwich-type single-carrier devices: Effects of Coulomb interactions , 2011 .

[26]  William Robert Saunders,et al.  Development of a performance-portable framework for atomistic simulations , 2019 .

[27]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[28]  Yong Cao,et al.  Organic and solution-processed tandem solar cells with 17.3% efficiency , 2018, Science.

[29]  Neil L. Allan,et al.  Adaptive kinetic Monte Carlo simulation of solid oxide fuel cell components , 2014 .

[30]  L. Greengard,et al.  A new version of the Fast Multipole Method for the Laplace equation in three dimensions , 1997, Acta Numerica.

[31]  Bo Zhang,et al.  RECFMM: Recursive Parallelization of the Adaptive Fast Multipole Method for Coulomb and Screened Coulomb Interactions , 2016 .

[32]  G. Biros,et al.  PVFMM: A Parallel Kernel Independent FMM for Particle and Volume Potentials , 2015 .

[33]  Milton Abramowitz,et al.  Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables , 1964 .

[34]  W Smith,et al.  DL_POLY_2.0: a general-purpose parallel molecular dynamics simulation package. , 1996, Journal of molecular graphics.

[35]  W. K. Hastings,et al.  Monte Carlo Sampling Methods Using Markov Chains and Their Applications , 1970 .

[36]  Benjamin J Morgan,et al.  Lattice-geometry effects in garnet solid electrolytes: a lattice-gas Monte Carlo simulation study , 2017, Royal Society Open Science.

[37]  Pascal Friederich,et al.  Ab initio charge-carrier mobility model for amorphous molecular semiconductors , 2016 .

[38]  Bérenger Bramas,et al.  ScalFMM: A Generic Parallel Fast Multipole Library , 2015, CSE 2015.

[39]  J. E. Glynn,et al.  Numerical Recipes: The Art of Scientific Computing , 1989 .

[40]  C. Groves,et al.  Simulating charge transport in organic semiconductors and devices: a review , 2017, Reports on progress in physics. Physical Society.

[41]  Stephen C. Parker,et al.  DL_MONTE: a general purpose program for parallel Monte Carlo simulation , 2013 .

[42]  Berend Smit,et al.  Understanding molecular simulation: from algorithms to applications , 1996 .

[43]  Thomas Sterling,et al.  DASHMM: Dynamic Adaptive System for Hierarchical Multipole Methods , 2016 .

[44]  Mark Peplow Perovskite progress pushes tandem solar cells closer to market , 2018 .

[45]  A. B. Bortz,et al.  A new algorithm for Monte Carlo simulation of Ising spin systems , 1975 .

[46]  William R. Saunders,et al.  Long Range Forces in a Performance Portable Molecular Dynamics Framework , 2017, PARCO.

[47]  Lorena A. Barba,et al.  A tuned and scalable fast multipole method as a preeminent algorithm for exascale systems , 2011, Int. J. High Perform. Comput. Appl..

[48]  Henry Krakauer,et al.  Kinetic Monte Carlo Simulations of Perovskite Crystal Growth with Long Range Coulomb Interactions , 1999 .

[49]  W M Young,et al.  Monte Carlo studies of vacancy migration in binary ordered alloys: I , 1966 .

[50]  William R. Saunders,et al.  A domain specific language for performance portable molecular dynamics algorithms , 2017, Comput. Phys. Commun..

[51]  Emmanuel Agullo,et al.  Task-Based FMM for Multicore Architectures , 2014, SIAM J. Sci. Comput..

[52]  T. Lamberts,et al.  The Kinetic Monte Carlo Method as a Way To Solve the Master Equation for Interstellar Grain Chemistry , 2013, Chemical reviews.

[53]  D. Owen Handbook of Mathematical Functions with Formulas , 1965 .

[54]  C. Brooks Computer simulation of liquids , 1989 .

[55]  Richard W. Vuduc,et al.  A massively parallel adaptive fast-multipole method on heterogeneous architectures , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[56]  Mikael Leetmaa,et al.  KMCLib: A general framework for lattice kinetic Monte Carlo (KMC) simulations , 2014, Comput. Phys. Commun..

[57]  L. Greengard,et al.  Computational Software: Simple FMM Libraries for Electrostatics, Slow Viscous Flow, and Frequency-Domain Wave Propagation , 2015 .