xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

声子谱出现虚频-解决方案摘录

已有 31066 次阅读 2013-9-15 05:11 |个人分类:声子谱计算|系统分类:科研笔记| 解决方案

关注:dfpt法计算声子谱,怎样避免出现虚频?

 在充分优化、完全弛豫的条件下,

1) 扩胞的大小、k-mesh的密度对声子谱计算结果有多大影响?

2) 怎样在保证结果质量的条件下,缩短计算时间?

3) 截断能对计算结果有多大影响?

4) smear参数设置及degauss参数对结果也有影响?


AAAAA(12248580)  11:07:39
    请问Phonopy-dfpt方法计算声子谱时,结构已经充分弛豫的情况下,有微小的虚频该怎样消除? 增加k-mesh及截断能是否有效?:
392 f  =    6.257578 THz    39.317521 2PiTHz  208.730322 cm-1    25.879271 meV
393 f  =    5.605327 THz    35.219308 2PiTHz  186.973577 cm-1    23.181777 meV
394 f/i=    0.027359 THz     0.171899 2PiTHz    0.912583 cm-1     0.113146 meV
395 f/i=    0.060535 THz     0.380355 2PiTHz    2.019243 cm-1     0.250354 meV
396 f/i=    0.064485 THz     0.405173 2PiTHz    2.150999 cm-1     0.266690 meV

LLLL(48776252)  11:08:19
不用消除。
没问题。
AAAAA(12248580)  11:08:59
 好的,Thanks
AAAA(12248580)  11:10:53
通常,k-mesh及截断能设置得较小,是否会造成结果出现虚频?
LLL(48776252)  11:11:37
encut 一般不影响, k-mesh倒是会影响。
of course,这也是我的经验。
AAAA(12248580)  11:12:24
好的,记下; 为节省时间,我一般取kmesh密度为0.04
LLLL48776252)  11:12:50
agree


【转自叶落鹰飞】-关于用超胞方法计算声子的一些经验


目前来说计算声子谱的计算主要还是基于supercell的方法【准确地说是不是应该理解为 有限位移法,如MS-CASTEP中所述】,主要是发展的时间比较长,发展的相对成熟一些。

      另一种方法是基于线性响应的方法,该方法主要的好处(我个人经验):计算的结果相对可靠,收敛参数容易控制。只要能量截断和K点收敛了,计算的结果就比较可靠。

     而且它可以计算任意q点的声子。 但缺点是有时低对称性的结构的低对称性q点不容易收敛【是啊,经常出现不容易收敛的情况,即使在gama点也出现很大的负频】。

      而且对于大体系,计算速度也不是很快。代表软件:abinit, quantum espresso (pwscf)。
     超胞法目前的主流软件是 phonon, phon, fropho, phonopy。

      phonon计算的比较准确可靠, 但是要收费。 所以一般人都是选择后几种软件,因为都是免费的。 phon当时是 Dario Alfe 为了计算自由能而写的计算声子谱的软件。但是phon用起来还是比较麻烦的,需要自己写一些脚本。

      Atsushi Togo 可能是发现phon太麻烦,而写了fropho, 其实fropho就是相当于把phon重新包装一下。用起来简单多了。 里面用了大量的python和ruby脚本。 估计够后来Atsushi Togo 把python用爽了, 又重写了该软件,完全python化了,这就是phonopy。【phonopy的产生历史,写得很好。不了解历史,昨天Atsushi Togo给我回邮件,我还误以为是我的同学,居然问他:Do you plan to go to class tonight?............晕死】
      但天下没有免费的午餐,用免费的软件就是需要一定的经验积累。phon,fropho和phonopy的使用的最大问题就是对于很多体系,会出现离奇的虚频,尤其是gamma点附近,很难算准

       为了克服这个问题,我的建议是:在对原子进行distortion的时候【distortion是不是就是位移DISP 或新版的disp.yaml?】,一定要对原子加上负方向的移动, 这样虽然计算量增加了一倍,但计算会更准确和可靠。
     对于phon:
For central differences (LCENTRAL = .T.) the format of the file is the same, but there are twice as many displacements (for each displacement u there is also -u).
        在INPHON里要加上 LCENTRAL = .T. , 这样就可以产生负方向的移动了。
对于fropho:
More displacements to obtain precise frequencies

You can specify displacements more than independent freedom to obtain precise eigenvalues (frequencies). This treatment works especially near -point. An effective example is  displacements. If your DISP file is,
         1   1.00   0.00   0.00
         1   0.00   1.00   0.00
         1   0.00   0.00   1.00
You can create displacements by hand (or use sed), e.g.,
         1   1.00   0.00   0.00
         1  -1.00   0.00   0.00
         1   0.00   1.00   0.00
         1   0.00  -1.00   0.00
         1   0.00   0.00   1.00
         1   0.00   0.00  -1.00
This setting may be called 'plus-minus'.The plus-minus setting works to increase stability of phonon band structure even when the initial atomic geometry is not enough converged to the equilibrium position.Especially frequency equivalent to approximately zero is sensitive to this treatment. Sometimes fails when forces are converged too much.
fropho就需要手动的在DISP文件里加上负方向就可以。
     对于phonopy,目前Atsushi Togo 维护的比较好。出这种问题较少。

     其次, 我觉得实际扩胞的时候不用扩的非常大。 一般a,b,c扩的10埃左右就可以。主要还是原子受力要计算准确【怎样将受力计算准确?】。 所以当发现小的虚频的时候,还是在受力的计算的时候可以尝试增大K点。有的时候对于100个原子的超胞, 我都用到了10*10*10 (但这还是少数情况). 【如果含有过渡金属原子的体系,是不是会将内存挤爆?】
           但如果想要计算准确的自由能,还需要测试超胞大小,受力计算的k点,移动原子幅度的大小。比较麻烦,但又必须。

最后要想得到准确的结果,还需要多用几种软件,互相佐证。
当然如果不差钱的话,可以买phonon,确实很好用。
但是如果想提高自己的话,可以用其它免费的软件。


问题集锦

aaq2800: 1提高计算精度,2看虚频出现在哪个原子上,微调这个的原子的位置,一般就可以解决;

             Dmol3: tools里,有个振动分析,摸索一下就知道了



A:

消是肯定的

但实际上小的虚频对结果几乎没有影响

麻烦的是,有时候消一次发现还有虚频,不知道大家的方法是什么


gemucai:

跟大家分享一下我的解决方法,以后碰到有虚频的情况不妨增加smearing的宽度,即degauss的大小,效果很灵的。其实有时候根本不需要过度地优化,我优化到0.0000001ry/bohr也有很大虚频,但是degauss增加了0.01虚频就立刻消失。

希望这对大家以后的计算起到帮助的作用,也不妨讨论下为何虚频对degauss如此敏感。



我怀疑是这样的,smearing取得过小会导致电子密度n(r)出现不该有的尖峰,本来是线性的分布结果变成了spiky的形状,那么求泛函和偏导的时候就会出现不该有的震荡,甚至是很大的虚频。



刚用occupation=fixed算了一遍,跟取比较大的smearing效果是一样一样滴,这是怎么回事呢?



其实这不是真正的紧束缚,只是一种经典的紧束缚,类似于phonon里面的小位移方法。它通过算势能对位移的二阶偏导得出近邻次近邻相互作用的动力学矩阵,解久期方程得到振动频率。貌似这个势能确定了之后算起来确实相当快,我去年手算一简单体系也只花了一个下午。


其实,展宽的参数也是需要测试的,在其他参数固定的情况下,改变smearing数值,当声子频率收敛时的smearing就是精确地



2.查一下产生虚频的振动模式涉及的原子,微调一下其坐标,重新优化....


稍微改一下就行,因为你上次优化没有收敛到稳定结构,只是差那么一点点,所以可以尝试少改变一下,然后再优化....
这个并没有什么具体规定,自己尝试着做一下吧...
或者还可以改变一下优化方法....提高一下收敛精度等
有些东西需要自己尝试、总结的....


degauss是0.002,已经非常小了,所以它需要的K网格十分致密。
一句话,你的虚频是由于k网格和degauss的不匹配导致。



3.

CASTEP和VASP用的方法一样,所以要么一块儿出现虚频,要么都没虚频。而pwscf普遍认为是算声子最为严谨最为准确的,它有虚频的话可以从参数是否收敛、结构是否合理以及赝势的质量三部分检查。


LT-TO劈裂是横波和纵波的劈裂,如果你的纵波传播方向是(1,0,0),那么你的设置就为q(1)=1, q(2)=0, q(3)=0



https://blog.sciencenet.cn/blog-567091-725026.html

上一篇:PBS查看空闲节点命令
下一篇:PWSCF计算电声耦合常数
收藏 IP: 128.84.125.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 04:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部