一、 vasp简介

VASP(Vienna Ab-initio Simulation Package)是维也纳大学开发的一款基于密度泛函理论(DFT)的第一性原理计算软件包,广泛应用于材料科学、凝聚态物理和量子化学领域。

二、计算流程

第一步通过自洽计算进行结构优化,主要优化原子的位置和晶胞形状以达到能量最小化;第二步为静态计算,可以看作计算电子结构的前步骤,主要获的后续计算(非自洽计算)的波函数和电荷密度等信息;第三步主要就是正式的计算想要获取的电子结构相关信息了,根据具体需求处理。注:以本人计算最多的情况为参考

三、输入文件简介

vasp计算必须至少要满足以下四个基本输入文件的要求:

1. POSCAR:结构文件(晶胞和原子坐标):

第1行为标题行,即内容由读者本人自己安排,也可以起助记作用;

第2行为缩放系数,一般默认都为1.0,暂时还没见到需要从这里更改系数的情况;

第3-5行为晶格参数信息;

第6行为结构包含的元素种类,本结构为Ce和O构成;

第7行为包含的原子个数,如Ce为2,O为3,顺序与6行元素顺序一一对应;

第8行为坐标系类型,Direct为分数坐标(可用D代替,默认识别第一个字母),其余的还有C代表笛卡尔坐标系,即直角坐标;

第9-13行为6、7行对应原子的坐标,前两行为Ce原子坐标,后三行为O原子坐标;

第15-19行为对应原子的能量,初始计算时候相对不重要因此一般为0。

2. POTCAR:赝势文件(需与元素对应)

势函数文件,如名字一样通过一定的等效处理将真实原子势简化,保留化学键相关的价电子(如Si的3s²3p²),将内层电子(1s²2s²2p⁶)与原子核共同视为离子实,目的是为了降低计算成本,常用的为PAW赝势



同样以Ce2O3为例,计算时候势函数文件应该包括Ce和O的赝势,第行为赝势名曾等,第4行为离子实处理,第12行ZVAL后12代表Ce的赝势为将最外层12个电子视为价电子,其余的则等效为原子核处理。其余信息大都不太重要,不在做解释。

3.INCAR:参数控制文件(如泛函选择、收敛标准)。

这是比较重要的需要用户根据计算目的灵活调控的文件,每一步都需要进行适当调整。



还是举之前的例子,INCAR里面有许多参数,需要根据需求设置,不设置则默认,设置时候需要保证=前的规定关键字无误,=后的选项按照需求选择,可以参考官网手册:https://www.vasp.at/wiki/index.php/Category:INCAR_tag

这里我对常用的进行一些说明:

1.ISTART=0一般开始计算时候为0,此参数规定波函数读取方式,0时则因为开始没有参考的波函数文件,因此需要从头计算,而优化完优化静态计算时候可改为1节省计算时间;

2.LWAVE和LCHARG代表是否保存波函数和电荷密度文件,根据你计算的平台选择,如果需要手动需算,则建议打开,一般当体系较大时,波函数文件较大,占用较多空间所以建议视情况关闭,不保存。tips:打开为TRUE,简写为.T.如例子,关闭同理。

3.ENCUT为截断能,截断能越大一般来说计算结果越精确,具体的选择取决于具体体系的元素。

  • 本例当中参考Ce和O的,通过"grep ENMAX POTCAR"命令获得Ce和O的ENMAX分别为273和400ev左右,截断能一般选取体系中元素ENMAX最大的值的1.5倍左右,因此本人选择为650ev

4.ISMEAR和SIGMA一般一起使用,是控制k点积分方法和展宽参数的关键参数,直接影响电子态占据数的处理方式,进而决定计算精度与稳定性。

  • ISMEAR为展宽方式选择,常用-5/0/1,-5为四面体方法,适用于半导体体系,0和1为高斯展宽和费米展宽,更适用于金属体系(感觉并不绝对,具体体系都可尝试对比)。
  • SIGMA则表示展宽的宽度,当前者选择-5时候,则默认不会进行展宽,只有为0和1时候起作用,一般参考0.05-0.2左右,越小则越精确,但计算量增加。

5.ALGO为优化时候电子步的算法,一般选择N或F即可。

6.ISIF:规定优化结构时候优化的选项,具体情况具体选择。

  • 本例当中ISIF=2代表结构优化时候只改变原子位置,而不改变晶胞形状;ISIF=3是同时优化原子位置和晶胞形状

7.电子步优化参数:NELM和NELMIN分别代表优化时电子步优化的最大步数和最小步数,EDIFF为能量收敛到10-6,即代表当最后两电子步能量差为10-6时候才收敛。

  • tips:如果对能量收敛要求较高还可以提高到-7或者-8,但会增加计算成本,进行2步优化,即先优化到10-5以后,再第二次优化设置收敛到10-7能够一定程度上加快计算速度

8.离子步优化参数:NSW代表离子步的最大步数,IBRION代表弛豫过程中寻找稳定结构的算法,EDIFFG代表离子步的收敛标准。EDIFFG为负值代表以能量为标准,单位为ev,EDIFFG为正值代表以原子力为标准,单位eV/Å,后者在结构优化当中更常用。

  • 本例当中IBRION=2为共轭梯度法,应当是现在使用较多的;EDIFFG=-0.02代表最大原子受力 < 0.02 eV/Å时达到离子步的收敛标准。

    tips:6之前为预计算方法选择相关参数,7.8主要为控制收敛精度相关,优化时候分为离子步和电子步,一个离子步包含多个电子步。

9.其他参数:后面两部分参数主要为设置磁矩和设置U的相关参数,根据具体目的设置,这里暂不展开。

4.KPOINTS:k点网格设置。



如图,本例当中使用vaspkit自动生成k点,k点密度为0.03,第2行0为默认,第3行为K点网格采样方式,这里为M(识别首字母),第4行为每个方向的k点个数,整个网格为12x12x6大小,第5行也为默认。

  • tips:k点采样密度越小则网格越精细,计算越精确,计算量越大;采样方式除了M还有G,一般前者比后者更精确,但G也够用;k点采样主要是划分到空间网格,即实空间晶胞晶格参数越大,则倒空间晶格参数越小,k点采样的密度可以适当减小。

四、输出文件简介

经过一次优化计算后会产生许多的输出文件,计算完成以后我们首先关注的应当是体系是否以及达到收敛标准。

  • OSZICAR为计算过程中每一次步的计算过程文件

    示范当中在命令行使用"tail -10 OSZICAR"命令查看该文件最后10行可知离子步8F时候dE小于标准,已经收敛。按照本人经验,如果检查没有数据异常一般都会正常收敛,如何使用超算平台脚本提交后有日志文件,也可直接从日志文件里面查看

其他的还有OUTCAR:记录计算的所有结果数据;此外如果打开电荷密度和波函数开关则会有WAVECAR和CHGCAR文件,用于后续计算;较为重要的是CONTCAR,结构与POSCAR相同,是优化后的结果文件,在第二步静态计算时候我们就是以优化后的结构文件为基础计算,在第二步计算时需要将CONTCAR重命名为POSCAR,同时对INAR等进行相应调整。

其他输出文件一般我们不太关注,根据具体情况处理即可。

END:以上根据本人计算经验和相关资料搜集整理而成,如有阐述有误的地方望批评指正,也希望多与同行多交流学习,感谢!

vasp简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  10. 1.Hibernate简介

    1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...

随机推荐

  1. 能看病的AI你见过吗:ChatMoney

    本文由 ChatMoney团队出品 在当今这个科技飞速发展的时代,人工智能技术正在以惊人的速度改变着我们的生活,人工智能已经深入到各个领域,医疗行业也不例外. 而今天我要和大家聊一聊利用ChatMon ...

  2. 使用hive数据查询小结

    业务背景: 公司大数据查询需要通过hive查询和分析一些数据 产品提出业务分析需求: 我的处理方式: 接到需求就想怎么写SQL语句,然后不断调整SQL语句进行验证,最后这个需求写了170行的SQL语句 ...

  3. 使用FModel提取《剑星》的资产

    前言 红色是毁灭 蓝色是冷漠 绿色是伪装 白色是虚无 黄色是...........发给我!!! 不得不说,金亨泰的审美真的是这个.向金亨泰卡卡敬礼.葱!橙! 闲话少叙,咱就听老二的,开始解包! 本文内 ...

  4. Spring Boot 集成 ShardingSphere-JDBC 配置示例

    概述 Apache ShardingSphere‐JDBC 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库. 关系型数据库当今依然占有巨大市场份额,是 ...

  5. update 批量修改sql 记录

    update_table 是要修改的表 join_table 是关联另一张表来修改update_table表的字段 update update_table set id= tmp.id from jo ...

  6. Centos下多种PHP拓展安装方法

    http://my.oschina.net/u/2400083/blog/518195

  7. poi 酱放过的每日一歌

    整理一下 poi 酱放过的每日一歌,大概按照时间排序,如果有喜欢的大家可以参考一下. poi 酱喜欢什么样的歌 基本上从 \(2 \times 2\) 个维度考虑:唱腔(甜度.软度)和歌词(内容.与曲 ...

  8. C#如何取出非公共成员

    https://blog.csdn.net/yueguangzhiyuan/article/details/8926131 一般而言,非公共成员是受保护的,不能被外部访问的,这些都是基于安全性考虑.可 ...

  9. 前端开发系列086-Node篇之require

    本文主要介绍require对象(函数)的结构,使用方法和注意点,对模块和CommanJS规范等内容不进行展开. 一.require函数 在Node中,所有的文件都被认为是一个模块.根据来源的不同,我们 ...

  10. 前端开发系列010-基础篇之JavaScript的Date对象

    本文介绍JavaScript中的内置对象Date,时间相关的基本常识,以及Date的常用方法,此外还简单介绍了定时器的相关知识点. 一.日期类型Date简单介绍 Date对象是JavaScript语言 ...