24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1606  |  回复: 16
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zmrright

金虫 (著名写手)

[交流] 【求助】k-piont 怎么确定的啊?已有11人参与

我在算LiBH4,但是我的k-piont 总是弄不好,我想应该是与晶体的晶格参数有关,是不是啊。我在 run的时候总是报错,我想应该是k-piont 出错了。我改变为小的就好了。。。但是咋确定呢。。。?
谢谢那位帮帮吧。。。
回复此楼

» 猜你喜欢

做好自我,不枉此生
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zmrright

金虫 (著名写手)

刚搜集的,虽然没太懂,但是大家商量看。。。

★ ★
aylayl08(金币+2):鼓励一下讨论 2010-05-07 19:55:52
大家好:

我根据自己在计算过程中遇到的收敛性的问题,做了一点关于CASTEP计算参数调试的总结。当然,这些只是我的个人心得体会,大家如果觉得有什么问题请提出指正,或是如果有自己独到的见解,请跟帖加上来,供大家一起学习提高。

如果计算在Max. cycle全部用完之后仍然不能收敛,要先查看一下.castep文件,如果能量比刚开始计算时有明显下降,而且震动幅度也明显减小,只是还没有降到收敛标准以下,那说明Max. cycle还不够,要增加这个数值。

但多数情况下,我们会发现,能量并没有比刚开始计算时的能量有明显下降,而是围绕着某个平均值在反复地震荡,而且震动幅度也没有减小。那说明是参数设定的问题,此时就算再怎么增加Max. cycle的数值,计算最终还是不会收敛的。

这个时候,最好是增加energy cutoff的数值,降低K point set的数值,增加smearing width数值(当然,如果通过调试前两个数值就可以使计算收敛的话,就最好不要动这个数值)。

再有,如果计算是使用的density mixing的话,那要将mix_charge_amp,mix_spin_amp的数值降低,将mix_energy_cutoff的数值增加到energy cutoff数值的3到4倍,增加mix_history_length的数值。

当然,如果调试上面的参数仍然发现收敛很辛苦的话,就将mixing scheme转成All Band/EDFT,这会解决收敛问题,但是计算时间将会是使用density mixing计算所用时间的3倍以上。


总结的挺好的,但是指出几点不足,即:

1. 参数调试过于经验化,如果楼主能结合对程序原理的认识, 或许能够把每个参数调节的意义给阐述的更为清晰些; 从优化算法, 体系特性, 物理过程等方面着手来进行分析, 或许可以得到更加全面的认识(如果楼主能够结合上述内容对CASTEP收敛进行详细的分析和总结的话,我会考虑接受楼主的文章,并且发表在小木虫计算与模拟研究RCS期刊上)。

2. 建议楼主在进行平面波DFT优化之前,通过其他的办法, 比如经典力学优化以及DMol中局域波函数进行优化, 这样的话,可以帮助CASTEP在最短的时间内找到合适的最小值, 也就是通常意义上说的加快收敛。


great!
其实在做收敛速度无非是两个目的:1,计算精度要高;2计算速度要快.
一般平面波程序,在计算精度上,主要需要测试ecut(倒空间的最大平面波截断,理论上要求无穷大,因为那样基矢才是完备的.但实际上不需要,也做不到).还有就是k点取样.理论上要计算无穷个k点,但实际也不可能.我觉得应该先测试ecut,因为你首先要保证每个k点能量是正确的.然后再测试k点.其实到了,最后即使k点取的很大的时候,还是有很大的误差的,这主要来自于系统误差.所以有时候,会造成震荡的情况,这主要还是由于ecut太小,或者是有的k点根本就难以算准.这个时候,如无特殊需要,基本就认为它收敛了.除非你想要在0.1meV的误差. 
但是根据我的想法,我就不认为它能将计算精度控制在0.1meV.即使收敛测试达到了.(当然,这是个人看法!)
第二,就是计算速度.因为目前DFT主要还是用自洽的方法,在理论上应该是用新的电荷密度等于旧的电荷密度,但实际上如果这样做,一是收敛很慢,二是容易形成震荡情形。一般的做法是rho_in=mix*tho_old+(1-mix)*rho_old。(具体到每个程序,肯定是做法不同了。)一般认为mix=0.3比较合理。这样收敛的非常快。  所以很多程序在测试各种mix的时候,就是在测试这个。
最后,选择合适的参数。在你所需要的精度范围内,最快的计算。 我们的目的是要解决问题,有时候不需要那么精确。



引用:“围绕着某个平均值在反复地震荡,而且震动幅度也没有减小。
这个时候,最好是增加energy cutoff的数值,降低K point set的数值,增加smearing width数值(当然,如果通过调试前两个数值就可以使计算收敛的话,就最好不要动这个数值)。”

我觉得不是减小K,而应当增加K
如果不是金属体系,调节smearing没有意义
如有不妥,还望不吝赐教:P
做好自我,不枉此生
16楼2010-05-05 00:03:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 17 个回答

guifan

木虫 (著名写手)


zmrright(金币+1):谢谢参与
最可靠的办法:收敛性测试!
建议注意留心一下国内金属所的文章,他们通常都会在文中明确指出所选参数为收敛测试的结果
2楼2010-05-03 22:12:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guifan

木虫 (著名写手)

★ ★ ★
zmrright(金币+1):谢谢参与
xiaohunhun(金币+2):谢谢 2010-05-03 23:46
忘了提醒一下,可以关注金属所的胡青苗教授,直接检索他的文章就能发现
3楼2010-05-03 22:13:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yindeqiang

银虫 (正式写手)


zmrright(金币+1):谢谢参与
不管进行什么计算,都要先对k-points,进行收敛测试
分享达到共赢
4楼2010-05-04 00:50:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见