加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

『学习笔记』MS_castep

(2013-01-31 17:57:53)
标签:

混沌之君

ms

castep

分类: _case:学习笔记
A 模型建立部分

Q1 论文中计算模型参数选取问题:
对于(2x2)大小的表面,布里渊区积分中的K点(3x3x1)选取过小,真空层厚度(10A)是否足够?计算结果收敛性是否经过测试?请在文章中明确说明所选模型参数对计算结果影响的测试情况。

Q2 表面弛豫对计算结果影响很大,请在文章中指明表面弛豫原子层数。对于文章中采用的上下表面不对称(只单面替代原子)的表面模型,计算过程中是否考虑了偶极子修正等因素的影响?

问:1 这个收敛性怎么测试呀?主要比较哪些值?          2 偶极子修正是什么?什么时候要考虑?如何分析

Notes:
1 选择多个energy cutoff比较dEtot/dlog(Ecut)
上下表面是对称分布的就不用考虑偶极矩问题 dipole 偶极子
ps:paper Dipole correction for surface supercell calculations (Phys. Rev. B 59, 12301–12304 (1999))
3 为什么要加入vaccum slab?
在ms中具有周期性,所以我们才加入真空,消除近距离原子对其表面的影响,是一种类似真实的表面结构。异质结界面态可不考虑其高度。


Q3 关于针对CASTEP收敛问题的参数调试总结:

如果计算在Max. cycle全部用完之后仍然不能收敛,要先查看一下<seed>.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倍以上。

Notes:
smering是什么意思:由于金属的能带有可能穿越fermi能级,从而引起总能计算时的不连续变化。为了避免这种情况,需要引入分数的占据态。在castep中0k下的计算,是将单电子能级采用Gaussian函数展宽,展开宽度就是smearing width。然而,由于展宽了单电子能级相当于增加了有限的温度,所以必须修正以得到0k下的结果。另外,smearing的另一个作用是可以增加总能计算的收敛性。所以对于非金属可不考虑
2. 在进行平面波DFT优化之前,通过其他的办法, 比如经典力学优化以及DMol中局域波函数进行优化, 这样的话,可以帮助CASTEP在最短的时间内找到合适的最小值, 也就是通常意义上说的加快收敛

其实在做收敛速度无非是两个目的:1 计算精度要高 2 计算速度要快

一般平面波程序,在计算精度上,主要需要测试energy cutoff(倒空间的最大平面波截断,理论上要求无穷大,因为那样基矢才是完备的,但实际上不需要,也做不到)还有就是K点取样,理论上要计算无穷个k点,但实际也不可能。所以有时候震荡的情况,这主要还是由于energy cutoff太小,或者是有的K点根本就难以算准,这个时候,如无特殊需要,基本就认为它收敛了。
二就是计算速度,因为目前DFT主要还是用自洽的方法,在理论上应该是用新的电荷密度等于旧的电荷密度,但实际上如果这样做,一是收敛很慢,二是容易形成震荡情形。一般的做法是rho_in=mix*rho_old+(1-mix)*rho_old(具体到每个程序,肯定是做法不同了)一般认为mix=0.3比较合理,这样收敛的非常快。所以很多程序在测试各种mix的时候,就是在测试这个。
最后,选择合适的参数。在你所需要的精度范围内,最快的计算。我们的目的是要解决问题,有时候不需要那么精确。


Q4 采用几何优化——勾选了more中的优化晶胞,结果能量曲线上升,但是收敛,这种计算结果可靠吗?很怀疑!除了改变ECUT、K点,还有办法吗?这能否说明我建的晶胞就是比较稳定的,无需优化呢?
如果能用的话,我该怎么确定优化之后最终的(稳定)晶胞的能量以及晶胞参数,找最低的那个能量吗?

Notes:
应该是初始输入的晶格常数过小造成的,这是内聚能偏低。晶格参数当然也可以使用软件自带的优化cell的功能。但如果认真做了收敛测试,会发现在收敛性上,能量最易收敛,其次是力,应力最难,也是默认的。所以如果以应力作为判据(自动优化晶格就是如此),则需要很高的Ecut和K点数目才能收敛于正确值。而使用E-V拟合晶体状态方程,则使用较低的参数就可以得到正确的晶格常数。

Q5 在MS castep中在进行计算之前需进行收敛性测试,我只大概知道步骤是先进行截断能的测试,在得到收敛后,再进行k点取值设置,但是我不太明白,这个收敛的具体含义是什么,是从什么地方的什么值看出其收敛的呢?

Notes:
具体参照Q3,这个要看能量图是不是一条直线,二要看收敛图,每条实线要在各自对应虚线的下方就表明收敛了,不收敛可能由于步数太小。

Q6 final energy、Final free energy (E-TS)、NB est. 0K energy (E-0.5TS)和Total energy 有什么差别呢?  希望那位大侠能够讲解一下,非常感谢。

Notes:
final free energy (E-TS)  S应该是熵,T是温度, NB est. 0K energy (E-0.5TS) 是前两值得平均值

Q7 number of steps for each strain  一般应设置多少,默认4,我一般调成6了,不知道这一项的意思?

Notes:
这个step应该是每个应变分量向上计算的应变点的数目,之后拟合这些点的应力应变曲线得到弹性系数。点多一些应该会提高精度,但个人认为影响结果精度更主要原因还是每个step自身的精度,也就是DFT的计算精度。

Q8 用CASTEP模块计算材料的弹性常数时,必须对模型进行“impose symmetry”吗?如果没有施加对称性,对结果会有影响吗?我自己对比了一下两种操作的结果,大致差不多,只是有一点差别,但是“impose symmetry”后速度快很多,理论上,每个体系对应有自己的晶系和空间群,如果是自己手动建的模应该要施加对称性,计算结果才能体现体系的性质吧?欢迎大家讨论

施加对称性之后,计算的时候因为某些对称性的结构的某些方向上Cij是相同的,或者可以由其他方向的Cij计算出,即不是独立的Cij,所以在计算的时候,会不去计算这一部分,所以计算的速度快了很多。即使不施加对称性,但是这个结构的这种对称性还是存在的,所以算出来的结果差不多,某些方向的Cij应该是0值的,不施加对称性的话,会近似是0,可以不予考虑。


0

阅读 收藏 喜欢 打印举报/Report
前一篇:2013.1.30
后一篇:沉墨不语
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有