计算化学公社
标题: 求助CP2K计算RuO₂ (110) 表面吸附OER中间体时的SCF收敛问题 [打印本页]
作者Author: 蹇子铭 时间: 2025-7-10 03:47
标题: 求助CP2K计算RuO₂ (110) 表面吸附OER中间体时的SCF收敛问题
卢老师您好,我最近在用 CP2K 算 RuO₂ (110) 表面吸附 OER 中间体的时候,遇到一些 SCF 收敛的问题,想请教您看看是不是我设置有问题。我这个体系是 RuO₂ (110) 表面,截了三层,计算的时候固定了最下面一层,放开上面两层。用的是对角化方法,输入文件是通过 Multiwfn 生成的。对于光面催化剂(*)和吸附 O 的中间体(*O),SCF 都能正常收敛。但是一旦涉及到含 H 的中间体,比如 *OH 和 *OOH,SCF 就特别慢,而且经常震荡收敛不了。我试过把 MAX_SCF 调到 500,Alpha 设成 0.1,优化器也换成了 CG,效果还是不太理想。因为体系是导体,我就没用 OT 算法。现在这一步算下来已经花了一天多时间,相比之前用 VASP 算同样的模型,基本一天之内就能收完,感觉 CP2K 并未在效率上体现出优势。所以想请教您看看,我现在的设置有没有不合理的地方?或者有没有什么提高收敛效率的建议?
作者Author: Corrosion 时间: 2026-1-15 23:13
顶一顶
作者Author: 阿夸夸 时间: 5 day ago
从我的经验推测,原因是slab-OH和slab-OOH模型由于是奇数电子数,使得自旋多重度为2,开UKS,导致的自洽场不收敛。
我这里有一个算不上办法的办法,将上面两个模型沿周期性方向a或b扩胞为两倍超胞,让电子数变成偶数,闭壳层,自旋多重度为1,相应方向的k点数也可减半,此时可能会改善自洽场收敛问题,个人愚见
作者Author: guoguoping199 时间: 4 day ago
大佬,您的意思是把原来晶胞扩胞成两个晶胞,然后再合成一个晶胞,再生成计算文件,K点的话,例如原来是2,2,1,沿着X轴扩胞以后,就把K点变成4,2,1吗
作者Author: wangnan2256 时间: 4 day ago
你晶胞变大了,K点肯定减小啊,怎么还会变回原来k点的两倍
作者Author: guoguoping199 时间: 4 day ago
嗯嗯,好的,理解错了,应该改成1,2,1才对吧
作者Author: 阿夸夸 时间: 4 day ago
啊对 你可以试试
作者Author: guoguoping199 时间: 4 day ago
已经用我的Ni单原子吸附OH尝试了,很快就收敛了,大佬厉害了!
作者Author: guoguoping199 时间: 4 day ago
就是单电子步计算时长接近翻倍,不过多费点时间能收敛已经很好了
作者Author: guoguoping199 时间: 3 day ago
本帖最后由 guoguoping199 于 2026-1-20 10:17 编辑
大佬,又有一个发现,如果K点比较小的话,减半以后也会影响收敛
作者Author: 阿夸夸 时间: 3 day ago
啊 不是大佬,科研民工
k点、自旋极化、smearing以及磁性的设置要根据你具体计算的材料体系慎重设置,在确保上述设置都恰当的前提下再来解决自洽场不收敛的问题
此外对于奇数电子数,开UKS导致的自洽场不收敛问题,还可以通过开smearing,指定自旋多重度为1,就可以避免CP2K强制用UKS,这样就不用上面我说用超胞的方法来避免奇数电子数以及UKS,详见http://bbs.keinsci.com/thread-57857-1-1.html、http://bbs.keinsci.com/thread-57889-1-1.html
但首先确保这些设置对要计算的材料都是恰当且合理的
| 欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |