Chap.10 计算小白硬学VASP —— 材料性质计算—>能带态密度图汇总
¡Hola a todos!
本章介绍如何把能带态密度画在一起,也就是常见的能带图在左,态密度图垂直在右分布。这里需要调用的模块为BSDOSPlotter()
。
代码如下:
1 | from pymatgen.electronic_structure.plotter import BSDOSPlotter |
运行代码:
绘制元素/轨道投影
绘制能带元素投影时,需要在读取vasprun.xml
文件时增加提取投影信息的参数:Vasprun("vasprun.xml",parse_projected_eigen=True)
修改代码如下:
1 | from pymatgen.electronic_structure.plotter import BSDOSPlotter |
运行代码:
此时可以看到左边的能带图也对应显示了元素的投影。
该方法默认为band
和dos
采用元素投影,初次之外dos
还提供了轨道投影选项,需要在实例化BSDOSPlotter()
时增加dos_projection='orbitals'
参数:
1 | from pymatgen.electronic_structure.plotter import BSDOSPlotter |
运行代码:
如果只想表现TDOS,则在实例化BSDOSPlotter()
时设置dos_projection='None'
和bs_projection=None
:
1 | from pymatgen.electronic_structure.plotter import BSDOSPlotter |
运行代码:
最后,需要调整y轴范围、线条颜色,字体大小,图例大小等,都可以在实例化BSDOSPlotter()
时设置相应的参数:
- bs_projection (‘elements’ | None) – Whether to project the bands onto elements.
- dos_projection (str) – “elements”, “orbitals”, or None
- vb_energy_range (float) – energy in eV to show of valence bands
- cb_energy_range (float) – energy in eV to show of conduction bands
- fixed_cb_energy (bool) – If true, the cb_energy_range will be interpreted as constant (i.e., no gap correction for cb energy)
- egrid_interval (float) – interval for grid marks
- font (str) – font family
- axis_fontsize (float) – font size for axis
- tick_fontsize (float) – font size for axis tick labels
- legend_fontsize (float) – font size for legends
- bs_legend (str) – matplotlib string location for legend or None
- dos_legend (str) – matplotlib string location for legend or None
- rgb_legend (bool) – (T/F) whether to draw RGB triangle/bar for element proj.
- fig_size (tuple) – dimensions of figure size (width, height)
¡Muchas gracias!
- 标题: Chap.10 计算小白硬学VASP —— 材料性质计算—>能带态密度图汇总
- 作者: 炫酷老司机
- 创建于 : 2024-06-28 00:00:00
- 更新于 : 2024-07-01 15:50:58
- 链接: https://andyhox.github.io/2024/06/28/Learn-VASP-from-pymatgen-10/
- 版权声明: 欢迎个人转载、使用、转贴等,但请获得作者同意且注明出处!