最新新闻:

vasp计算电导率「电荷密度怎么求」

时间:2022-12-31 17:11:35来源:搜狐

今天带来vasp计算电导率「电荷密度怎么求」,关于vasp计算电导率「电荷密度怎么求」很多人还不知道,现在让我们一起来看看吧!

部分(带分解)电荷密度计算

VASP可以根据INCAR文件中规定的参数计算部分(带分解)电荷密度,英文partial(band decomposed) charge densities。需要指出的是,由VASP计算的密度(包括带分解电荷密度)是利用VASP确定的空间群和点群对称进行对称。在某些情况下(从选定的k点计算电荷),这可能导致带分解电荷密度的不理想结果。在这种情况下,需要为基态和连续的带分解电荷密度计算关闭对称性。


需要注意的是,前置步骤必须要输出WAVECAR,因为只有在预收敛的WAVECAR文件存在时才能计算部分电荷密度,计算部分电荷密度的过程类似于后处理,很快即可完成。


下面介绍部分电荷密度的五种运行模式:

这四种运行模式主要由参数NBOMD配合其他参数完成,所以首先解读一下NBOMD参数。

NBOMD:

>0 :IBAND参数设置能带的数量,如果IBAND设置了,那么NBOMD自动设置为其长度。例如下面案例1中IBAND = 20 21 22 23, 那么NBOMD默认为4。

0 :计算全部能带的电荷密度,包括未占据的能带

-1 :正常的计算总电荷密度,如果没有其他参数,这个就是默认值。平时计算的电荷密度就是这种。这个就不给案例了。

-2 :计算给定本征值范围的部分电荷密度, 能量范围由EINT给出,见下面案例3。

-3 :计算给定本征值到费米面的电荷密度,见案例4。


1.计算特定k点的特定能带的电荷密度,例如MoS2的Gamma点价带顶。

ISTART = 1 LPARD=.TRUE.#如果只设置LPARD(而不设置下面讨论的任何标签),总电荷密度将从轨道计算并写入CHGCAR。IBAND= 20 21 22 23 # 设置输出的能带KPUSE= 1 2 3 4 # 设置输出的k点, 1 2 3 4 为读取的WAVECAR计算的前4个k点,如果WAVECAR来自静态计算就是静态的前4个k点,如果WAVECAR来自band计算就是band 的前四个k点,这里k点可以任意取。LSEPB=.TRUE.# 输出能带指标格式为PARCHG.nb.LSEPK=.TRUE.# 输出k点指标格式为PARCHG.nk. (TRUE表示每个k点分开输出,FALSE表示给定的1 2 3 4 k点加起来输出,上面的LSEPB同样的道理)

2.计算所有能带的电荷密度,包含未占据轨道

ISTART = 1 LPARD=.TRUE. NBOMD = 0

3.计算特定能量范围的电荷密度

ISTART = 1 LPARD=.TRUE.EINT = -10.3 -5.1# 设置你需要的能量范围,没有减费米面之前的,注意这里是两个值LSEPB=.FALSE.# 可以不设置,因为默认值就是FALSELSEPK=.FALSE.# 可以不设置,因为默认值就是FALSE

4.计算给定能量到费米面之间的电荷密度

ISTART = 1 LPARD=.TRUE.EINT = -10.3 # 同第二种情况,不同点在于只设置一个值,代表计算这个值到费米面之间的能量范围。LSEPK=.FALSE.

参数注意点:

LPARD:可赋予的值为.TRUE.或.FALSE.,它的默认值是.FALSE.,当为.TRUE.时,表示读入自洽收敛的CHGCAR和WAVECAR并进行Band decomposed charge density计算。如果只设置LPARD(而不设置下面讨论的任何标签),总电荷密度将从轨道计算并写入CHGCAR。

IBAND:设置想要计算的第几条能带或哪几条能带(比如要计算第4、5、6条能带,那么就设置IBAND = 4 5 6)。此时NBMOD的值就是所要计算的能带的条数(本例中,计算三条能带,那么设置为3)。它和EINT不能一起用。

EINT:用于指定计算某能量范围的Band decomposed charge density,一般是设置为两个实数,比如EINT= 4.00 5.00。如果设置了EINT没有设置NBOMD,那么NBOMD自动设置为-2。如果只设置了一个数,那么表示计算从EINT到费米能级这个范围内的部分电荷密度,此时NBOMD的值为-3.

KPUSE:设置输出的k点, 1 2 3 4 为读取的WAVECAR计算的前4个k点,如果WAVECAR来自静态计算就是静态的IBZKPT前4个k点,如果WAVECAR来自band计算就是band路径的前四个k点,这里k点可以任意取。

LSEPB:设置是否要把计算的partial charge density按每个带分别写到各自对应的文件PARCHG.nb.* (设置为.TRUE.)中,还是把它们合并写到一个文件中 PARCHG.ALLB.* 或PARCHG. (相当于把各个带对应的partial charge density加起来,设置为.FALSE.)。默认值为.FALSE.。

LSEPK:设置是否要把计算的partial charge density按每个k分别写到各自对应的文件PARCHG.nk.* (设置为.TRUE.)中,还是把它们合并写到一个文件中(相当于把各个带对应的partial charge density加起来,设置为.FALSE.)。默认值为.FALSE.。


关注我们

做计算,学计算,计算就找天玑算;

你省心,我上心,天玑算让你更放心。

声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。

图文推荐

热点排行

精彩文章

热门推荐