-
大家好:
我根据自
己在计算过程中遇到的收敛性的问题,做了一点关于
CASTEP
计算参数
调试的总结。
当然,
这些只
是我的个人心得体会,
大家如果觉得有什么问题请提
出指正,或
是如果有自己独到的见解,请跟帖加上来,供大家一起学习提高。
如果计算在
Max. cycle<
/p>
全部用完之后仍然不能收敛,要先查看一下
.castep
文
件,
如果能量比刚开始计算时有明显下降,
而且震动幅度也明显减小,
只是还没
有
降到收敛标准以下,那说明
Max.
cycle
还不够,要增加这个数值。
但多数情况下,
我们会发现,
能量并没有比刚开始计算时的能量有明显下降,
而
是围绕着某个平均值在反复地震荡,
而且震动幅度也没有减小。
那说明是参数设
定的问题,此时就算再怎么增加
Max.
cycle
的数值,计算最终还是不会收敛的。
这个时候,最好是增加
energy
cutoff
的数值,降低
K
point
set
的数值,增加
smearing
width
数值(当然,如果通过调试前两个数值就可以使计算
收敛的话,
就最好不要动这个数值)。
再有,如果计算是使用的
density mixing
的话,那要将
mix_charge_amp
,
mix_spin_amp
的数值降低,
将
mix_energy_cutoff
的数值增加到
p>
energy
cutoff
数值的
p>
3
到
4
倍,增加<
/p>
mix_history_length
的数值。
当然,如果调试上面的参数仍然发现收敛很辛苦的
话,就将
mixing
scheme
转成
All Band/
EDFT,
这会解决收敛问题,但是计算时间将会是使用
den
sity mixing
计算所用时间的
3
倍以上。
chzhmei
(
< br>站内联系
TA)
呵呵,这两天
正要想这个问题呢。请问怎么样才算是收敛得好的呢?
yjmaxpayne
(
站内联系
TA)
总结的挺好的,但是指出几点不足,即:
1.
参数调试过于经验化,
如果楼主能结合对程序原理的认识,
或许能
够把每个
参数调节的意义给阐述的更为清晰些;
从优化算法,
体系特性,
物理过程等
方面着手来进行分析,
<
/p>
或许可以得到更加全面的认识(如果楼主能够结合上述
内容对
p>
CASTEP
收敛进行详细的分析和总结的话,我会考虑接受楼主的
文章,并
且发表在小木虫计算与模
拟
研究
RCS
期刊上)。
2.
建议楼主在进行平面波
DFT
优化之前,
通过其他的办法,
比如经典力学优化
以及
DMol
中局域波函数进行优化,
这样的话,可以帮助
CASTEP
在最短的时间
内找到合适的最小值,
也就是通常意义上说的加快收敛。
gavinliu7390
(
站内联系
TA)
great!
其实在做收敛速度无非是两个目的:1,计算精
度要高;2计算速度要快.
一般平面波程序,
在计算精度上,
主要需要测试
ecut(
倒空间的最大平面波截断,
理论上要求无穷大,
因为
那样基矢才是完备的.
但实际上不需要,
也做不
到
)
.
还
有就是k点取样.
理论上要计算无穷个k点,
但实际也不可能.
我觉得应该先测
试
ecut,
因为你首先要保证每个k点能量是正确的.然后再测试k点.
p>
其实到
了,
最后
即使k点取的很大的时候,
还是有很大的误差的,
这主要来自于
系统误
差.
所以有时候,
会造成震荡的
情况,
这主要还是由于ecut太小,
或者是
< br>
有
的k点根本就难以算准.这个时候,如无特殊需要,
基本就认为它收敛了.除非
你想要在0.1meV的误差.
但是根据我的想法,
我就不认为它能
将计算精度控制在0.
1meV.
即使收敛
测试达到了.(当然
,
这是个人看法!)
< br>
第二,
就是计算速度.
因为目
前DFT主要还是用自洽的方法,
在理论上应该是
用新的电荷密
度等于旧的电荷密度,
但实际上如果这样做,
一是收敛很慢,<
/p>
二是
容易
形成
震荡情形。
一般的做法是
rho_in=mix*tho_ol
d+(1-mix)*rho_old
。
(具
< br>体到每个程序,肯定是做法不同了。)一般认为
mix=0.3
比较合理。这样收敛
的非常快。
所以很多程序在测试各种
mix
p>
的时候,就是在测试这个。
最后,选择合
适的参数。在你所需要的精度范围内,最快的计算。
我们的目
的
是要解决问题,有时候不需要那么精确。
xirainbow
(
站内联系
TA)
Originally posted by gavinliu7390 at
2009-11-20 12
great!
其实在做收敛速
度无非是两个目的:1,计算精度要高;2计算速度要快.
一
般平面波程序,
在计算精度上,
主要需要测试
< br>ecut(
倒空间的最大平面波截断,
理论上要求无穷大
,因为那样基矢才是完备的.但实际上
...
老大:“r
ho_in=mix*tho_old+(1
-mix)*rho_old
。”
这个有笔误;)
xirainbow
(
站内联系
TA)
引用:“
围绕着某个平均值在反复地震荡,而且震动幅度也没有减小。
这个时候,最好是增加
energy
cutoff
的数值,降低
K
point
set
的数值,增加
smearing
width
数值(当然,如果通过调试前两个数值就可以使计算
收敛的话,
就最好不要动这个数值)。”
我觉得不是减小K,而应当增加K
如果不是金属体系,调节smearing没有意义
如有不妥,还望不吝赐教:P
aylayl08
(
站内联系
TA)
欢迎大家讨论,很有意义
carlaty
(
< br>站内联系
TA)
很有讨论的价值,菜鸟纯顶,学习中
fo3mt2
(
站内联系
TA)
Originally posted by xirainbow at
2009-11-20 15
引用:“围绕着某个平均值在反复地震荡,而且震动幅度
也没有减小。
-
-
-
-
-
-
-
-
-
上一篇:--PCB钻孔制程简介
下一篇:个人总结最全英语与美语的区别