VASP优化结构时想要固定某一方向晶格怎么办?
在第一性原理计算时,二维材料的建模会采用在某一方向(一般是z轴方向)添加15-20 Å的真空层的方式来抵消层与层之间的相互作用。但是,当我们优化晶格常数的时候会遇到一个问题:那就是使用ISIF=3来优化平面内晶格常数(一般是a和b)时,c轴方向的晶格长度总是随着优化变的越来越小。
怎么解决这个问题呢?
表1. VASP ISIF 参数详细

老王从学习计算开始经历了三个方法。这三个方法一个比一个好。
方法一,ISIF=4
方法二,重新编译固定c轴的vasp脚本
方法三,采用今天推荐的vasp补丁 (最佳)
方法一,老王刚学计算的时候,通常会采用ISIF=4的固定晶胞体积的方法来计算。这样采用实验参数建的晶胞,由于a和b方向的变化,c轴也会变化。解决了越是优化c轴越小的问题,但是计算量还是很大。
方法二,再后来学会了编译vasp,就自己编译了固定z轴的脚本,专门计算二维材料。这种方法优点是直接换脚本就能解决上面优化时c轴缩小的问题,但是我想固定两个轴就需要再编译一份脚本。比较麻烦。
方法三,知道后来看到肖承诚博士的补丁,顿时豁然开朗。在这里感谢肖承诚博士。为什么呢?因为按照肖博士的方法安装以后,在INCAR中添加如下参数即可。
IOPTCELL = xx xy xz yx yy yz zx zy zz
上面的九个参数对应晶格常数矩阵。
xx xy xz
yx yy yz
zx zy zz
1 代表驰豫
0 代表固定
此时固定c轴的设置就是如下:
IOPTCELL = 1 1 0 1 1 0 0 0 0
补丁地址:
https://github.com/Chengcheng-Xiao/VASP_OPT_AXIS
github最近会登录不上,可以用如下浏览器。
《分享一个科研专用浏览器》
实在不行百度网盘走起。
链接:https://pan.baidu.com/s/1s8RJsJWv_ECmmX9Ye8iL_Q
提取码:9h3x
安装方法:
将下载的cell_relax_finner.patch文件拷贝到VASP编译目录下,运行下面的命令。
patch -p0 < cell_relax_finner.patch
然后重新编译VASP。
评论
晃晃

干货推荐

计算机材料设计Materials-Studio教程5
活着
33 2

有髓神经纤维超微结构
Mr弘🔬
57 5

计算机材料设计Materials-Studio教程11
活着
35 1

CP2K计算能带结构与DOS图
齐振宏
311 2

血脑屏障超微结构
Mr弘🔬
118 9

Codex + Zotero + Obsidian,研究生真的可以构建自己的个人论文知识库
海山了
117 2
