MS CASTEP

Posted by XiLock on January 12, 2021

即便不报错,也要注意看Warning!!!** **即便不报错,也要注意看Warning!!! *即便不报错,也要注意看Warning!!!

密度泛函理论

  1. Kohn-Sham方程
  2. 定理1:多电子体系的基态总能量电子密度的唯一函数。
  3. 定理2:电子密度确定,体系的基态性质就唯一确定。
  4. 电子运动状态–>电子密度分布状态。
  5. 初始状态–>生成KS势–>求解KS方程–>得到新状态,判断收敛与否
  6. 总能=”电子动能(常数,一次迭代确定)”+”核-电相互作用(赝势)”+”电子-电子库伦作用能”+”电子-电子交换相关能(LDA/GGA)”
  7. castep将外层电子波函数通过平面波函数展开,将原子实近似为新的“核”。势可有效减少平面波数目。推荐使用Ultrasoft,精度好效率高。
  8. castep中用平面波展开波函数,截断能数值的高低控制平面波的数目。截断能太低影响计算结果精度甚至正确性,过高则影响计算量,降低计算效率。
  9. 具有低动能的平面波的展开系数比高动能的平面波的系数更重要,因此平面波基组可被截断,而仅仅包含比截断能小的平面波。球的半径与截断能的平方根成正比。
  10. K点是倒易空间基本构成点,总能量的计算是对布里渊区内均匀分布的部分特殊K点积分后加权求和完成的。

castep中泛函选择

泛函的选择暂时可以看Truhlar的一些测试方面的文献,简单点来说可以这样选择:

  1. PBE,各方面较为均衡(或者说啥都能算但算啥都不是最好),最为常用,PW91的结果与之接近但稍有差异;
  2. RPBE较为适合计算表面体系,不过高估晶格常数是常有的事情,不是很推荐使用;
  3. PBEsol和Wu-Cohen比较适合处理晶格常数,PBEsol使用更广泛,个人觉得WC的文献中测试例子太少;但对于某些情况这两种泛函不见得比PBE来得更好,如金属体系可能不如LSDA;
  4. 杂化泛函的使用大概就是求得为了一个好的带隙,HSE06是个好的选择,不过非得使用模守恒赝势加上杂化泛函本身计算慢,即便不用All bands/EDFT,也慢得相当惊人;

K point或E cutoff的无关性验证(收敛性测试)

现有大部分人的标准采用的是50eV动能截断的间隔增加使得能量变化小于1meV/atom,当然这不是唯一的衡量方式。

K point设置

k-point设置多少也要看文献、经验,办法是你自己定义kpoint比如n x n x n。他下面有一个对应的实空间间隔,当你把kpoint调整到0.3左右的时候就用这套k就可以,这是几何优化。一般大体系333, 中小体系555;优化好结构算能量和性质的时候,对应实空间间隔调整到0.1附近就用这套。一般做能量性质计算,大体系777或999,中小体系999或11 11 11或13 13 13,视情况而定。二维材料k点都是n n 1,最后一个1表示在c方向上电子不流通,如果你是111的话,电子就只能在晶格内流通 晶格之间不流通 这就是gama点 。

评析:k-point设置看文献值,几何优化实空间间隔0.3左右;性质计算实空间间隔0.1附近。大体系设置小的值,比如3 3 3,;小体系设置打的值,比如15 15 15。当然一般人懒的做收敛性测试直接用大些15 15 15等。

截断能设置Cutoff

看看文献一般都用多少,优化的时候少用,有个经验就是,你把catoff那里点开,然后回头点优化质量,差等,中等,好,超好,你每个都点一下,你会发现cutoff不一样,用fine级别的cutoff值去优化,就一定没有问题。根据体系不一样,castep会自己判定一个在fine级别下cutoff应该是多少,你就用这个值是多少。对于很大的体系 castep即使在fine级别 判定的cutoff 也可能很小 这时候是不行的cutoff一般不要低于400 eV。

评析:Ecut根据文献值,不低于400 eV。优化时可以取小些,性质计算可以大些,比如优化400 eV性质计算500 eV。

SCF收敛标准

做几何优化的时候,scf的收敛标准也不用那么高,用5e-6 eV/atom 足以,这个数值比fine差一些,比中等好一些。 几何优化做完,做能量和性质计算的时候,scf至少要用 1e-6, 如果体系很小,你可以用5e-7.

评析:scf标准:几何优化用5.0-6 eV/atom或者fine值; 计算性质时使用至少1.0-6,如果体系很小,你可以用5e-7.

几何优化收敛标准

如果你的体系是一个比较小而且对称性超高的原胞,那么几何判据用Ultrafine级别;如果是复合体系,或体系较大,用fine级别。如果体系超大,用中等级别。 当然,所有情况下,你都可以先用中等级别做优化,然后再提升到好的级别。 在写论文时,最终结果至少要用到好的级别,但你论文中不能直接说我用了fine level,你要把每个判据,按照castep的fine设定写出来。

评析:先用中等级别优化,再用fine级别优化,特殊情况采用ultrafine。

自旋spin

  1. MS中的自旋跟gaussian不一样,MS中的initial spin为体系的未配对电子个数,比如10个Fe3+且每个离子有5个未配对电子,则体系的initial spin为50.
  2. 不知自旋状态,可选择use formal spin as initial。
  3. 在”Modify/Electronic configuration/spin state”中可调整自旋状态,逐一考察,在”orbital occupancy/more”中可设置自动优化自旋。

metal选项

对绝缘体优化的时候,勾选了metal,会对结果产生怎样的影响?解答:是否勾选metal,首先得先明白勾了之后什么参数变了。

  1. K点密度变了,这是因为金属体系比半导体需要更多的k点才能算准(勾选metal后kponits翻倍);
  2. Fix occupancy前面的框被挑掉了,意味着加了空带和smearing,电子呈高斯分布,一些带上可填充分数个电子,这么做可以加速收敛。 勾上metal,说明运用了这两个手段。如果体系真是金属性,除了这两个手段之外,还需要调mixing参数,即调节初始电荷密度中输入密度与输出密度之间的比例,这么做也可加速收敛。如果我们确定研究体系是个有带隙的半导体材料,那么metal就不用勾;如果确定是金属,那么就勾上metal. 但有些时候,半导体的表面也可以变为金属性,所以不能确定到底是不是金属性。那么这个时候可以先用非metal的方式算;如果算出来发现是金属性,即价带顶被费米能级穿过,再勾metal也不迟,勾上可加速收敛。同时金属在尺寸很小的情况下也可变为半导体,比如金和纳米金,这时勾上也无所谓,只是计算量大了一些。所以勾上无所谓,无非是加大了计算量。半导体是不用勾选的。

加U

  1. Modify->Electronic Configuration->Hubbard U 设置
  2. 勾选CASTEP Calculation --> Use LDA-U

U的数值参考Materials Studio 系列教程(7):LDA+U

偶极

通过“剪切体相结构”构建表面的时候,应当尽量使“上下表面的终端原子”相同。但是这种情况一般不会实现,所获得的表面为不对称表面,两层表面之间会产生偶极场作用,影响后续的表面能、吸附能能能量的计算。

在切得的表面不对称或者表面有分子吸附时,能量的计算过程中应当加入偶极修正。推荐使用Self-consistent偶极修正,只有在自洽迭代不收敛的时候才建议选用Non Self-consistent偶极修正。

吸附能

  1. 做一个吸附能计算,E(MoSe2+H2O) - E(MoSe2) - E(H2O),在CASTEP设置中所有的Quality都选为Fine,计算MoSe2体系时k-points选为4X4X1,算E(H2O)时我用和MoSe2同样大小的cell(中间放一个H2O),请问该体系的k-points也应该一样用4X4X1吗?【解答】算H2O的时候cell和kpoints都不需要和晶格一样,为了还原气态情形(模型本身是周期性的)需要使用足够大的格子来减弱相邻格子内H2O相互作用,此时选择k点选择Gamma即可。

表面能

采用分子动力学模拟计算 UO2 晶体中各种晶面的表面能, 首先采用 Materials Studio 软件建立一个 UO2 的超晶胞, 然后根据需要选择一个切割方向, 在 UO2 的超晶胞上切出一个表面, 随后在切出的表面上方增加一定厚度的真空层, 真空层的厚度应满足真空层两边的原子之间没有相互作用力存在 (一般为 10—12 A), 这样就创建了一个 UO2 晶体的表面结构模型. 随后计算包含 N 个原子的非表面结构的超晶胞体系总能量 U1, 然后计算包含 N 个原子的表面结构的超晶胞体系的总能量 U2. 再计算出包含有真空层体系 (表面结构) 中表面的总面积 A, 则可以根据能量做差后除以面积计算出该晶面取向的固体材料表面能.

收敛问题

未找到基态能
*Warning* max. SCF cycles performed but system has not reached the groundstate.
 Warning: electronic minimisation did not converge when finding ground state.
  1. 和收敛有关的参数主要有能量的 CUTOFF,SCF的次数,SMEAR,以及 K点选取等,可以尝试一下。
  2. Castep算零点震动能不收敛怎么办? 【解答】调节参数,主要调节Electronic面板的参数,可以适当增加Max. SCf cycles,调节Density mixing等参数,具体怎么调节,这个视体系而定。
自洽迭代不收敛
  1. 首先结构的合理性,如果自建的结构偏离最低能量太大(或失配度太大),可能会难以收敛。
  2. 微调构型。
  3. 考虑是否需要取消一切对称性,充分驰豫晶格。
  4. 观察结果文件,决定是否增加SCF的迭代次数;
  5. 先用大的smearing值,再减小(max0.2,文章中注明;smearing不能设太大,否则结构会不合理);
  6. 减小density mixing(减小新的假设的电子密度的权重);
  7. 电子最小化方法换成all bands/edft(调density mixing无效时使用,与density mixing均属于electronic minimizer的方法,但速度慢,占内存。当使用DM计算金属体系SCF不收敛时推荐使用。)
  8. 增大SCF tolerance值,再降低;
  9. 有些结构本身就是亚稳态,scf 的各项收敛指标如果设的太高,对于亚稳态就可能达不到如此的精度。
  10. 改变赝势。
  11. 增加循环次数。
  12. 一般提高截断能量值可以解决震荡问题;

就比如SCF难收敛我们可以先参考http://sobereva.com/61帖子尝试进行解决,其中的2下面的某些点对于平面波计算固体都具有移植性:

  1. (1)对于平面波方法而言增加动能截断和密度的FFT网格等也是很常规的手段。
  2. (13)的移植方式对于三维周期性的固体而言可以适当去调整晶格参数,一般+U可能会造成平衡晶格结构偏大等,还有结构不合理的情况,比如我见过有人磷酸铁系统切表面的时候把磷酸根的磷-氧键切断,导致SCF很难做。对于固体或表面的计算。
  3. (14)类似的做法就是体系内的原子猜测一个更合理的磁矩,针对DFT+U而言这些对磁矩有贡献的原子更加局域,更合理的磁矩SCF收敛将会更快。
  4. 并不排除(17)也有可能会遇到,特定的泛函和赝势确实有可能会有潜在的问题未被发现。
结构优化不收敛
  1. 观察结果文件,决定是否增加opt的循环次数;
  2. 增加截断能;
  3. 从粗糙到精细,调整结构优化的计算精度;
  4. 将BFGS换成TPSD收敛方法;
  5. 增加设 Max.Interations 的大小(精度);
  6. 调整晶体结构;
  7. 默认构象搜索为“直角坐标BFGS + line research”,试着换成内坐标BFGS。构象实在很差也可以试试damped MD。
  8. 用当前的计算参数进行一次能量计算,记得在性质中选上stress,看此时计算得到的体系应力是多少。之后升高截断能,再次进行能量计算,看此时得到的应力又是多少。如果两个应力都接近于0,则表明结构已在平衡位置附近;如果应力变化悬殊,说明截断能不够,导致应力不准;如果应力很大,表明距离平衡位置太远或结构有问题。

  9. 能量收敛而力不收敛:k不充分的条件下不考虑smearing导致的结果就是力的计算不可靠,从而导致几何优化收敛困难。当然,截断能不充分也有可能导致问题,所以建议做测试。
castep和dmol3的差异
  1. 没达到收敛标准,castep和dmol3的处理办法略有差别,要看你是什么体系,含不含过渡金属等等
  2. dmol3的办法是增加smearing,降低density mixing,增加DIIS;
  3. castep是将BFGS换成TPSD收敛方法,电子最小化方法换成all bands/edft。
卡卡开发的一些建议
  1. 很多参数不是选个medium就完了,K点和截断能甚至是FFT的精度都应当严格测试才行,这些参数会影响force、stress的结果,一定可能性会导致结构优化难以收敛;
  2. 为啥要用模守恒赝势呢,又不是使用杂化泛函,模守恒赝势往往需要配合相当高的截断能,超软赝势岂不是很好?
  3. 色散修正方法TS不如DFT-D2;
  4. 固体的计算对称性如果能够使用的话尽可能使用一下。

  5. 构型优化难收敛先看能量和k点是否能够满足收敛性测试的条件以及初始构型是否合理,其次再调整构型优化的方案,如直角坐标和离域内坐标。
  6. smearing对于金属、窄带半导体和磁性系统是需要的,否则准确计算力就需要相当大的k点,剩余情况采用occ fix问题不大。使用smearing会导致引入电子熵(一般这个熵并不是真的熵)有会影响到能量,过大的smearing会影响到电子结构。
  7. 非得使用smearing的情况,在一定范围你可以选择外推到0K的值作为能量的参考,默认的smearing是Gaussian展宽,有E(T->0)=(E+F)/2,这三个能量对应着输出的三个能量。
  8. 除了Gaussian展宽,原则上castep应该还可使用MP展宽和cold-smearing(需要修改param文件)。两者好处在于smearing值增大的时候电子熵增加的不是很快,这样可以使用稍大一些的smearing值;但MP展宽有个缺陷,对于非金属体系可能会导致负占据。

1、我自己做测试一般这样考虑: (1)FFT精度充分的情况下(如超软的FFT至少是Fine以上了),选择充分的截断能(如超软赝势我可能考虑800eV,模守恒1500eV),然后不断提高K点来进行单点能计算,使得能量能够收敛到结构优化的标准之下(实际上最好力和压力也最好能够收敛,不过不是很容易实现); (2)在测试得到的K点上重新测试截断能,如果测试的截断能未超过第(1)步中设定的截断能,取这个截断能就行了;如果超过(1)中设置的截断能,应该设置到当前截断能重新测试K点,直至K和截断能全都收敛; 2、应该不是赝势本身的问题,有可能使用超软赝势的时候精度不够高,如截断能、FFT的精度不足导致SCF难收敛; 3、DFT-D2就是CASTEP、DMol3中的Grimme的DFT-D方法; 4、对于CASTEP来说,就是find symmetry然后使用primitive cell了。

问题

forrtl:severe(168):Program Exception - illegal instruction

参考资料

  1. Materials Studio软件CASTEP模块
  2. 几个 MS 错误
  3. Materials Studio学习交流群内答疑精选(2020.12.16-2020.12.21)
  4. [CASTEP/MS] 关于Metal选项
  5. 4 CASTEP的使用方法及应用:CASTEP的功能及应用
  6. CASTEP参数设置
  7. [CASTEP/MS] 请教MS中castep优化构型的问题
  8. [CASTEP/MS] 求助 几何优化力不收敛
  9. [CASTEP/MS] 用castep进行晶体的结构优化后,提示优化失败,怎么办?
  10. UO2 晶体中低密勒指数晶面表面能分子动力学模拟
  11. !异质结构建模步骤
  12. Materials Studio教程(三):CASTEP基本参数解读
  13. SCF convergence questions
  14. using smearing的问题


手机版“神探玺洛克”请扫码