计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1894|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] VASP优化二维材料结构,方法选择问题

[复制链接 Copy URL]

25

帖子

0

威望

186

eV
积分
211

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 helpcal 于 2023-12-29 09:32 编辑

目前通常有2种方法:
1.画E-a曲线,只做自洽计算,能量最低点对应优化的晶格常数。然后对其进行ISIF = 2 的驰豫,只优化原子位置,得到最终结构。
2.使用大ENCUT,ISIF = 3,进行固定基矢优化,直接一步到位。不过后续计算仍用原来ENCUT。

对此我有几个问题:
1. 两个方法得到的晶格常数相差0.004,固定基矢优化的能量要低3~4meV。这情况应该取哪一个?或者说这2个方法哪个更准确,还是都可以?我记得在哪看过说只优化原子位置可以避免Pulay Stress的问题,所以做E-a更靠谱。不是很确定这个。
2. 第一种方法里,我对E-a曲线能量最低点(a0点)和其附近几个点都进行优化原子位置 (a0 +-0.001),但是发现优化完a0点能量不是最低了,邻近的几个点驰豫完能量更低了点,不过很小,是10^-2 meV量级。这么做(继续分别驰豫)是有问题吗?不是很理解。 (文献的晶格常数是给到三位小数,所以我这也一样做)



3621

帖子

3

威望

1万

eV
积分
18436

Level 6 (一方通行)

第一原理惨品小作坊

2#
发表于 Post on 2023-12-30 04:06:52 | 只看该作者 Only view this author
isif=3直接算确实存在Pulay Stress的问题,你可以参考这里。要降低这部分误差的影响可以给予足够的波函数和电子密度的网格截断(ENCUT/ENAUG,或者是PREC)。二维格子如果比较简单的情况,例如立方或者六方,晶胞只有一个自由度La(这里的La指的就是你的A,即晶胞A轴向的长度)的情况,那么通过扫描E-La的曲线是可以的,但是如果是个四方或者很一般的单斜结构,其实相当于夹角和Lb/La被约束在了定值,这种做法就未必合理。如果上述两种方法都在很理想的条件,应该不会显著不同。

另外扫描E-La曲线其实这个做法效率很低,通过插值因为插值点数和插值形式的限制可能得到的极小点也不一定对,扫描的每个点上原子因为要驰豫有可能整个曲线的光滑度比较有限,这样效率和精度都会很低。实际上我们要的问题是min{E(La)}(大前提是必须只有La这一个独立自由度),这种特定的一维情况可以用线搜索自己写程序(当然也可以手动来做,然后用Excel估算下一步迭代对应的La),可以考虑使用三点抛物线逼近之类的做法,如果距离平衡位置不远通常不会超过10个点就能拿到能量最低点。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

25

帖子

0

威望

186

eV
积分
211

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2023-12-30 06:09:36 | 只看该作者 Only view this author
卡开发发 发表于 2023-12-30 04:06
isif=3直接算确实存在Pulay Stress的问题,你可以参考这里。要降低这部分误差的影响可以给予足够的波函数和 ...

感谢。看起来还是直接ISIF=3 用大ENCUT驰豫最好。线搜索这方法都没听过不过操作起来应该比直接ISIF=3麻烦很多。

第二段有些地方不是很懂。这个插值点数和形式还有其他方式么,我现在处理的是六角晶格,所以也只有一个自由度。我弄得插值就是a先按0.002变化,然后再最小值附近0.001变化。粗算的结果,只做自洽,得到的抛物线在最低点附近并不光滑,最低点右侧有个点能量凸起,不知道为什么。

扫描的每个点上原子因为要驰豫

这个意思是说E-La曲线里,每个点还要进行驰豫吗?得到的抛物线应该是驰豫过的不是只自洽的结果?

3621

帖子

3

威望

1万

eV
积分
18436

Level 6 (一方通行)

第一原理惨品小作坊

4#
发表于 Post on 2023-12-30 15:29:09 | 只看该作者 Only view this author
本帖最后由 卡开发发 于 2023-12-30 15:31 编辑
helpcal 发表于 2023-12-30 06:09
感谢。看起来还是直接ISIF=3 用大ENCUT驰豫最好。线搜索这方法都没听过不过操作起来应该比直接ISIF=3麻烦 ...

1、线搜索其实就是一维搜索,亦即VASP的共轭梯度算法中确认步长的算法(VASP的CG的线搜索用的是一种Brent算法),但是手动做min{E(La)}就只能自己处理这个算法,这种做法一般比逐点效率高一些。无导数的一维搜索的方法常见的做法是用三点抛物线逼近和二分法(Brent算法是这两种类似的算法的一种结合),相关的内容你可以找一下资料。
2、这里插值指的是,传统一些教程是通过一些EOS来插值拟合得到,但实际上这种做法有偏差。
3、按照道理说应当要保证离子自由度和晶格的大小对能量的导数都为0。

实际肯定还是isif=3简单,懒得折腾的话就这样吧。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

25

帖子

0

威望

186

eV
积分
211

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2023-12-30 23:56:43 | 只看该作者 Only view this author
卡开发发 发表于 2023-12-30 15:29
1、线搜索其实就是一维搜索,亦即VASP的共轭梯度算法中确认步长的算法(VASP的CG的线搜索用的是一种Brent ...

清楚了 感谢

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-25 12:49 , Processed in 0.147506 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list