当前位置: X-MOL 学术J. Comput. Phys. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fast electrostatic solvers for kinetic Monte Carlo simulations
Journal of Computational Physics ( IF 3.8 ) Pub Date : 2020-03-04 , DOI: 10.1016/j.jcp.2020.109379
William Robert Saunders , James Grant , Eike Hermann Müller , Ian Thompson

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. This, however, 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 how the Fast Multipole Method by Greengard and Rokhlin can be adapted to overcome this issue by dramatically reducing computational costs. We exploit the fact that each update in the transition rate calculation corresponds to a single particle move and changes the configuration only by a small amount. This allows us to 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, which was recently developed in our group. We describe the high-level Python interface of the code which makes it easy to adapt to specific use cases.



中文翻译:

用于动力学蒙特卡洛模拟的快速静电求解器

动力学蒙特卡洛(KMC)是理论物理学和化学领域中的重要计算工具。与标准的蒙特卡洛相反,KMC允许描述时间相关的动力学过程,而不仅限于处于平衡状态的系统。与分子动力学相比,它可以在更长的时间范围内进行仿真。最近,KMC已成功应用于新型能源材料的建模,例如锂离子电池和有机/钙钛矿型太阳能电池。因此,我们考虑了包含自由相互作用的粒子的一般固态系统,这些粒子可以在材料的局部位置之间跳跃。这些跃点的KMC过渡速率取决于系统总势能的变化。对于带电粒子,这需要频繁计算静电相互作用,这通常是模拟的瓶颈。为了避免这个问题并在合理的时间内获得结果,许多研究都用现象学的短程近似代替了长程潜力。但是,这会导致系统错误和不自然的结果。另一方面,标准的静电求解器(例如Ewald求和器或快速的Poisson求解器)在KMC设置中效率非常低,或者在高分辨率下会引入无法控制的系统误差。

在本文中,我们描述了Greengard和Rokhlin提出的快速多极子方法如何通过显着降低计算成本来克服这一问题。我们利用了一个事实,即转换速率计算中的每个更新都对应于单个粒子移动,并且仅少量改变了配置。这使我们能够构建一种算法,该算法可对每个KMC步骤的电荷数量进行线性缩放,这在以前是不可能的。

我们通过在性能便携式软件库中实现该方法来证明该方法的性能和并行可伸缩性,该库是我们小组最近开发的。我们描述了代码的高级Python接口,该接口可以轻松适应特定的用例。

更新日期:2020-03-05
down
wechat
bug