| 查看: 13918 | 回复: 79 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[资源]
【讨论】关于针对CASTEP收敛问题的参数调试总结。
|
||
|
大家好: 我根据自己在计算过程中遇到的收敛性的问题,做了一点关于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倍以上。 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
论文投稿,期刊推荐
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
孩子确诊有中度注意力缺陷
已经有14人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
51楼2011-04-26 20:04:21
3楼2009-11-20 11:09:44
★★★★★ 五星级,优秀推荐
★ ★ ★
wuli8(金币+3,VIP+0):3ks 11-20 13:00
wuli8(金币+3,VIP+0):3ks 11-20 13:00
|
总结的挺好的,但是指出几点不足,即: 1. 参数调试过于经验化,如果楼主能结合对程序原理的认识, 或许能够把每个参数调节的意义给阐述的更为清晰些; 从优化算法, 体系特性, 物理过程等方面着手来进行分析, 或许可以得到更加全面的认识(如果楼主能够结合上述内容对CASTEP收敛进行详细的分析和总结的话,我会考虑接受楼主的文章,并且发表在小木虫计算与模拟研究RCS期刊上)。 2. 建议楼主在进行平面波DFT优化之前,通过其他的办法, 比如经典力学优化以及DMol中局域波函数进行优化, 这样的话,可以帮助CASTEP在最短的时间内找到合适的最小值, 也就是通常意义上说的加快收敛。 |
4楼2009-11-20 11:13:07
★★★★★ 五星级,优秀推荐
★ ★ ★
wuli8(金币+3,VIP+0):3ks 11-20 13:02
wuli8(金币+3,VIP+0):3ks 11-20 13:02
|
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的时候,就是在测试这个。 最后,选择合适的参数。在你所需要的精度范围内,最快的计算。 我们的目的是要解决问题,有时候不需要那么精确。 |
5楼2009-11-20 12:41:51













回复此楼
麓山北客