计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2355|回复 Reply: 1
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] cp2k利用纯泛函进行能带计算的简单方法

[复制链接 Copy URL]

92

帖子

1

威望

817

eV
积分
929

Level 4 (黑子)

思虑很久,感觉自己也应该发点帖子,如果不合规请管理员删除。

我看很多人问CP2K计算能带的问题。为此,我想开一个帖子,讲一下我自己算能带的简单方法。
开讲之前,首先感谢科音培训班,也希望大家有条件的可以参加,是对自己知识的良好扩充。

话不多说。首先,需要准备两个开源的软件,分别是multiwfn和vaspkit。
下载地址: multiwfn    http://sobereva.com/multiwfn/
                 vaspkit    https://sourceforge.net/projects/vaspkit/files/Binaries/
注意:使用以上软件发表论文要恰当引用相关参考文献!
这两个软件的安装,就不详细讲了,网上很多教程。
接下来就是结合这两个软件,开始计算能带。我这里以Si为例,使用PBE泛函和DZVP-MOLOPT-SR-GTH,准备好Si的CIF,不需要扩胞。
第一步,利用multiwfn创建输入文件。进入主程序,直接输入cp2k可以直接进入输出文件编辑页面。

选择6,打开smear,方便产生费米能级。选择8,打开K点计算,这里Si输入9,9,9

选择0产生输入文件。
接下来结合我自己写的第一个脚本进行输入文件处理。
这个脚本的目的是利用vaspkit产生计算所需的高对称点,然后再写入前一步产生的输入文件中。

脚本写的我个人认为还是比较清晰的哈。输入输入文件Si.inp;然后计算的体系维度是多少就输入多少。这里硅是三维的,输入3
然后就可以产生用于计算能带结构的Si.inp的文件了,原始的inp也没有删除,命名为了Si.inp.bk。
Kcg脚本内容:
  1. #!/bin/bash

  2. ###############################
  3. ###zhaicg,zhaicg@jlu.edu.cn
  4. ##############################

  5. echo " "
  6. echo "利用vaspkit,multiwfn生成band计算文件"
  7. read -p "输入文件(需要加.inp):" flag
  8. echo " "
  9. read -p "输入维度1)1D 2)2D 3)3D:" table
  10. echo " "

  11. cp $flag $flag.bk
  12. Multiwfn $flag << EOF >/dev/null
  13. 100
  14. 2
  15. 27
  16. POSCAR
  17. 0
  18. q
  19. EOF

  20. (echo 306; echo $table) |vaspkit >/dev/null

  21. sed -n '/&PRINT/,/&END PRINT/p' KPATH.cp2k >cpkp
  22. sed 's/<NAME_HERE>.bs/BAND.bs/g' cpkp -i
  23. sed '/BAND.bs/a\\ADDED_MOS 20' cpkp -i
  24. sed '4s/^/            /' cpkp -i
  25. sed  '5d' -i cpkp

  26. sed '$d' -i $flag
  27. sed '$d' -i $flag
  28. cat cpkp >> $flag
  29. echo "  &END DFT" >>$flag
  30. echo "&END FORCE_EVAL">>$flag
  31. rm cpkp KPATH.cp2k  POSCAR  SYMMETRY
复制代码

运行CP2K进行计算。计算后会产生band.bs。即可进行能带分析。
然后,还是利用multiwfn进行后处理,载入产生的band.bs。利用cp可直接进入处理窗口。选择2,然后选择-3可以导出能带图的.txt文件,选择0,可以直接观看产生的能带结构。

接下来运行后处理脚本baf。可以对multiwfn输出的path*.txt数据进行调整,让费米能级为0。

就可以得到new_path*.txt ,用origin画图。

baf脚本内容:
  1. #!/bin/bash


  2. ###############################
  3. ###zhaicg,zhaicg@jlu.edu.cn
  4. ##############################


  5. echo " "
  6. echo "能带计算后处理,需要输出费米能级。"
  7. read -p "计算的输出文件(*.out,需要加out):" table
  8. echo " "

  9. for i in path*.txt
  10. do
  11. fm=`grep "Fermi energy:" $table | awk '{print $3*27.2113863}'`
  12. awk '{print $1}' $i > 1.f
  13. awk '{$1="";print $0 }' $i  >2.f
  14. sed "{s/^/& $fm/}" 2.f > 3.f
  15. awk '{ for (i=2; i<=NF; i++) $(i) -= $1 } 1' 3.f >4.f
  16. awk '{$1="";print $0 }' 4.f >5.f
  17. paste -d ' ' 1.f 5.f > new-$i
  18. rm  1.f 2.f 3.f 4.f 5.f
  19. done

复制代码
这些文件都打包在压缩包里了。有不对的地方希望大家多指正。

最后,只能说multiwfn,vaspkit让科研更轻松。


Si.zip

3.84 MB, 下载次数 Times of downloads: 111

评分 Rate

参与人数
Participants 3
威望 +1 eV +7 收起 理由
Reason
小可几何 + 2 赞!
madhatter + 5 好物!
sobereva + 1

查看全部评分 View all ratings

63

帖子

0

威望

702

eV
积分
765

Level 4 (黑子)

2#
发表于 Post on 2024-4-16 21:38:42 | 只看该作者 Only view this author
cp2k萌新苦能带久矣

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 19:42 , Processed in 0.213343 second(s), 26 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list