干货模块科研介绍软件DFTB(微软晶胞计算模拟文件)「晶体模拟软件」

‍:DFTB+模块可能是 MS 软件软件包中最特殊的一个模块。
说它特殊主要有两点:一,算法特殊;二,安装与使用步骤特殊。
DFTB 是基于密度泛函理论的紧束缚程序(Density Functional based Tight binding method)的缩写。
从算法上看 DFTB 应该属于 DFT 的一个分支,但是紧束缚(TB)近似方法的加入使其较我们所熟知的 DFT 算法又有了很大不同。
紧束缚近似方法的中心思想是用原子轨道的线性组合(LCAO)作为一组基函数来求解固体的单电子薛定谔方程。
这一方法的出发点是:电子在一个原子附近时,将受到该原子场的作用,把其他原子场的作用看成是微扰作用。
其目标与 CASTEP 的平面波赝势方法类似,均是为了简化薛定谔方程的求解,但是简化手段更加激进:将同类原子的原子场施加的作用视为恒量,该项不进行任何求解而直接以参数的形式提供。
我感觉,这样的简化算法都可以划归到半经验方法去了,带来不小的负面影响:一,肯定会影响计算精度,这点显而易见;二,参数依赖,这可能是最让人头疼也最限制 DFTB 应用范围的问题,我们随后会详细谈。
但优点也很突出,就是可以在提供与其他 DFT 算法相近的精度的同时极大的降低计算量,文献报道最多可以降低两个数量级。

从处理 COF体系的经验看,还真差不多,比 CASTEP,DMol3 一类已经很快的算法快再一个数量级确实没问题。
在某些不大的体系下,感觉都能达到力场的速度了,但 DFTB 再怎么说也是 DFT 级别的算法,与纯经验的力场相比精度与适应性要强太多了。
速度快最有意义的地方就是让我们可以用较小的时间、设备成本处理一些常规手段难以承受的大体系。
同样的模型,最终精度相差不大的前提下,别的算法用一周时间我用几个小时,这才是 DFTB 算法的优势所在。
而 COF 模型就恰恰是这种大体系,莫说传统 DFT甚至更高水平的 MP2,就是 CASTEP 运行一个普通大小 COF 晶胞的优化任务,几小时,十几小时都很常见,更大的 COF 模型或者多晶胞都没必要考虑。
这种情况下,DFTB 几乎是我们唯一的选择。
我想这也是追求效率高于追求绝对精度的 Materials Studio 加入 DFTB 模块的原因。
目前 DFTB 算法在 COF 领域用的也不算少,纯计算的据我所知就有三篇:Chem. Eur. J. 2011, 17, 2388 – 2392,考察 2D COF 堆积形态对 PXRD 谱线和比表面积的影响;Chemical Physics Letters 499 (2010) 103–107,考察 2D 与 3D COF在外力作用下结构的稳定性;Chemical Physics Letters 489 (2010) 86–91,DFTB做分子动力学。
与实验结合主要是日本江东林小组用来计算含金属的 phthalocyanine基 COF 的结构取向与堆积状态。
都是常规手段很棘手的大体系,不过要强调一下他们使用的 DFTB 并不是 MS 上的版本,所以功能上有些差别。
前面提到了,DFTB 必须要提供附加参数才能工作。
MS 自带的一组 CH 参数除了算算烷烃以外什么也干不了,纯属 DEMO 性质。
能用的上的参数得我们自己自己找,自己手动添。
首先到开发小组的网站 http://www.dftb.org/上注册,获得参数后将参数文件拷贝到路径 C:Program FilesAccelrysMaterials Studio2019shareResourcesNanotechDFTB 下的同名文件夹内,重启 MS,参数自动被添加进软件。
DFTB+在 MS 工具栏上是这个图标打开后进入 calculation 界面,看上去有些像是 Doml3 的简化版,实际上同名的控制项作用还真是一样的,这也是 MS 统一化图形界面的好处:上手非常容易。
里边的任务也差不多:能量(Energy)的选项在第三个标属性的签里选择要计算的内容,一共提供了最常用的键结构、态密度、电子密度、轨道、布居分析等几个项目。
计算完成后进入 Analysis 界面加载结果就可以进行分析了。
属性计算也可以附到几何优化中,优化完再计算,如果结构必须优化的话这么做可以省去一步计算。
动力学后面谈,参数化这个是 DFTB 独有的,用途是在已有参数文件未能覆盖的场合提供参数文件。
这个选项的具体控制是在 Setup 的 More项中,计算是通过调用 Dmol3 模块实现。
其实这个功能用途不大,DFTB 开发小组提供的官方参数文件已经涵盖了绝大多数常用原子,特别是短周期元素,所以针对我们的研究方向,这个功能其实几乎不会被用到。
还要注意一点的是,计算前要注意检查第二标签(电子)中的 Slater-Koster library 项是否选择合适,首次运行前默认的是CH 库,不计算烷烃的话就要选择其他的库。
选择原则很简单,只要库中包含体系中所有的的原子的参数,不出现如下警告就可以。
经过初步测试,选用不同库计算结果的的绝对值有细微差异,但是比较绝对值没有实际意义,用不同库计算同一体系的不同状态,相对值没有差异,这就说明可靠性没问题。
全部控制选项中只是要小心 Use dispersion correction 这一项。
这个选项默认是关闭的,启用的话将在 DFTB+计算结果的基础上加入基于 UFF 力场(就是 Forcite模块里的 Universal 力场)的 Lennard-Jones 色散修正,直白的说就是用包含 LJ 势的力场弥补 DFT 计算对范德华相互作用支持不好的弱项。
DFT 对非键相互作用的处理精度名声相当不好,不过也没办法,MP2 以上加上大基组才能够很好的处理非键作用,但那个成本就相当可观了,为了追求速度在精度方面做出妥协也是没办法的事情,只是用更低等级的经验方法修正高等级的量化计算结果让人感到有些少见,不知道计算机理如何,不过从以上文献的报道来看,与实验现象相似性还不错。
按理说这个色散修正选项还是很重要的,至少计算 COF 层间距或层错的总能量变化时就必须要加入色散修正,否则算出来的能量曲线像是指数曲线一样单调变化,完全与实验现象不符,加入后则变成了接近 LJ -12-6 形式的曲线,且能量极小值点对应的距离与与实验值非常接近。
但也许是用低等级算法修正高等级结果带来的问题,要不就是算法还不成熟,反正只要加入色散修正项,能量收敛曲线的波动就会变得非常剧烈,单纯计算Energy(单点能)还看不出来,几何优化和动力学计算失败率变得异常的高,降低计算精度或者选择 Smearing 项会有些帮助,但最好的办法是在不需要考虑非键作用的场合就不要加入色散修正。
能量和几何优化任务运行方式与 CASTEP 及 Dmol3 几乎完全一致,不单独介绍。
倒是动力学模拟我觉得必须要提一下,因为 DFTB 里的比 CASTEP 和 Dmol3 里的实用,关键就是速度快。
比较 MD 的预设参数就可以窥知一二,同样的 0.1fs 步长,CASTEP 时长 0.5ps,500 步,DMol3 时长 1ps,100 步,而 DFTB 默认 5ps,5000步。
实际运行也明显发现 DFTB 的 MD 模拟速度确实可圈可点,当然比起力场算是慢的,不过分析 COF 晶胞一类的的体系肯定比 CASTEP 等有实用价值。
以下是一个 MD模拟的实例:COF-LZU1 构建 2X2X1 的超晶胞,在最边缘一层晶胞加入 8 个甲烷分子,NPT 系综,298K,不施加外压,为节约时间,步长设定为 100 步,0.1ps。
经过 46Min 的实际时间完成模拟过程,得到如下图所示结构。
可以发现甲烷分子确实发生了一定幅度的位移与偏转。
构建多层模型会更直观,当然时间也会按比例延长,但总的来说还可以接受。
顺便一提,这个模拟是在 Core i7 2.93G 处理器上占用 4 核处理器完成的,重复的话耗时会因电脑配置不同差异,但大致处理成本是这样。
还有 DFTB 不能手动调节任务的并行线程数目,不要被这一现像迷惑认为 DFTB 是像 VAMP 或者 Reflex 一样的单线程模块,实际上从运行情况看其调用的是 4 个线程,所以跑 DFTB 任务时最好在 4线程(核)以上的电脑上运行,比如说 512 的服务器最多就可以跑 6 个任务。
再多的话设备负荷过重,任务之间也会互相影响,平均运行效率也会下降。
内存也是制约因素,这个任务运行时占用了近 800MB 内存,多任务处理时也要考虑到内存的问题,否则超过实际物理内存承载量计算效率下降会更多.DFTB 动力学模拟的输出文件依据不同系综的选择会有些差异,比如说选恒容恒温的 NVT 系综就不会输出密度(Density)和晶胞参数(Cell)的报表,温度的变化也要平缓些。
但至少会有这几个文件:能量,温度,状态,记载模拟最终状态的 xsd文件和记载动力学轨迹的 xtd 文件,还有另两个记载计算数据和运行状态后缀分别为.dftb 和.txt 的文本文件。
我们依次说Cell.xcd 里记录的是晶胞参数随模拟时间的变化过程,左边是棱长,右边是角度。
从数据上看我们的模拟体系是比较稳定的,如果不稳定的话,参数不会在某一范围内波动,而是直接下降到某值并基本保持不变,这意味着晶胞的坍塌。
能量(.xcd)记载了整个模拟过程中势能、动能、非键能和总能的变化曲线,与Forcite 不同的是势能项要远大于其他能量,我们模拟的体系势能又没有明显变化,所以看上去是两条直线,不列了。
温度可以用于监控模拟体系的运行状态状态。
温度.xcd 如下图:与晶胞形变同步)。
右边是与我们体系看上去完全一样但未经几何优化的体系,温度变化就不太正常正常了,所以几何优化很重要。
如果加上色散修正,温度会在几帧内直接上升到数千 K,任务直接失败,这也说明了为什么色散修正通常情况下要不得。
Status.txt在任务运行时内容比较丰富,结束后主要内容会迁移到%体系名%.txt文件之中,一般只会保留很少的终态信息,比如下面所列的:这个一般参考价值不大,我们需要的数据都在后面要介绍的文件里,但是如果模拟中断的话,信息未来得及迁移,内容就会比这个多得多,那就要小心了。
%体系名%.txt 与.dftb 这两个文件很重要,里面记载了所有的模拟参数,状态参数和计算结果,而且用文字表明了模拟结束时的最终状态,如果是非正常终止,我们可以很轻松的从这里得到原因。
还有两个文件里都标明了模拟的持续时间,但相差很大,长的那个是真实时间。
.xtd 文件可以看成是一个定格动画,录制了模拟过程中体系的一系列快照。
帧数在 Setup/More 中控制,本次模拟设定的是一步输出一帧,所以共有 100 帧,每一帧其实都是一个 xsd 文件,可以单独输出。
xtd 文件还可以在 MS 中播放,或者转存为 avi文件。
这个 xtd 文件转存后生成了一个长 6 秒,大小 161MB 的 avi 视频。
之所以这么大是因为 MS 输出的多媒体格式都是以 bmp 文件为基础的,未经任何压缩,同时帧数、转存时窗口大小也有影响,如果要用作 SI 提交,可以进行视频编辑,体积不会如此夸张。
顺带一提,MS 中的 xsd 文件均可以转存为.csv 文件,再用其他数据处理软件绘制图表。
与其他可进行动力学模拟的模块一样,DFTB 在遇到短电等使模拟突然终止的情况时,可以进行续跑。
见初始状态的屏幕截图,当选择中断的 xtd 文件时,Restart 选项被激活,选择后再运行则将以中断时的状态为起点继续进行模拟。
新任务将在当前任务下另开一子文件夹运行。
未完待续,记得关注。

干货模块科研介绍软件DFTB(微软晶胞计算模拟文件)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息