VASP中文网站 > 新手入门 > VASP态密度图在哪里生成 VASP态密度结果和能带怎么对应
VASP态密度图在哪里生成 VASP态密度结果和能带怎么对应
发布时间:2026/05/29 15:00:25

  VASP的态密度图要在哪里生成,还有好不容易算出来的态密度结果,又要怎么去跟能带图对应上,这两个问题是很容易被混在一起看的,一次VASP计算跑完之后,它并不会直接给出一张现成的图片,真正被算出来的东西,其实是像DOSCAR和vasprun.xml这样的数据文件,我们想要的图,是需要拿着这些数据,再用别的后处理工具去画出来的,在那个DOSCAR文件里面,会写出能量、态密度,还有积分的态密度这几样东西,而控制态密度能量网格数量的,是另一个专门的参数,至于想看哪个能量范围内的结果,也可以再通过两个额外的参数去调整。

  一、态密度图是在哪里生成的

 

  VASP的态密度图,可不是在软件的界面上随手点一点就能出来的,它是需要我们先在计算的目录里面,去把输出的那些文件给读出来,然后再去画图的,一套比较常见的流程,是先做结构的优化,再做静态的自洽计算,接着做态密度的专门计算,最后才是拿着数据去做后处理来出图。

 

  1、要先把结构的优化给做完

 

  在一开始,得先用一套正常的K点网格和参数设置,把结构给它优化到收敛了,拿到一个已经稳定下来的结构文件,后面要做的态密度计算,全都要基于这个稳定下来的结构,不要拿着一个还没收敛好的结构,就直接去画态密度图,因为那样画出来的话,无论是峰的位置,还是对带隙的判断,全都会受到影响。

 

  2、接下来再去做一次静态的自洽计算

 

  把上一步优化完得到的那个结构文件,复制成新的输入结构文件,然后在参数设置里,把离子步给关掉,把离子优化的算法也设成不做优化,再找一个比较合理的能量截断值,还有K点网格的密度,去把这一次静态计算给跑完,好得到一个可靠的电荷密度文件、波函数文件,还有那个非常关键的费米能级的信息。

 

  3、单独地去做一次态密度计算

 

  用来做态密度计算的K点网格,通常是需要比前面更密一些的,在VASP的示例里也提到过,可以先拿一套比较稀疏的K点去把计算收敛了,然后再去增加用来算态密度的K点数量,同时,要在参数里把电荷密度那一项,设置成去读取上一步已经算好的那个电荷密度,算完了以后,结果会被写在DOSCAR那个文件里,当然,它也同样可以从那个结构化的输出文件里给提取出来。

 

  4、去把投影态密度的参数给设好

 

  要是你只是想看一个总的态密度,那么DOSCAR里面的数据,其实就已经够用了;可要是你还想进一步地去看一看,每一个元素,甚至是每一类轨道的贡献,那就需要去专门设置一下投影态密度相关的参数了,比如说,用一个很常见的设置,去让它把那些分波的信息给生出来,这样,到了后面去画图的时候,就可以把s轨道、p轨道、d轨道,或者是不同原子的贡献,给分开来表示了。

 

  5、用一些后处理的工具来把图画出来

 

  比较常用的做法,是去用像VASPKIT、p4vasp这样的工具,或者自己写Python的脚本、用gnuplot、Origin这类软件来画,VASP它负责做的事情,是把数据给生成好,而画图的工具,则负责去把DOSCAR或者那个结构化的输出文件给读进去,然后再把能量轴、态密度的曲线、费米能级的位置,还有图例这些,都给整理成,最后能放进论文或者报告里的那种图。

 

  二、态密度的结果和能带要怎么对应

 

  要让态密度的结果和能带图能够对得上,一个最关键的地方,就是让它们的能量零点保持一致、计算时候的参数设置保持一致、体系的结构,还有交换关联泛函,这些都要保持一致,很多的时候,你看着两张图好像对不上,其实并不是物理上的结果有什么矛盾,而是它们背后用的费米能级、能带计算时走的K点路径,还有态密度用的网格,这几样东西给搞混了。

 

  1、要把费米能级给统一起来

 

  在画图的时候,通常会把能量的坐标轴做一下处理,让费米能级所处的位置,刚好就在能量的零点上,态密度的图和能带的图,都必须使用同一个参考值来做这件事,不然的话,带隙的位置、导带的最低点,还有价带的最高点,这些地方就会出现很明显的错位。

  2、把态密度和能带计算所用的K点,给区分清楚

 

  态密度的计算,它需要的是那种密密麻麻的、分布很均匀的K点,这么做的目的,是为了去统计,在一个特定的能量区间里面,到底有多少个电子的状态;而能带的计算,它需要的是,沿着某一条高对称的路径去取的K点,这么做的目的,是要去看电子的能量,它是怎么随着波矢的变化而变化的,这两类K点的用途,是完全不一样的,不该拿着算能带的那种路径上的K点,去算一个可靠的态密度出来。

 

  3、费米能级这个东西,不要把它给取错了

 

  在VASP的官方文档里,是特别提醒过的,说费米能级,是不能依靠着高对称路径上的那种K点,去可靠地计算出来的;我们去画能带图的时候,那一条一条的能带,本身确实是来自于高对称路径的计算,但是被拿来做参考的那个费米能级,它应该是从自洽计算,或者是用了更密K点收敛之后的结果里得到的,这一条,在算金属体系的时候,是尤其容易出问题的。

 

  4、在算半导体的时候,可以用价带的顶部来做对齐

 

  在半导体和绝缘体里面,费米能级它是落在带隙中间的,可具体落在哪个位置,它并不是唯一确定的,VASP的官方文档也说过了,在半导体带隙里面的费米能级,它并不具备唯一性,因此,还专门推荐了一种,把费米能级取在带隙正中间的做法,如果你在论文里的分析,更关心的是带隙本身,那也可以不去管那个费米能级,直接把价带的顶部,给对齐到能量的零点上去,然后再去比较态密度和能带。

 

  三、态密度和能带对不上的时候要怎么去排查

 

  当你发现态密度和能带图对不上的时候,先不要急着去怀疑是材料本身有什么问题,要先去查一查输入的模型文件、能量的参考基准,还有整个计算的流程,因为很多的问题,其实是出在了前期的处理,还有作图的那个环节上。

 

  1、去检查一下它们用的结构,是不是一致的

 

  用来算态密度和算能带的,必须得是同一个初始结构,或者是同一套优化流程跑出来的结果,要是态密度的计算,用的是以前的一个旧结构,而能带的计算,用的是后面重新优化的新结构,那峰的相对位置,还有带隙的大小,就很容易对不上。

 

  2、去检查一下它们用的参数,是不是都一样的

 

  像能量的截断值、所用的赝势、交换关联泛函的类型、有没有加在位库仑排斥的修正、是怎么设置自旋的,还有有没有考虑自旋轨道耦合,这些参数都必须得一模一样,只要这中间有任何一个发生了改变,那态密度和能带的结果,就不能被直接放在一起去解释。

 

  3、去检查一下能量的坐标轴,是不是做过平移了

 

  要去确认一下,你拿来画图的脚本,是不是已经把费米能级给减掉了,有些画图的工具,它会默认地把费米能级放在能量的零点上,而有些工具,它画出来的就是原始的数据,什么处理都没做,要是两张图,一个已经平移过了,另一个还原封不动地留在那里,那放在一起看的时候,是肯定对不上的。

 

  4、用那些投影的信息,来辅助判断

 

  态密度图上的一个峰,它并不是对应着能带图上某一条具体的能带,这么简单地照搬过来的,它其实是很多很多个能级,在同一个能量区间里面,统计出来的一个结果,在能带图上看着很平、不怎么动的能带,通常在态密度图上,就会对应着一个比较高的峰;而那些看着很陡、很分散的能带,它们对应的态密度峰,往往就不那么明显了,另外,用投影态密度,还可以帮着我们去判断,某一个峰,它到底主要是来自哪一种原子,或者是哪一类轨道的贡献。

  总结

 

  关于VASP的态密度图是在哪里生成的,答案是,先在计算的那个目录底下,拿到DOSCAR或者是那个结构化的输出文件,然后再拿着这些数据,用后处理工具去把它给画出来;而态密度的结果和能带又要怎么去对应,这里面最关键的就是,要统一结构、统一参数、统一费米能级,还有统一能量的零点,态密度,它看的是电子态在能量上是如何分布的,而能带,它看的是在倒空间不同位置上的能级变化,这两样东西,并不是让你拿着线去跟线,这么一一对应着画的,而是要从统计给出的结果,和高对称路径上能带结构的变化,这两个不同的角度,一起来解释材料的电子结构。

读者也访问过这里:
135 2431 0251