分子动力学模拟的过程,实际上是对原子每一次发生微小位移,都重新计算受力情况,如果运动了很远都没有重新计算受力,那么动力学过程就严重失真了。
举一个粗暴的例子:比如一个H原子正面朝O原子运动,二者距离3埃,运动速度3埃/fs。如果步长设置为1fs,下一个fs的时候,OH原子就重叠在一起了——而这是严重违背事实的。因为在H逐渐靠近O的过程中,二者互相排斥的力就显著增大,甚至到无穷大,从而决定二者不可能重叠到一起。但是步长太大就引发了这样的问题,如果步长更大,比如2fs,H原子直接没有理会O原子,从它身上“穿”过去了,这就更荒谬了。当然MD并不会有“穿”的动作,而是头一个step在O的这边,下一个step在O的那边。这样的模拟,可以说完全作废了。
这种情况,要想结果合理,那么就要把步长剧烈降低,比如0.01fs,这样一个step原子只运动了0.03埃,这样O-H原子间的受力,每隔0.01fs就会更新一次,H原子就不可能与O重叠到一起,更不可能穿越过去。
温度越高,或能量越高,原子的运动速度就越高,热力学里面有具体的换算关系(温度正比于原子的动能)。
如果体系温度很高,或者存在Molecule Gun入射高能、高速原子,务必仔细测试步长,确保轨迹连续性。轨迹连续性可以定量评估,过程稍微复杂,但是简单的方法,就是肉眼观察:
做一个水在300K下,步长0.25fs,Sample Frequency为100的例子,观察每一帧原子的运动距离(当然不同的原子运动距离不一样,实际上有个大致的感觉就可以了),以此为标准。高温下,或者入射高能原子的情况下,某个步长下,Sample Frequency为100,观察每一帧原子的运动距离和标准例子差不多,那么这个步长就没有问题。
至于Sample Frequency,它不影响MD的合理性,只是如果需要做ChemTraYzer分析的话,轨迹必须连续,这就要求Sample Frequency不能太大。Sample Frequency越大轨迹连续性越差,Sample Frequency越小轨迹文件越巨大。
也许你感觉这样太模糊了。其实不然,因为步长不合理,往往是十倍、几十倍的区别,肉眼实际上很容易分辨出来。