计算化学公社

标题: gamma点出现3N个虚频怎么处理? [打印本页]

作者
Author:
Exodus    时间: 2021-7-2 12:21
标题: gamma点出现3N个虚频怎么处理?
请教各位老师,在用QE计算电催化中自由能的校正的时候,为了减少计算量所以用nat_todo固定了slab,只计算被吸附的分子。但是发现无论如何提高relax,scf计算精度都没能消除虚频,而且所有的结构都产生3N个虚频。我也用VASP计算了相同的结构,固定了所有的slab原子,没有出现任何虚频。左图是ph.x计算的频率,右图是VASP计算的频率 (, 下载次数 Times of downloads: 39)    (, 下载次数 Times of downloads: 44)

1. 是否是QE不支持固定原子计算频率的做法,应如何消除这些虚频?而且我试过带着这些虚频得到FORCE_CONSTANTS用phonopy得到的能量校正比vaspkit得到的大了近230倍
2.由于QE计算的结果有虚频,于是我转用phonopy来计算能量校正,但是phonopy可以支持这种只计算吸附分子的做法吗?因为计算6N个超胞的SCF太消耗资源了。我之前尝试删除disp.yaml中slab原子的位移,但是在后续将FORCE_SETS转为FORCE_CONSTANTS的时候出现如下错误
(, 下载次数 Times of downloads: 44)
请各位老师帮帮忙,谢谢了!

作者
Author:
卡开发发    时间: 2021-7-2 13:19
1、按道理应该通过nat_todo指定参与计算原子数目,然后再后面指定这些原子的编号就行,理论上能实现固定的目的。你可以检查下频率的数目是否与未被固定的原子呈现3N的关系。如果没问题,那就得想办法消除虚频,除了scf和relax的精度,你的动能截断k点以及声子的tr2_ph也有影响。如果这些都严格测试了,也可以尝试使用声学支求和规则(asr)。

2、Phonopy做固定原子我不确定行不行,我这种处理不是很了解,看看其他人是否有相关心得。如果实在不行可以试试这样,比如不需要参与移动的自由度对应的image的结果可以拷贝未移动原子时得到的数据来骗过程序,这样这部分对Hessian的贡献就是0。
作者
Author:
Exodus    时间: 2021-7-2 13:31
卡开发发 发表于 2021-7-2 13:19
1、按道理应该通过nat_todo指定参与计算原子数目,然后再后面指定这些原子的编号就行,理论上能实现固定的 ...

首先谢谢老师您的回复!
1. 我通过nat_todo指定了一个双原子分子,也确实得到了6个实频,但同时也出现6个虚频。其次,除了收敛精度,ecuwfc,ecutrho,kpoints,tr2_ph我也测试过了,并没有得到有效的改进。我再尝试更换asr试试。
2.好的,我尝试一下您的这个方法
作者
Author:
get-it    时间: 2021-7-2 19:46
我最近也要做类似的计算。如果写一点代码,应该可以用phonopy实现。
但是我在考虑对称性的问题。如果结构加上衬底,对称性会改变。到底如何处理才是正确的?
作者
Author:
wolaiye    时间: 2024-6-16 11:36
Exodus 发表于 2021-7-2 13:31
首先谢谢老师您的回复!
1. 我通过nat_todo指定了一个双原子分子,也确实得到了6个实频,但同时也出现6 ...

你好,我用QE算频率也遇到相同的问题了,你的问题解决了吗?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3