arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1905.04065physics.comp-phcond-mat.mtrl-scics.DC
收藏

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

Fast electrostatic solvers for kinetic Monte Carlo simulations

William Robert Saunders, James Grant, Eike Hermann Müller, Ian Thompson

摘要:

动力学蒙特卡罗(Kinetic Monte Carlo,KMC)是物理和化学领域的重要计算工具。与标准蒙特卡罗相比,KMC允许描述依赖于时间的动力学过程,并且不限于平衡系统。最近,KMC已成功地应用于新型能源材料,如锂离子电池和太阳能电池的建模。我们考虑一般的固态系统,其中包含自由的,相互作用的粒子,可以在材料中的局部网站之间跳跃。这些跳的KMC跃迁速率取决于系统总势能的变化。对于带电粒子,这需要频繁计算静电相互作用,这通常是模拟的瓶颈。为了避免这个问题,并在合理的时间内获得结果,许多研究用短程近似代替长程势。然而,这会导致系统误差和非物理结果。另一方面,标准的静电解算器,如埃瓦尔德求和或快速泊松解算器是非常低效的或在高分辨率下引入不可控的系统误差。在本文中,我们描述了如何快速多极子方法的Greengard和Rokhlin可以适应克服这个问题,大大降低了计算成本。我们利用的事实是,在过渡率计算中的每一个更新对应于一个单一的粒子移动,并改变配置只有少量。这使我们能够构建一种算法,该算法在每个KMC步骤的电荷数量上线性缩放,这在以前被认为是不可能的。我们证明了该方法的性能和并行可扩展性,通过实现它在一个性能便携式软件库。我们描述了代码的高级Python接口,使其易于适应特定情况。

英文摘要:

Kinetic Monte Carlo (KMC) is an important computational tool in 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. Recently KMC has been applied successfully in modelling of novel energy materials such as Lithium-ion batteries and solar cells. 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 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 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. We describe the high-level Python interface of the code which makes it easy to adapt to specific cases.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑