计算化学公社

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

[CP2K] 请问cp2k如何通过能带折叠出DOS

[复制链接 Copy URL]

210

帖子

3

威望

2110

eV
积分
2380

Level 5 (御坂)

使用cp2k计算一个半导体体系的能带图和DOS时,根据教程,分别使用了两个方法计算能带和DOS

DOS的计算,在&DFT部分加入

      &PRINT
         &PDOS
            # print all projected DOS available:
            NLUMO -1
            # split the density by quantum number:
            COMPONENTS
         &END
      &END PRINT


输出.pdos文件,之后进行转化绘制DOS图

对于能带的计算,增加&BAND_STRUCTURE部分并且指定k点路径进行能带图计算,每个路径的点设置为10

但是DOS计算应该是基于HOMO-LUMO进行展宽得到的,与能带计算结果并不十分相符,很多地方能带为0的部分因为DOS的展宽出现了一定的峰,请问一下各位老师有没有什么办法可以通过能带折叠出DOS呢?DOS/能带计算结果如下所示


DOS-BS.png (262.69 KB, 下载次数 Times of downloads: 17)

DOS-BS.png

6万

帖子

99

威望

6万

eV
积分
125137

管理员

公社社长

2#
发表于 Post on 2022-9-21 20:12:08 | 只看该作者 Only view this author
目前没有结合CP2K做反折叠的程序
在Multiwfn里绘制DOS可以设置FWHM,不希望展得太宽就设小点
使用Multiwfn绘制态密度(DOS)图考察电子结构
http://sobereva.com/482http://bbs.keinsci.com/thread-13242-1-1.html
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

210

帖子

3

威望

2110

eV
积分
2380

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2022-9-22 15:18:32 | 只看该作者 Only view this author
sobereva 发表于 2022-9-21 20:12
目前没有结合CP2K做反折叠的程序
在Multiwfn里绘制DOS可以设置FWHM,不希望展得太宽就设小点
使用Multiwf ...

好嘞,谢谢sob老师

看来即使cp2k能算能带图了,想要得到严格意义上的DOS还是得用QE或者VASP?

1155

帖子

0

威望

4427

eV
积分
5582

Level 6 (一方通行)

4#
发表于 Post on 2022-9-22 16:22:10 | 只看该作者 Only view this author
DOS计算应该是基于HOMO-LUMO进行展宽得到的

这句话的依据是什么?

很多地方能带为0的部分因为DOS的展宽出现了一定的峰

这句话的依据又是什么?

如果你知道 DOS (density of states)态密度的定义,并且理解态密度和能带之间的关系,应该就不会说出上面的话。

态密度是单位能量间隔里的状态数。

将态密度图和能带结构图绘制在一起,你应该能发现,两张图的纵坐标是相同的,都是能量。

能带结构图中(横着看),如果能带的线条比较平,那么单位能量间隔里的状态数就多;于是,对应在相同能量间隔里,态密度就出现陡峭的峰。

反之,如果能带的线条较倾斜,那么单位能量间隔里的状态数就少,于是,对应在相同能量间隔里,态密度就较平缓。

建议你看看霍夫曼教授(Roald Hoffmann, 1981年诺贝尔化学奖)写的 “Solids and Surfaces: A Chemist's View of Bonding in Extended Structures” 这本书(有中文翻译版《固体与表面》),对于理解基本概念会有较大的帮助。

210

帖子

3

威望

2110

eV
积分
2380

Level 5 (御坂)

5#
 楼主 Author| 发表于 Post on 2022-9-22 20:49:20 | 只看该作者 Only view this author
乐平 发表于 2022-9-22 16:22
这句话的依据是什么?

第一句话是根据脚本信息内容(将cp2k输出的pdos处理为可以绘图的数据,有一个控制展宽的参数)及sob老师之前的博文中提到的孤立体系TDOS计算是基于HOMO-LUMO用高斯展宽进行的,我个人认为 cp2k 程序中DOS的计算是基于此进行的

脚本内容讨论
sob老师博文

第二句话可以从图中很明显看出来,此时脚本中使用的展宽参数是0.5,在-1.5左右的地方很明显能带是没有的,但是在右边的DOS图中直至-1.5直至-1都出现了一定的占据。因为对能带进行反折叠能够更加严格的DOS,不存在展宽参数设置的任意性,所以我发出了这个帖子提出了这个问题,希望得到更加准确的结果

3809

帖子

3

威望

1万

eV
积分
20343

Level 6 (一方通行)

围观吃瓜群众

6#
发表于 Post on 2022-9-23 04:49:24 | 只看该作者 Only view this author
1、你的展宽即FWHM太大了,这样足够距离的两个窄峰因为大展宽也会导致看上去禁带宽很小。如果FWHM你都设置很小可能得考虑自洽计算的时候的展宽也不能太大。

2、如果只能用Gamma点也没关系,但是必须得足够大的超胞才能在数值计算有与小晶胞多k点呈现对应关系,即超胞算的态密度应该是单胞的Na*Nb*Nc倍。原理上说是这样,单位能级区间内的状态(可以是电子或者空穴)数目,当超胞足够大时和小晶胞足够的k点理论上两者的能级是相同的,而相同能级区间随着晶胞扩展应该是广延的。因此对DOS而言也不需要像能带那样去做折叠。

3、CP2K理论上可以使用多k点自洽,为啥不能多k点去计算(P)DOS?

4、绘制DOS就需要展宽设置,即便从小晶胞去算也有这个问题,原因从上。如果你希望算精确的DOS,对于小晶胞来说是在自洽计算中使用四面体积分或者足够小的展宽并设置足够大的k点,而对于超胞方法则对应于自洽计算中使用足够小的展宽配合足够足够大的超胞。这样,前者要对k点充分测试,后者则需要对超胞进行充分的测试,对于金属性体系如果不使用展宽可能两者都会很大很大。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

6万

帖子

99

威望

6万

eV
积分
125137

管理员

公社社长

7#
发表于 Post on 2022-9-23 05:29:41 | 只看该作者 Only view this author
Eudaimonia 发表于 2022-9-22 15:18
好嘞,谢谢sob老师

看来即使cp2k能算能带图了,想要得到严格意义上的DOS还是得用QE或者VASP?

CP2K虽然支持考虑k点得到能带,但是不直接支持考虑k点给出DOS,即目前版本的CP2K还只能是用足够大的超胞做gamma点计算展宽得到DOS。只要展宽方式得当,还是能得到有意义的DOS的

如果考虑k点得到严格的DOS,还是需要用QE等程序。

CP2K这个局限性,只要开发者有心去弄,其实是简单的事,但愿以后有开发者愿意抽时间整好这部分。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

3809

帖子

3

威望

1万

eV
积分
20343

Level 6 (一方通行)

围观吃瓜群众

8#
发表于 Post on 2022-9-23 06:35:53 | 只看该作者 Only view this author
本帖最后由 卡开发发 于 2022-9-23 15:06 编辑
Eudaimonia 发表于 2022-9-22 20:49
第一句话是根据脚本信息内容(将cp2k输出的pdos处理为可以绘图的数据,有一个控制展宽的参数)及sob老师之 ...



下面的程序可能有助于你理解展宽对“观察”gap的影响:
  1. import matplotlib.pyplot as plt
  2. import numpy as np

  3. # 展宽函数
  4. def gauss(E,mu,sigma):
  5.         line=1/np.pi/sigma*np.exp(-(E-mu)**2/sigma**2)
  6.         return line

  7. # 根据占据信息产生DOS
  8. def plot_dos(sigma,occ,E_window,smear):
  9.         E=np.linspace(*E_window)
  10.         DOS=E*0.0
  11.         for o in occ:
  12.                 # 此处从简按照Gamma点考虑
  13.                 # 多k点需要各k点能级和占据数信息,然后[doge]
  14.                 line=o[1]*smear(E,o[0],sigma)
  15.                 DOS+=line
  16.         plt.plot(E,DOS,label='$\sigma = %.1f'%sigma)

  17. # 绘制的能量窗口宽度
  18. E_window=[-6,6,1000]
  19. # 占据信息:[能级,占据数]
  20. occ=[[-1,2],[1,2]]
  21. #绘制不同的sigma值
  22. for s in [0.8,0.4,0.2,0.1]:
  23.         plot_dos(s,occ,E_window,gauss)
  24. #显示标签
  25. plt.xlabel("$E(eV)")
  26. plt.ylabel("$DOS(a.u.)")
  27. plt.legend(loc='best')
  28. plt.show()
复制代码




日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

1155

帖子

0

威望

4427

eV
积分
5582

Level 6 (一方通行)

9#
发表于 Post on 2022-9-23 09:37:47 | 只看该作者 Only view this author
Eudaimonia 发表于 2022-9-22 20:49
第一句话是根据脚本信息内容(将cp2k输出的pdos处理为可以绘图的数据,有一个控制展宽的参数)及sob老师之 ...

你的表达存在模糊不清的问题……

你前面说
很多地方能带为0的部分因为DOS的展宽出现了一定的

注意,是

而你现在说
此时脚本中使用的展宽参数是0.5,在-1.5左右的地方很明显能带是没有的,但是在右边的DOS图中直至-1.5直至-1都出现了一定的占据

注意,是展宽

这两种表达是完全不同的概念

210

帖子

3

威望

2110

eV
积分
2380

Level 5 (御坂)

10#
 楼主 Author| 发表于 Post on 2022-9-23 14:49:26 | 只看该作者 Only view this author
卡开发发 发表于 2022-9-23 04:49
1、你的展宽即FWHM太大了,这样足够距离的两个窄峰因为大展宽也会导致看上去禁带宽很小。如果FWHM你都设置 ...

谢谢卡开发发老师的指点;

1.这里还是不太理解
如果FWHM你都设置很小可能得考虑自洽计算的时候的展宽也不能太大。
在自洽计算的时候如何关于展宽的参数可能有什么呢?

2.是的,一般能够算的动的情况下,我使用Gamma点计算时会根据原来k点的设置,将晶胞转化为超胞(如331的k点会用331的超胞),但是在cp2k软件下后处理还是使用脚本对数据进行展宽

3.第二点的后半部分和第三点合并,使用较大超胞的原因主要是旧版本的cp2k是不支持设置k点的同时输出pdos,新版本可能有所改进,我后续会进行系列测试

4.是的,但是现在好像没有现成的脚本/程序对照,可以直接用现有的体系对比能带反折叠得到的DOS和直接计算并且配合足够大的k点/超胞配合足够小的展宽得到的DOS进行对比,可能还需要从文献里找找合适的例子

210

帖子

3

威望

2110

eV
积分
2380

Level 5 (御坂)

11#
 楼主 Author| 发表于 Post on 2022-9-23 14:56:34 | 只看该作者 Only view this author
乐平 发表于 2022-9-23 09:37
你的表达存在模糊不清的问题……

你前面说

不好意思,是我的表达有问题,这个峰用的非常不应该

3809

帖子

3

威望

1万

eV
积分
20343

Level 6 (一方通行)

围观吃瓜群众

12#
发表于 Post on 2022-9-23 15:05:16 | 只看该作者 Only view this author
Eudaimonia 发表于 2022-9-23 14:49
谢谢卡开发发老师的指点;

1.这里还是不太理解  在自洽计算的时候如何关于展宽的参数可能有什么呢?

1、展宽在自洽过程和绘制DOS都会涉及,其中自洽部分的展宽是进行BZ积分的时候引入的,也就是你一般计算输入的smearing之类的参数。
2&3、我不确定cp2k是否能输出不同k点的本征值和相应的占据数,否则理论上也能处理。
4、自洽场部分采用小展宽以及绘图的时候也用比较小的展宽就好了,DOS的这种广延性质是严格的(除非都没测试收敛)。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

210

帖子

3

威望

2110

eV
积分
2380

Level 5 (御坂)

13#
 楼主 Author| 发表于 Post on 2022-9-24 14:00:24 | 只看该作者 Only view this author
卡开发发 发表于 2022-9-23 15:05
1、展宽在自洽过程和绘制DOS都会涉及,其中自洽部分的展宽是进行BZ积分的时候引入的,也就是你一般计算输 ...

懂了,谢谢老师;

本版积分规则 Credits rule

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

GMT+8, 2026-2-20 15:44 , Processed in 0.234605 second(s), 23 queries , Gzip On.

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