目录

如何理解、选择系综

系综一般在热力学里面会讲到这个概念。常见的系综:NVT、NVE、NPT。N表示原子数(更广义的说是粒子数,但在ReaxFF模拟中,显然只能指原子数),V表示体积(ReaxFF模拟中“盒子”的体积,更狭义的说是“盒子”a、b、c三个方向尺寸),E为体系的总能量,T为温度,P为压强。

NVT系综,即原子数目为指定值(事实上ReaxFF模拟都是要满足这个条件的,对于粒子入射的情况,虽然粒子数在变化,实际上也是用的N为指定值的条件。只是入射前、后,用了不同的体系而已,但前后两个体系的算法都是用的N为指定值的算法。具体深究下去,得去研究热力学教材了,这里不方便大篇幅展开),盒子尺寸为指定值温度为指定值(事实上NVT系综允许改变温度,但在算法上,每个不同的温度都当做是不同的瞬时平衡系综来处理了,这些不同的体系内部的算法,还是用NVT的算法。与N类似,深入的含义,需要单独学习热力学教材,这里不展开)。

NVE系综,表示原子数目为指定值、盒子尺寸为指定值、能量为指定值(即,是一个密闭系统,与外界没有热量交换)。

NPT系综,表示原子数目为指定值,压强为指定值(即随着温度的变化、能量的变化,体积可能发生变化),温度为指定值。

需要说明的是,P、T都是热力学里面的统计概念,是一个宏观的概念。样本数很少的时候,统计得到的T、P,震荡就很大,样本数足够多,例如多到1023,那么震荡就非常非常的小了。这是热力学的基本规律。在微观的层面(相对于宏观的原子数量级1023个原子而言),压强是非常不稳定的一个物理量,震荡非常的剧烈(振幅可以到105atm以上)。

模拟系统采用何种系综,这往往由实验条件决定。而没有通用的“哪种系综模拟更优”的说法。系综,是实验条件外加的一个强制限定。

例如固体表面的反应模拟,到底是压强为指定值还是体积为指定值?严格的说,这是实验条件决定的。但需要知道一个大的前提:一般而言固体的P变化是很大的,V变化很小。所以固体表面的模拟,采用NVT较多。而固体的熔融模拟,很显然NVT系综就是不正确的,因为熔融前后,体积变化可能很大。例如冰融化为水,体积变化是不能忽略的。但这个过程压强P可能是保持为指定值的。因此这种情况,可能采用NPT系综更恰当。

在AMS2020以后的版本,这样设置系综:

关于温度的控制

用户指定温度以后,MD的结果中可以看到温度并不严格等于设定温度,而是在一个范围内震荡,体系越小震荡越剧烈,当体系原子个数到几千个的级别,温度的震荡基本上可以控制到±10K范围,随着原子个数的进一步增大,震荡会更小,理想上而言,到宏观尺寸当然几乎就观察不到震荡了。这是符合热力学定律的。

关于压强的震荡

压强的震荡比温度的震荡更加剧烈,对于几百个原子的超小体系,压强的震荡几乎可以到10$^5$ atm,仅当原子个数增大到数万,压强的震荡范围才变得较为能够接受,因此对压强的控制比对温度的控制需要更大的代价。否则用户只能接受这种大幅震荡的结果。