LOBSTER态密度、电荷与半芯态
以Si和Na_sv说明TDOS、PDOS、Mulliken和Löwdin电荷的操作与电子数核对。
阅读本篇目录
同一次局域投影可以输出DOS、原子轨道分辨PDOS以及Mulliken、Löwdin电荷。先确认赝势实际包含哪些电子,再讨论布居;对于含半芯态的赝势,局域基组不能只凭化学价态随意删轨道。
1 查看电荷和DOS#
完成输入准备的任务后:
head work/p100/si/reference/CHARGE.lobster
head work/p100/si/reference/data/charges.csv
head work/p100/si/reference/data/dos.csv
bash plot.sh work/p100/si/reference/data si-dos
CSV中的电荷单位为电子电荷e,正值表示相对于所采用中性参考的电子亏损;Mulliken和Löwdin是不同的布居划分。Si本例两原子电荷接近零,电荷和为零。某一种划分的小数点位数多,不等于具有相同位数的物理精度。
2 Na_sv的完整输入#
在资料包根目录查看完整输入:
cat inputs/na/INCAR
cat inputs/na/POSCAR
cat inputs/na/lobsterin
Na的POSCAR:
Na bcc semicore teaching
1.0
-2.115 2.115 2.115
2.115 -2.115 2.115
2.115 2.115 -2.115
Na
1
Direct
0 0 0
对应BCC晶格常数4.23 Å。KPOINTS为Gamma中心7 7 7,完整格式与Si相同。INCAR保留Si例的其余设置,以下几项改为:
SYSTEM=Na1-sv actual LOBSTER workflow
NBANDS=12
ISMEAR=0
SIGMA=0.2
这是高斯展宽静态计算。完整、可直接运行的INCAR在inputs/na/INCAR,不是要求把上述四行当成全部输入。赝势选择Na_sv,ZVAL=9。lobsterin:
COHPStartEnergy -80
COHPEndEnergy 20
COHPSteps 5000
basisSet pbeVaspFit2015
basisFunctions Na 2s 2p 3s
gaussianSmearingWidth 0.2
printTotalSpilling
useDecimalPlaces 8
cohpGenerator from 0.1 to 3.9
writeBasisFunctions
saveProjectionToFile
这里2s一个、2p三个、3s一个,共5个局域函数。ZVAL=9是赝势参与计算的电子数,5是局域空间函数数目,两者不是同一个计数。闭壳层半芯电子加价电子,共9电子/原胞。
3 宽能量窗为什么重要#
head work/p100/na/reference/data/dos.csv
bash plot.sh work/p100/na/reference/data na-dos

只画费米能附近几电子伏会看不到Na的2s、2p半芯态。先看完整−80至20 eV范围,再放大价电子区域;全能窗占据DOS积分约8.9944电子/原胞,接近9。本例有限展宽和能量网格下不强制把密度乘系数归一到9。
Si对应积分约8.00002电子/原胞。DOS的数值单位是每原胞每eV的态数,不是每原子的态数;需要按每原子表示时再除以原胞原子数,并明确标注。
Na本例Mulliken与Löwdin电荷约**+0.00001105 e**,不能把它当成Na形成了这一精确数值的化学氧化态。改变基组、赝势和布居方法都会影响电荷。
4 用pymatgen读原生文件#
在配套pymatgen环境、包含原生输出的目录中:
from pymatgen.io.lobster.outputs import Doscar, Charge
from pymatgen.electronic_structure.core import Spin
d = Doscar(doscar="DOSCAR.lobster", structure_file="CONTCAR")
q = Charge(filename="CHARGE.lobster")
print(d.tdos.efermi)
print(d.energies[:5])
print(q.mulliken, q.loewdin)
这里d.tdos.efermi为0,数据轴已经是E−Ef。积分到0时应在最后一个区间插值;PDOS求和只加各原子轨道列,不要把总DOS再加一次。布居电子数、DOS积分、VASP总电子数应分别检查,不能用强制归一掩盖不完整的基组或能量窗。
输入准备 · COHP与ICOHP · COOP、COBI与轨道 · DOS与电荷 · 基组与投影质量 · 键长分布与辅助输出 · 缓存与结果导出