较之分子动力学,蒙特卡罗能够实现非局域的粒子移动,从而解决一些分子动力学不容易模拟的问题.非局域的粒子移动主要包括模拟化学反应时粒子产生和消失的过程,高分子模拟时的扭折-跳跃、绕枢轴转动和蠕动以及位形偏倚蒙特卡罗中链的回溯和再生.然而在蒙特卡罗方法处理非局域移动时,并不存在一种计算短程作用的计算复杂度为O(N)的算法,从而限制了蒙特卡罗方法的应用.本文基于双向链表的数据结构,发展了蒙特卡罗模拟中因粒子删除和插入而引起的短程势能变化的计算复杂度为O(N)的元胞链表方法.所有非局域的粒子移动可以转化为粒子的删除和插入,因此该方法适用于上述所有情形.此外,由于Metropolis算法中给某粒子一个随机位移的过程可以看成旧位置粒子的删除以及新位置粒子的插入,因此该方法也适用于Metropolis算法中粒子的随机移动.
蒙特卡罗方法 非局域移动 双向链表 元胞链表方法