分子动力学计算的问题

分子动力学计算的可靠性和系综说明小结

一、计算的可靠性

计算是否可靠?要考虑三个方面。

算法方面。为了实现分子动力学的模拟,采用了数值计算方法,在长时间的计算后必然会有误差的累积,所以算法如果不能满足两个条件就会导致体系总能量出现明显漂移(drifts)。即算法需要满足: (1)time-reversibilitysymmetry; (2)symplecticproperty。

计算精度。除了算法,对于体系的能量和力的计算精度是否足够精确和充分,也是对计算可靠性有重要影响的。

体系的初始化设置。体系初始化良好,可以减少数据冗余以及有利于得到可靠结果。主要有五点:

(1)体系原子数目。选择的原子数应当尽量反映真实体系的特点而数目尽可能少。

(2)位置和速度初始化。原子的位置可以是随机的,但不能与体系的约束条件有冲突,也要避免原子靠得太近。速度的初始化,可以将速度设为0,然后在一个给定的温度下从一个麦克斯韦-玻尔兹曼分布抽样得到速度。在体系没有特殊的约束条件下,通过从此种分布中得到的速度不会与体系约束条件冲突。此外,在速度初始化时,一般取体系质心速度为零,以避免体系在空间中出现整体漂移。 (3)时间步长。数值积分,步长选取很重要,因为要在每一积分步中,将各个需要计算的量当作常量,才能进行代数运算,由F= - dU/dr,变化较大较快的应当作为整体考虑的依据。原子振动周期在10fs量级,一般将其分成5~10步,如有更高精度要求,可以将步长设置更短,所以时间步长一般设置在0.1fs到几个fs之间。通常小的时间步提高了计算精度,增加了计算量,长的时间步则反之。如果总能变得不稳定(漂移或者涨落过大),这表明可能是时间步长过长导致。在高温下,原子运动相对要快些,质量轻的,或者势场变化很快的,一般需要设置更短的时间步长。

(4)模拟的总时间长度。一般总的模拟时间为10^3~10^6个时间步长。总的模拟时间要确保比体系的充分弛豫时间长以使数据可靠,按网上论坛的经验,一般应当至少为体系充分弛豫时间的3倍。对于一些特殊情况,如相变,气相沉积,晶体生长等,平衡很慢,就需要保证总的模拟时间足够长。

(5)系综的选择。此问题可以参考做的领域的相关文献,或者与实验比较。小木虫等论坛也有讨论。

二、系综问题

分子动力学中关键的概念之一为系综(ensemble)。Ensemble—an imaginary collection of systemsdescribed by the same Hamiltonian with each system in a unique microscopicstate at any given instant in time。系综是指在一定的宏观条件下(约束条件),大量性质和结构完全相同的、处于各种运动状态的、各自独立的系统的集合。全称为统计系综。系综是用统计方法描述热力学系统的统计规律性时引入的一个基本概念;系综是统计理论的一种表述方式,系综理论使统计物理成为普遍的微观统计理论 ;系综并不是实际的物体,构成系综的系统才是实际物体。

类似在音乐领域中,各乐器各有特点,但一起协奏之后会形成一个特别的整体效果。分子动力学中的原子行为不尽相同,但在适当的模拟和平衡后,也会有一个整体的效果而具有相同的热力学性质。

常用系综有微正则系综,正则系综,巨正则系综,等温等压系综等,微正则系综为最简单和最基础的一种,其他系综的研究过程可参照得到。在热力学极限下,各系综是等价的,但是在实际的模拟中,大多数情况是远远达不到热力学极限的,因此能量的涨落(fluctuations)不能消失,有时候根据实际情况选择系综是有必要的。

从理论上来讲,使用NVE系综对于体系的计算肯定是最为理想的。但是使用NVE系综,体系的温度取决于初始条件,导致温度不可控,直接使用NVE系综则温度难以达到预期。可以先使用NVT系综控温,进行体系的预平衡,然后再用NVT系综平衡下的状态作为NVE系综的初始条件,进行计算。这样在NVE系综下跑,体系的温度就能在一个可以接受的情况下波动。

2018-06-14

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4