一维二维_更高效的一维、二维材料过渡态搜索

4370995058c6f7adada4fdc420fec9e3.png

前言

本文中,我们首先介绍如何使用NEB方法搜索过渡态,以及在NEB的结果的基础上,进一步提高精度优化出高精度、可验证的过渡态。本文以MoS2的一维条带(其中一个Mo原子被Co替代掺杂)为例进行演示。

一般来说,这种反应,周期性结构为闭壳层结构(电子数为偶数),但下文中的单胞电子个数为奇数,所以实际上应该至少用二倍大的超胞,与一个H2分子反应。但这里为了节省计算量,仅仅为了演示过渡态搜索的过程,因此忽略这一点带来的影响。

对于二维体系,BAND的效率高于同等精度的平面波程序,而一维体系比二维体系效率更高,几乎接近非周期性体系的计算效率。本文以一维材料为例演示计算过程,二维、三维材料过程完全类似。

另外,BAND可以处理真正的一、二维模型,一维材料(周期性设置为Main > Periodicity > Chain)外围为无限大真空,二维材料(周期性设置为Main > Periodicity > Slab)上下表面外,均为半无限大的真空,均无需人为添加“真空层”。

需要注意的是:BAND也可以像平面波方法那样,使用三维周期性边界条件,通过添加真空层来建立一、二维模型,但这既增大了计算量,又降低了精度。

模型

我们使用文献(Journal of Molecular Catalysis A: Chemical, 163, 2000, 117–122)中的结构(这里我们自行优化过)。

反应物结构下载(已优化)

产物结构下载(已优化)

下载结构可通过下方  获取。

NEB参数设置

打开Input窗口,并切换到BAND模块,Task选择NEB,并点击后面的 “>” 按钮:

6846b36983916ca7558f925199d55e8f.png

注意:

  • Initial System对应上面的反应物结构,Final System对应产物结构,选择了这两项后,Input窗口左边底部就多了两个切换按钮,可以分别把两个结构粘贴到Initial、Final两个窗口里面(如下图所示)。

  • Number of Image,表示从反应物到产物之间,计算20个过渡结构,找到过渡态的大致区间。这个值实际上可以设置的更小一些,例如10,这样计算量小一半

  • Optimize reactants/products,本例中这里实际上可以不勾选,因为反应物和产物已经优化过了。

基组的设置,参考:BAND如何选择基组

a296bf5f596569f9eb576b54d75a38aa.png

固定不参加反应的原子(选中原子后,点击“fix positions”前面的+)

867da9d4e19d5e1336631c5305572906.png

降低收敛标准(NEB过程,尤其是第一次的NEB过程,并不需要严格收敛。这样可以降低计算量,而不影响最终精度):

81a52e0e1ed34ee116ebfd25996d00ee.png

保存任务之后,我们需要修改*.run文件中的优化算法的最大步长,避免能量振荡:

2fb34077b651674a12f4018ed9c70667.png

也就是增加了Quasi-Newton字段,TrustRadius 0.02表示优化过程中,原子每一次最大位移不超过0.02。用户可以酌情调大,但默认值就过大了。

保存*.run文件,并运行任务。

第一次NEB的结果

SCM - Movie - View - Accepted Geometries Only(只显示收敛的点)

21c40c0e613ed34a26bdcb71248ba66f.png

其中红色曲线是能量变化曲线,可以看到从反应物到产物,能量逐渐升高、降低的过程。

第二次NEB计算

将能量变化曲线接近顶部,偏左侧一些的结构,File - Save Geometry,保存作为第二次NEB计算的“反应物”,顶部偏右侧一些的结构保存,作为第二次NEB的“产物”。换句话说,缩短NEB的范围,再次进行计算。

第二次计算,与前面大同小异。仅仅需要注意:

  • Initial结构、Final结构要使用新的

  • Optimize reactants/products选项,绝对不可以勾选,否则会变成与第一次NEB一样的结果,浪费时间

  • 因为范围缩短了,因此Number of Image也不需要那么多了,往往10个以内就可以了

  • 同样一定要注意在*.run文件中修改最大步长

第二次NEB的结果

SCM - Movie - View - Accepted Geometries Only(只显示收敛的点)

d3e18850088dc5cf76ff114e4baa75b1.png

因为已经非常细腻了,可以选中红色曲线上的最高点,作为过渡态。一般的NEB计算过渡态就结束了。当然如果不够细腻,还可以在该过程基础上,缩短范围,再进行第三次、四次NEB计算,最后一次的NEB过程,可以适当增大基组精度、k点数目。

反应物、产物的能量,可以在各自优化过程中得到的*.results/ams.log尾部看到,例如:

756f32ee38e1bdc36b8ae734ecbef4ff.png

用三种单位显示了其能量。

过渡态的能量在NEB的Movie最高点,查看窗口左侧底部即有显示,例如:

5304dc2c03328aa2d7a2103c570a0eeb.png

过渡态能量减去反应物能量即得到绝对0度下的能垒。

高精度过渡态优化

一般而言,基于第二次NEB的结果,就可以进行高精度计算,精确优化得到鞍点了,计算过程参考:过渡态搜索与虚频验证,并从过渡态出发反推反应物、产物

14633213cf558637ab052b0f1f412b93.png

008fee69aa1163676eee9ecaabea5635.gif
点击“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2013年测试基于Web的Spring应用程序(第1部分)

2013年测试基于Web的Spring应用程序(第1部分) LJCer和TDD / BDD的一位拥护者最近开始使用广受欢迎的Spring堆栈开发应用程序,他就如何最好地在这种情况下实施测试驱动的方法向我提出了建议。 我开始回覆一封电子邮件作为回应,但后…

计算机类课程嵌入式系统的特点及其应用,嵌入式系统的准确定义、特点及其重要性...

嵌入式计算机系统的出现,是现代计算机发展史上的里程碑事件。嵌入式系统诞生于微型计算机时代,与通用计算机的发展道路完全不同,形成了独立的单芯片的技术发展道路。由于嵌入式系统的诞生,现代计算机领域中出现了通用计算机与嵌入…

【Linux】cp命令

用途 cp除了复制功能之外还可以建立快捷方式 全称 cp的全称为copy 参数 -a :相当于同时指定参数pdr -d :若文件为链接文件的属性(link file),则复制链接文件属性而非档案本身 -f :强制的意思(force),若目标档案已经存在且无法开启,则移除后再…

网页变成灰色,对重大事件表示哀悼

body * { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale1); filter: gray; } 兼容所有浏览器&#x…

Mybatis之逆向工程

前面几篇基本把mybatis简单使用学习了下,今天学习下mybatis逆向工程,我们在开发中经常需要先设计数据库表结构或者先设计model,那就是能不能有工具可以只需在一边设计之后另一边自动生成呢?于是逆向工程来了。这里的逆向功能是通过数据库的表生成java po…

2023航天推进理论基础考试划重点(W老师)-液体火箭发动机1

适用于期末周求生欲满满的西北工业大学学生。 1、液体火箭发动机的基本组成及功能是什么? 推力室组件、推进剂供应系统、阀门与调节器、发动机总装元件等组成。 2、液体火箭发动机的分类和应用是什么?3、液体火箭发动机系统、分系统的概念是什么&…

minio 并发数_c#(asp.net)线程配置总结

本文为大家介绍有关c#(asp.net)线程配置的相关知识,有需要的朋友可以参考下。同一时刻只能发起的工作线程数量。1、(maxWorkerThreads * CPU逻辑数量)-minFreeThreads比如2个CPU默认配置maxWorkerThreads100,minFreeThreads176,则同时最大只能…

Java EE 7是最终版本。 思想,见解和进一步的指针。

我们花了不到三年的时间才推出了下一个Java EE版本 。 今年4月16日, JCP EC对JSR 342进行了投票并获得批准。 这是一个成功的故事,因为在去年八月下旬的最后时刻撤消了拥有云就绪平台的最初想法。 作为EG的成员,撰写即将发布的功能或多或少容…

远程教育英语和计算机没过怎么办,网络教育英语统考能考几次 没考过怎么办?...

网络教育英语统考能考几次?网络教育统考是可以在学制期限内多次报考,直到考试合格为止。不过从2018年4月统考开始,所有考生只要一次弃考,弃考科目就只能再有3次报考机会(含以后的弃考)。网络教育统考每年有三次考试时间,分别是4、…

JavaScript的arguments及其子对象

首先一个最大的问题是,arguments这个对象哪儿来的?也许有人会认为它是调用函数时引擎自带的一个局部变量,因为我们平时使用arguments的时候都是在函数中把它当作局部变量来使用的。事实上arguments是Function实例的属性,只是在调用…

nginx 自动化定时切割日志

NG在默认情况下,是始终输出到一个日志文件中,日志文件在nginx.conf中 : access_log logs/www.access.log main; 一个文件中不是很方便查找,分析数据,因此需要按现实运维需要定时的对此文件进行切割。 1、准备个切割…

dbgrideh指定某单元格变色_一招搞定按指定名称批量新建文件夹

文 / 雷哥小鱼儿 编辑 / 小瓜子假如你有一个100行的Excel名单文件。业务需要,需要按姓名单独做成一个个文件夹。普通小白做法:用复制粘贴大法一个个去修改文件夹名字........雷哥Tips:EXCEL中为了实现某目标,出现了N次重复的操作…

如何编写自己的Java / Scala调试器

通过这篇文章,我们将探讨Java / Scala调试器的编写和工作方式。 诸如Windows的WinDbg或Linux / Unix的gdb之类的本机调试器通过操作系统直接提供给它们的钩子来获取其强大功能,以监视和操纵外部进程的状态。 JVM充当OS之上的抽象层,它提供了自…

软件测试bug文档模板,软件bug测试记录模板

软件bug测试记录模板 XXX软件bug测试记录表 文档编号: 背景信息 项目名称 测试目的 硬件环境 软件环境 测试时间 测试人员 测试说明 1、严重等级: A-Crash(崩溃的):由于程序所引起的死机、非法退出、死循环;数据库发生死锁&#x…

js模版引擎handlebars.js实用教程——结束语

返回目录 有了这些功能,[ajax json Handlebars]替代[vo el表达式]不成问题,新时代的曙光已经来临,最佳解决方案在此,您还等什么? 教程到此结束。。。祝读者学习愉快。。。 转载请注明:前端录js模版引擎hand…

rem根据屏幕大小适配字体大小

(function(window, document) {function rootSize() {var screenWidth document.documentElement.clientWidth || window.innerWidth;// console.log(screenWidth);var rootSize screenWidth > 750 ? 100 :screenWidth < 320 ? 320 / 750 * 100 : screenWidth…

mac mysql 列表_Mac终端操作Mysql,以及Mysql的操作方法详解

首先手动启动Mysql应用程序打开终端输入如下命令&#xff1a; /usr/local/mysql/bin/mysql -u root -p(注意&#xff1a;Windows下的是&#xff1a; mysql -u root -p)其中root为用户名。这时会出现如下命令&#xff1a;Enter password: 123456这样就可以访问你的数据库服务…

Java即时编译:不仅仅是一个流行词

最近的Java生产性能问题迫使我重新审视并真正欣赏Java VM即时&#xff08;JIT&#xff09;编译器。 大多数Java开发人员和支持人员都听说过这种JVM运行时性能优化&#xff0c;但是有多少人真正理解并欣赏它的好处&#xff1f; 本文将与您分享在添加新的虚拟服务器&#xff08…

php ajax实现分页效果

ajaxpage.php【这里是数据展示页面的代码】: <meta charset’utf-8′> <script src” http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js ” type”text/javascript”/></script> <script type”text/javascript”> //获取当前url地址…

常用的JVM调优参数总结汇总【随时查阅学习】

本文章参数根据后期用的参数会持续更新 --- &#xff08;1&#xff09;-Xms20M 表示设置JVM启动内存的最小值为20M&#xff0c;必须以M为单位 &#xff08;2&#xff09;-Xmx20M 表示设置JVM启动内存的最大值为20M&#xff0c;必须以M为单位。将-Xmx和-Xms设置为一样可以避免J…