目录

气液界面的模拟

前言

气体、液体,在ReaxFF中,只是在密度上有所差别。另外在分子动力学里面Cell是具有三维周期边界条件的,所以这种模型实际上是气体层-液体层-气体层-液体层……无限循环、无限大的。

而有时候创建一层固体,作为液体的“容器”似乎更符合我们的习惯,这样得到的体系实际上是固体层-液体层-气体层-固体层-液体层-气体层……无限循环的一个周期性模型。

这里我们以苯液体在铝容器中为例。

创建固液混合物

参考教程:【入门基础教程】创建固体表面,并均匀加入其它气体、液体分子

创建气体层

将金属最底层的某个原子设为坐标原点:Edit → Set Origin。然后将Cell的起点设置到坐标原点,从而让金属处于Cell的底部(这样做,只是为了看起来方便,实际上由于z方向的周期性,是否这样做,都是同一个模型):窗口底部❄ → Map atoms to (0..1)

这里我们可以直接将晶格常数Z方向的尺寸改大(因为此时没有分子跨越Cell的边界,因此直接改大尺寸是不会导致分子断裂的),上方就是真空了。

如果我们要添加其他气体成分,需要先去Model → Region 清理掉现有的Region,然后在Builder里面添加。这里我们不再添加气体成分,让上方的真空层,逐渐由苯液体蒸发产生气体。

到这里模型就创建好了。

参数设置

我们希望金属与液体直接不发生相互作用,因此我们可以粗暴地将力场中,金属与这里其他元素的结合能改为0。AlCHO力场中,我们需要将Al-C、Al-H键能改为0即可,如果有O元素,也可以把Al-O键能改为0:

然后金属原子我们可能希望冻结起来,或者至少最底层金属原子冻结起来。选中要冻结的金属原子,Model → Geometry COnstraints and PES Scan,点击Fixed position前面的+,即完成冻结。但是还需要将不冻结的所有原子创建为一个region(如果不清楚怎么创建region,参考:如何创建分区):

然后正常设置分子动力学参数

在恒温器、恒压器的设置上,除了常规设置,还需要将Atoms in region选为刚才创建的Region,即将恒温器、恒压器施加到未冻结的原子上(冻结的原子,没有运动,因此不适用于恒温器、恒压器):

保存并运行作业。

如果要考虑地球引力,可以添加重力场(重力场对气液界面有可能存在影响,建议添加):重力场下的分子动力学

结果

经过足够长的时间的模拟后,能量(尤其是势能Potential Energy)达到平衡,我们可以看到形成了比较显著的气液界面: