||
在QE中,投影态密度计算由PP模块的projwfc程序完成。具体例子可以参考以前的一篇博文http://blog.sciencenet.cn/blog-2909108-1144722.html。算完投影态密度后,会在工作目录下生成一系列数据文件,如下图所示:
数据文件的命名遵循"prefix.pdos_atm#atomid(atomsym)_wfc#wfcid(lsym)"的格式,各项意义如下:
prefix为前缀,与自洽计算(scf)和非自洽计算(nscf, bands)输入文件中的设置一致;
atomid为原子编号,从1开始,与自洽和非自洽计算输入文件中的ATOMIC_POSITIONS一致;
atomsym为元素符号;
wfcid为计算投影所用单原子态在赝势中的编号,而非主量子数n,如2(p)代表是赝势中第二个单原子态,而不是2p态;
lsym为单原子态的符号。
每个数据文件至少含有3列数据:第一列为能量;第二列为所有磁量子数对应态密度之和;从第三列开始为各磁量子数对应的态密度。对于p轨道,排列顺序为pz, px, py;对于d轨道为dz2, dzx, dzy, dx2-y2, dxy。p轨道数据文件如下图所示:
若要画总态密度及投影态密度,则需按原子对投影数据求和。求和可以用sumpdos程序(https://github.com/yhli1016/misc/tree/master/qe/sumpdos),该程序核心为主函数main和两个辅助函数extract_atomlist及extract_atomid。main函数接收如下参数:
prefix:字符串,意义见上文;
atomid:由原子编号组成的列表,用于指定对哪些原子求和;
atomsym:字符串,意义见上文;
wfcid:整数,用于指定对哪种单原子态求和;
lsym:字符串,意义见上文;
outfile:字符串,用于指定将求和后的投影态密度写入哪个文件;
efermi:浮点数,用于指定费米能级,单位为eV。
使用该程序时需另准备一个python程序(run_sumpdos.py),例子如下:
在程序一开始导入了main函数和两个辅助函数。第5-16行设置各参数,其中第7和第8行利用辅助函数确定了磷原子对应的atomid。第17行调用main函数。借助循环,此程序可一次性计算四种磷原子轨道上的投影态密度。运行该程序后可生成P1s.dat,P2p.dat,P3d.dat和P4f.dat四个文件,每个文件的格式与原始数据文件一致。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 05:26
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社