干货第一性原理 干货详情

VASP技巧:如何固定晶胞方向与部分原子坐标?表面重构这样判断!

做个白日梦113
第一性原理密度泛函理论VASP结构优化晶胞优化选择性动力学表面计算计算材料学表面重构表面能二维材料slab模型催化吸附

做表面计算或二维材料优化时,我们常遇到一个让人头疼的问题:只想让原子在某个方向弛豫,其他方向固定不动;或者只想优化表层原子,底层原子锁死。这些需求在VASP中怎么实现?今天这篇文章帮你一次性理清楚。

一、只优化特定晶轴?你需要一个OPTCELL文件

默认情况下,VASP会同时优化所有晶格矢量(a、b、c)。但如果你研究的是表面体系二维材料,通常希望固定真空层所在的方向(比如c轴),只优化面内基矢(a和b)。

解决方案: 使用 OPTCELL 文件。

不过要注意,这个功能需要在编译VASP时开启。具体编译方法可以参考计算化学公社的经典帖子[1]。

编译完成后,你只需要在计算目录下新建一个名为 OPTCELL 的文件,内容格式如下:

bash

cat OPTCELL1 0 01 1 00 0 0

解读一下:

第一行 1 0 0 → a基矢参与优化

第二行 1 1 0 → b基矢参与优化

第三行 0 0 0 → c基矢固定不变

这样,你的晶胞就会在保持c方向长度不变的前提下,优化a和b。

二、让部分原子“原地不动”?修改POSCAR即可

除了固定晶胞方向,另一个高频需求是:固定底层原子,只让表层原子弛豫。比如在构建slab模型时,通常需要固定底部几层原子以模拟体相环境。

操作方法非常简单,只需两步:

第1步:在POSCAR中插入关键词

在原子种类数量那一行的下一行(即第8行)添加:

text

Selective dynamics

第2步:在原子坐标后添加自由度标志

每个原子坐标后面跟上三个字母(T 或 F),分别控制 x、y、z 三个方向的运动权限:

标志含义
T T T三个方向全部放开,自由弛豫
F F F三个方向全部固定,原子不动
T T F允许在x和y方向移动,但z方向固定

举个实际例子,如果你想固定底层原子,只让表层原子在面内(xy)弛豫,而z方向保持不变,就写成:

text

0.000 0.000 0.000 F F F0.500 0.500 0.000 T T F

三、表面重构怎么判断?一个小技巧帮你确认

做表面计算时,我们往往关心一个问题:这个表面会不会发生重构? 重构意味着原子会自发调整位置以降低表面能,这会影响后续吸附、催化等性质的计算。

判断思路如下:

第一步: 构建一个超胞模型(比如2×2或3×3)。
第二步: 人为给表层原子施加一个微小的初始位移——对于(001)面,就是稍微改变顶层原子的x、y坐标。
第三步: 进行结构优化,注意固定z方向,仅允许x和y弛豫
第四步: 比较优化前后的能量和原子位置。

如果优化后:

总能量比初始构型更低

原子坐标没有回到最初的高对称位置

那么恭喜你,表面重构确实发生了

四、写在最后

本文梳理了VASP计算中两个非常实用的操作技巧:

通过OPTCELL文件控制晶胞方向的优化权限

通过POSCAR中的Selective dynamics关键词控制原子自由度

并在此基础上,介绍了一种判断表面重构的常用思路。

希望这些内容能帮你少踩一些坑,更高效地完成计算任务。

评论

0/1000发布评论
全部评论

做个白日梦

关注
TA的主页

干货推荐