当前位置:首页 > 技术分享 > 正文

「科研干货」MS软件的DFTB+模块的使用介绍

‍:DFTB+模块可能是MS软件软件包中最特殊的一个模块。说它特殊主要有两点:一,算法特殊;二,安装与使用步骤特殊。DFTB是基于密度泛函理论的紧束缚程序(DensityFunctionalbasedTightbindingmethod)的缩写。从算法上看DFTB应该属于DFT的一个分支,但是紧束缚...

‍:DFTB+模块可能是MS软件软件包中最特殊的一个模块。说它特殊主要有两点:一,算法特殊;二,安装与使用步骤特殊。DFTB是基于密度泛函理论的紧束缚程序(DensityFunctionalbased......

‍:

DFTB+模块可能是MS软件软件包中最特殊的一个模块。说它特殊主要有两点:

一,算法特殊;二,安装与使用步骤特殊。

DFTB是基于密度泛函理论的紧束缚程序(DensityFunctionalbasedTightbindingmethod)的缩写。从算法上看DFTB应该属于DFT的一个分支,但是紧束缚(TB)近似方法的加入使其较我们所熟知的DFT算法又有了很大不同。紧束缚近似方法的中心思想是用原子轨道的线性组合(LCAO)作为一组基函数来求解固体的单电子薛定谔方程。这一方法的出发点是:电子在一个原子附近时,将受到该原子场的作用,把其他原子场的作用看成是微扰作用。其目标与CASTEP的平面波赝势方法类似,均是为了简化薛定谔方程的求解,但是简化手段更加激进:

将同类原子的原子场施加的作用视为恒量,该项不进行任何求解而直接以参数的形式提供。我感觉,这样的简化算法都可以划归到半经验方法去了,带来不小的负面影响:一,肯定会影响计算精度,这点显而易见;二,参数依赖,这可能是最让人头疼也最限制DFTB应用范围的问题,我们随后会详细谈。

但优点也很突出,就是可以在提供与其他DFT算法相近的精度的同时极大的降低计算量,文献报道最多可以降低两个数量级!从处理COF体系的经验看,还真差不多,比CASTEP,DMol3一类已经很快的算法快再一个数量级确实没问题。


在某些不大的体系下,感觉都能达到力场的速度了,但DFTB再怎么说也是DFT级别的算法,与纯经验的力场相比精度与适应性要强太多了。速度快最有意义的地方就是让我们可以用较小的时间、设备成本处理一些常规手段难以承受的大体系。同样的模型,最终精度相差不大的前提下,别的算法用一周时间我用几个小时,这才是DFTB算法的优势所在。而COF模型就恰恰是这种大体系,莫说传统DFT甚至更高水平的MP2,就是CASTEP运行一个普通大小COF晶胞的优化任务,几小时,十几小时都很常见,更大的COF模型或者多晶胞都没必要考虑。

这种情况下,DFTB几乎是我们唯一的选择。我想这也是追求效率高于追求绝对精度的MaterialsStudio加入DFTB模块的原因。目前DFTB算法在COF领域用的也不算少,纯计算的据我所知就有三篇:,17,2388–2392,考察2DCOF堆积形态对PXRD谱线和比表面积的影响;ChemicalPhysicsLetters499(2010)103–107,考察2D与3DCOF在外力作用下结构的稳定性;ChemicalPhysicsLetters489(2010)86–91,DFTB做分子动力学。

与实验结合主要是日本江东林小组用来计算含金属的phthalocyanine基COF的结构取向与堆积状态。都是常规手段很棘手的大体系,不过要强调一下他们使用的DFTB并不是MS上的版本,所以功能上有些差别。前面提到了,DFTB必须要提供附加参数才能工作。MS自带的一组CH参数除了算算烷烃以外什么也干不了,纯属DEMO性质。能用的上的参数得我们自己自己找,自己手动添。首先到开发小组的网站上注册,获得参数后将参数文件拷贝到路径C:ProgramFilesAccelrysMaterialsStudio2019shareResourcesNanotechDFTB下的同名文件夹内,重启MS,参数自动被添加进软件。

DFTB+在MS工具栏上是这个图标

打开后进入calculation界面,看上去有些像是Doml3的简化版,实际上同名的控制项作用还真是一样的,这也是MS统一化图形界面的好处:上手非常容易。里边的任务也差不多:能量(Energy)的选项在第三个标属性的签里选择要计算的内容,一共提供了最常用的键结构、态密度、电子密度、轨道、布居分析等几个项目。计算完成后进入Analysis界面加载结果就可以进行分析了。属性计算也可以附到几何优化中,优化完再计算,如果结构必须优化的话这么做可以省去一步计算。动力学后面谈,参数化这个是DFTB独有的,用途是在已有参数文件未能覆盖的场合提供参数文件。

这个选项的具体控制是在Setup的More项中,计算是通过调用Dmol3模块实现。其实这个功能用途不大,DFTB开发小组提供的官方参数文件已经涵盖了绝大多数常用原子,特别是短周期元素,所以针对我们的研究方向,这个功能其实几乎不会被用到。还要注意一点的是,计算前要注意检查第二标签(电子)中的Slater-Kosterlibrary项是否选择合适,首次运行前默认的是CH库,不计算烷烃的话就要选择其他的库。选择原则很简单,只要库中包含体系中所有的的原子的参数,不出现如下警告就可以。经过初步测试,选用不同库计算结果的的绝对值有细微差异,但是比较绝对值没有实际意义,用不同库计算同一体系的不同状态,相对值没有差异,这就说明可靠性没问题。


全部控制选项中只是要小心Usedispersioncorrection这一项。这个选项默认是关闭的,启用的话将在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的实际时间完成模拟过程,得到如下图所示结构。可以发现甲烷分子确实发生了一定幅度的位移与偏转。构建多层模型会更直观,当然时间也会按比例延长,但总的来说还可以接受。

顺便一提,这个模拟是在处理器上占用4核处理器完成的,重复的话耗时会因电脑配置不同差异,但大致处理成本是这样。还有DFTB不能手动调节任务的并行线程数目,不要被这一现像迷惑认为DFTB是像VAMP或者Reflex一样的单线程模块,实际上从运行情况看其调用的是4个线程,所以跑DFTB任务时最好在4线程(核)以上的电脑上运行,比如说512的服务器最多就可以跑6个任务。再多的话设备负荷过重,任务之间也会互相影响,平均运行效率也会下降。内存也是制约因素,这个任务运行时占用了近800MB内存,多任务处理时也要考虑到内存的问题,否则超过实际物理内存承载量计算效率下降会更多.

DFTB动力学模拟的输出文件依据不同系综的选择会有些差异,比如说选恒容恒温的NVT系综就不会输出密度(Density)和晶胞参数(Cell)的报表,温度的变化也要平缓些。但至少会有这几个文件:能量,温度,状态,记载模拟最终状态的xsd文件和记载动力学轨迹的xtd文件,还有另两个记载计算数据和运行状态后缀分别为.dftb和.txt的文本文件。我们依次说

里记录的是晶胞参数随模拟时间的变化过程,左边是棱长,右边是角度。从数据上看我们的模拟体系是比较稳定的,如果不稳定的话,参数不会在某一范围内波动,而是直接下降到某值并基本保持不变,这意味着晶胞的坍塌。

能量(.xcd)记载了整个模拟过程中势能、动能、非键能和总能的变化曲线,与Forcite不同的是势能项要远大于其他能量,我们模拟的体系势能又没有明显变化,所以看上去是两条直线,不列了。温度可以用于监控模拟体系的运行状态状态。温度.xcd如下图:

与晶胞形变同步)。右边是与我们体系看上去完全一样但未经几何优化的体系,温度变化就不太正常正常了,所以几何优化很重要。如果加上色散修正,温度会在几帧内直接上升到数千K,任务直接失败,这也说明了为什么色散修正通常情况下要不得。

在任务运行时内容比较丰富,结束后主要内容会迁移到%体系名%.txt文件之中,一般只会保留很少的终态信息,比如下面所列的:

这个一般参考价值不大,我们需要的数据都在后面要介绍的文件里,但是如果模拟中断的话,信息未来得及迁移,内容就会比这个多得多,那就要小心了。%体系名%.txt与.dftb这两个文件很重要,里面记载了所有的模拟参数,状态参数和计算结果,而且用文字表明了模拟结束时的最终状态,如果是非正常终止,我们

可以很轻松的从这里得到原因。还有两个文件里都标明了模拟的持续时间,但相差很大,长的那个是真实时间。

.xtd文件可以看成是一个定格动画,录制了模拟过程中体系的一系列快照。帧数在Setup/More中控制,本次模拟设定的是一步输出一帧,所以共有100帧,每一帧其实都是一个xsd文件,可以单独输出。xtd文件还可以在MS中播放,或者转存为avi文件。


最新文章