用户工具

站点工具

本页面的其他翻译:
  • zh

adf:periodicity

周期边界条件

重要性

这个知识点,对分子动力学模拟、晶体DFT计算,是必备基础知识,这个点不掌握,后续导致无穷无尽的理解方面的问题、模型的错乱问题。如果这个知识点不懂,建议不要进行分子动力学模拟,以及晶体的DFT计算,因为你在浪费自己和他人的时间!

前言

有一类材料,比如NaCl单晶,也许在宏观上它是一个小颗粒,但是在微观上,几乎就是以一个重复单元,在三个维度上重复约阿伏伽德罗常数那么多次,对微观机理研究来说,就可以认为是无限重复的。在材料的性质研究中,人们发现材料的很多方面的宏观、微观、电子结构性质,只与其重复单元的状况有关,而与重复具体是阿伏伽德罗常数次,还是阿伏伽德罗常数的2倍那么多次,并没有太大关系。

从而基于第一性原理的研究,以及大部分的分子动力学研究,产生了基于重复单元的计算,得到整体性质的这个思路。这种思路下,模型是一个重复单元,但是这个重复单元的边界是具有周期性特征的。那么何为周期性边界条件?详见下文,从各个不同的角度进行描述。

1,我的体系是一个明明是三维的,有厚度,怎么叫二维材料?

倘若这是定义材料维度的方式,那所有材料都是三维的,没有一、二维材料。

一般说的一、二、三维材料,是指在几个维度上具有周期性。一维材料是只在 X 方向有周期性,通俗的说,无限长;二维材料在 X、Y 两个方向有周期性,通俗的说,是一个无限大的面板,具有一定厚度;三维材料是指在 X、Y、Z 三个维度均有周期性,即长宽高无限大的块体。

三维、二维、一维周期边界,在 AMSinput 中 Periodicity 中分别对应 Bulk、Slab、Chain。Periodicity 为 None,则没有周期性,整个体系之外,为无限大真空,对这种体系进行分子动力学模拟,分子有可能扩撒到无穷远处。

2,单胞(Cell)

单胞指重复单元。对一维周期结构而言,单包是一个线段内的原子;二维材料的单包,由一个四边形围成区域内的原子;三维材料的单包是一个六边形盒子围成的区域内的原子。

对于 DFT 而言:

  • 平面波程序如 VASP 等:只能模拟三维材料,因此它在模拟一、二维材料的时候,只能采用近似的方法:把没有周期性的维度上加足够大的真空,这样杜绝这些方向上的周期性,对研究的材料的影响。例如二维材料,实际上平面波程序真正模拟的不是一个 slab,而是无数个 slab 的重叠,只是 slab 之间用足够厚的真空隔开,避免层与层之间的影响。理论上而言,真空越厚,越趋近真正希望模拟的层状结构,但真空层越厚,计算量也会越大,所以会折中到例如15埃。因此平面波程序的单包永远是六边形盒子。这种方法会引入一个误差,就是层与层之间存在不可忽视的静电作用,虽然使用Dipole correction能够一定程度上屏蔽这种静电作用,但也只是近似地解决这个误差。
  • AMS 中的 BAND:BAND 不是平面波程序,理论上也可以用加真空层的方式来实现一维、二维材料,但没有必要。因为 BAND 本身可以用线段单包、四边形单包,这种方式既降低了计算量,也提高了精度,不需要画蛇添足地用三维周期边界通过近似的方式,模仿低维度周期边界。因此 BAND 非常适合低维度材料的 DFT 计算。当然有优势就有劣势,计算三维周期体系,如果体系不大,则 BAND 的效率不如平面波程序,但如果是三维大体系,速度又优于平面波程序。

对基于力场的分子动力学而言:

  • 一般都是三维周期边界。如果是二维、一维、None周期边界,如果固体表面存在分子,则分子会扩散到周围无限大的真空中去,因此一般只会使用三维周期边界。

3,怎么创建盒子?

盒子不是创建出来的。只要设置了周期性Periodicity为Bulk,Cell 就自然存在,只是默认不显示。如何显示“盒子”? View → Periodic → Show Unitcell

Moldel → Lattice可以显示Cell的尺寸信息。

4,如何修改盒子的大小?

对已经创建好的模型,严禁在存在周期性的方向直接修改 Cell 的大小,否则与现有周期性不匹配。

如果是固相材料和分子混合的情况(在 ReaxFF 分子动力学模拟中常见),在添加分子前,可以修改 C 方向的尺寸,因为 C 方向添加了真空层,修改 C 值就会修改真空层的厚度。如果扩大 A、B 方向的尺寸,材料就成了周期排列的团簇,团簇之间存在空隙。如果缩小A、B方向尺寸,会导致原子重叠。

AMSinput → Model → Lattice 上半部分窗口,以 3✖3 矩阵的方式显示Cell,也可以在下半部分更直观地看到Cell的 A、B、C 与 α、β、γ 角,对于二维 Cell,则是 2✖2 矩阵,或 A、B 与 γ;一维 Cell 则只有 A 值(矩阵中第一个数字即 A)。

如果要改变密度或 Cell 大小,可以采用 NPT 系综压缩体积。压强不能太大,也不能太小,需要反复尝试。压强太大,压缩速度太快,会导致分子被撞碎;压强太小会导致压缩速度太慢。也可以用 NVT 系综迅速压缩,参考:【入门基础教程】创建高密度大分子固体、分子动力学压缩与拉伸

5,周期边界条件一定要检查

初学者不熟悉周期性边界条件,因此经常出现模型错误,有时候块体材料被创建成了纳米颗粒,有时候出现原子重叠,这两种问题通过周期边界条件的检查均可得到解决:AMSinput 右下角有四个圈的按钮,这个按钮是切换单/多周期显示(注意只是切换了显示的方式,并未改变模型)。可以清楚的看到是否出现了上述问题。

如果 Bulk 做成了这种周期性的团簇,DFT计算能带是一条条直线,实际变成了能级,具有了团簇特征。如果原子重叠,不管是 DFT 也好,力场分子动力学模拟也好,都无法正常计算,会报错 Atoms too close。

6,晶格矢量与坐标轴

一般默认情况下,周期性体系默认不显示坐标轴,但是显示晶格矢量。对于三维周期性体系,晶格矢量有红、绿、蓝三条线,分别代表A、B、C三个方向。晶格矢量是描述周期性的方向,沿着晶格矢量方向具有周期重复性。二维体系则晶格矢量只有2个,一维体系只有1个。

  • 显示/隐藏坐标轴:View → Axes
  • 显示/隐藏晶格矢量:View → Periodic → Show lattice vector
  • 调整Cell的位置(这个对模拟结果没有影响,一般是为了便于观察):View → Periodic → Position Unit Cell。有三个选项,其中Atoms是以某个原子为Cell顶点,原子移动的时候,Cell位置也会随之移动;0 to 1是以坐标原点为Cell顶点;-0.5,0.5是以坐标原点为Cell中心。

7,避免误解

AMS2022 以及以前的版本中,大多数误解,都可以在该例第 2、3 条中得以澄清:低温弛豫发生化学键的断键/成键

AMS2023 用户可以修改周期边界的显示,从而避免上述误解,例如默认显示如此: 修改一下显示的方式,如此把这个完整的分子显示出来,超出 Cell 的部分用虚影显示:

如果选择 view outside,则会显示 Cell 外部一定距离的原子情况,用户可以自行尝试。

即,在Cell边界上的“棍”是指该Cell中的原子,和相邻Cell中的原子是成键的,但由于周期性的原因,只显示一个Cell的原子即可,因此相邻Cell的原子不再显示,而相邻周期的原子,实际上就是本Cell平移一个周期的位置上的那个原子。而此除显示为虚影,就是告诉用户,虚影处是有原子的,但是不显示,因为在隔壁Cell。

8,如何显示完整分子?

这是典型的一个20个完整苯分子的体系,只是有的分子处于Cell的边界,所以看起来很碎。 AMS2024版增加了将完整分子显示出来,但是不改变Cell原子数的功能: Edit → Crystal → Map Molecules Complete,于是显示如下:

9,典型错误操作

如果充分理解以上,则不可能犯下面的错误:

一个体系,无论是Slab、Bulk,还是气相混合物,弛豫完成之后,直接修改Cell尺寸。这是一个对周期性完全不理解,导致的错误操作。拿二维体系来说,例如一个石墨烯,直接扩大Cell,就成了石墨烯豆腐块,中间隔几十埃的真空。——为什么?因为Cell边界附近的原子,和隔壁Cell的原子是成键的,直接加几十埃的真空,就相当于把这个键拉伸到几十埃长,对ReaxFF、DFTB、DFT而言,那就是断键了。

跨越Cell边界的分子,也是类似!

简而言之,直接扩大Cell,令跨越Cell边界的分子碎裂,令跨越Cell边界的二维材料被切割开,令跨越Cell边界的晶体,成为了团簇。

如果有分子跨越Cell边界,直接去掉周期性,会导致产生分子碎片,而这是不希望的,需要去掉分子碎片。

adf/periodicity.txt · 最后更改: 2024/11/22 01:06 由 liu.jun

© 2014-2022 费米科技(京ICP备14023855号