4.5. 投影态密度¶
投影态密度计算是对体系进行一个非自洽计算,得到体系的电子态密度,并把态密度投影到每个原子及其轨道上。
注意
在计算投影态密度之前,必须先进行scf自洽计算并输出电荷密度。
4.5.1. Si的投影态密度计算输入文件¶
投影态密度计算的输入文件包含一个JSON文件、元素对应的赝势文件和电荷密度文件。 电荷密度文件需要通过先进行一个输出电荷密度的scf自洽计算来得到。
JSON文件如下:
{
"job": {
"calculation_type": "pdos"
},
"job_io": {
"rho_init": "file",
"rho_init_file": "scf_DATA/rho.hdf5",
"prefix": "pdos",
"pp_dir": ".",
"pp_files": [
"Si_ONCV_PBE_sr.upf"
]
},
"pw": {
"ecutwfc": 20,
"ecutrho": 80
},
"kpts": {
"k_type": "automatic",
"k_mesh": [
9,
9,
9
],
},
"pdos": {
"pdos_emin": -10,
"pdos_emax": 10,
"pdos_dE": 0.1,
"pdos_use_tetra": false,
"pdos_smearing_alg": "gauss",
"pdos_smearing_width": 0.01
},
"band": {
"n_empty_bands": 5
},
"cell": {
"lattice": [
6.32850049,
0,
3.65376308,
2.10949923,
5.96656808,
3.65376264,
0,
0,
7.30752373
],
"cell_units": "bohr"
},
"ions": {
"element_names": [
"Si"
],
"element_nums": [
2
],
"positions": [
[
0,
0,
0
],
[
0.75,
0.75,
0.75
]
]
}
}
JSON输入参数介绍:
JSON输入文件可以分为几个模块,这里分别是job/job_io/pw/kpts/band/pdos/cell/ions, 与态密度计算有大量相同的参数,这里只介绍一些与态密度计算不同的参数, 下面将依次进行介绍。
job模块: 用来设置和本次计算类型相关的参数。 除了计算类型外,其他参数应当尽量与scf计算中保持一致。
calculation_type
:设置计算类型,本次计算为pdos投影态密度计算。
job_io模块: 用来设置和本次计算的输入输出相关的参数。
prefix
:设置计算输出文件的前缀,这里设置为pdos。
pdos模块: 用来设置和本次计算的dos的范围和间隔相关的参数。
pdos_emin
:设置投影态密度计算时的能量最小值,单位eV。这里设置为-10。pdos_emax
:设置投影态密度计算时的能量最大值,单位eV。这里设置为20。pdos_dE
:设置投影态密度计算时的能量间隔,单位eV。这里设置为0.05。pdos_use_tetra
:设置投影态密度计算是否使用四面体法,这里设置为false。pdos_smearing_alg
:设置投影态密度计算使用的smearing算法,这里设置为gauss。pdos_smearing_width
:设置投影态密度计算时的smearing的展宽,单位为Hartree。这里设置为0.01。
4.5.2. 执行计算¶
准备好JSON文件、赝势文件和电荷密度文件之后,按照 Hylanemos运行 中的方法执行计算。
4.5.3. 计算结果分析¶
根据上述的输入文件,计算完成之后将会得到 pdos_OUT
、 pdos_OUT.json
、 pdos_PROGRESS.yaml
、
pdos_DATA/pdos.data
、 pdos_DATA/parallel_info.json
这5个文件:
pdos_OUT
:Hylanemos计算过程中输出的日志文件。pdos_OUT.json
:Hylanemos计算结束之后输出的一个文件,是对整个计算的结果的一个汇总。pdos_PROGRESS.yaml
:Hylanemos计算过程中输出一个和计算进度相关的文件。pdos_DATA/pdos.data
:Hylanemos计算结束之后输出的投影态密度数据文件。pdos_DATA/parallel_info.json
:Hylanemos计算过程中输出的并行相关的文件。
使用Matter Craft可直接对 pdos_OUT.json
文件处理,做出投影态密度图。具体的操作方法可参考 Matter Craft用户手册。
也可以使用 pdos_DATA/pdos.data
中的数据手动进行态密度图的绘制。每一列的数据意义可以参考 其他文件 中的说明。
直接使用pdos.data的数据绘制的Si计算出的投影态密度图如下: