https://blog.csdn.net/yong1585855343/article/details/109823300
anaconda (Python3 版本)
chen@chen225:~/3_band> ls
CONTCAR get_effective_mass.py KLINES.dat log output PROCAR vasprun.xml
DOSCAR INCAR KPOINTS OSZICAR PCDAT REFORMATTED_BAND.dat vtotav.py
EIGENVAL input LOCPOT OUTCAR POSCAR REPORT XDATCAR
FERMI_ENERGY KLABELS LOCPOT_Z OUTCAR_band POTCAR time.info
chen@chen225:~/3_band> vaspkit -task 211
+---------------------------------------------------------------+
| VASPKIT Version: 1.2.0 (20 Aug. 2020) |
| Running VASPKIT Under Command-Line Mode |
+---------------------------------------------------------------+
-->> (01) Reading Input Parameters From INCAR File...
oooooooooo The Fermi Energy will be set to zero eV oooooooooooooo
-->> (02) Reading Fermi-Energy from DOSCAR File...
-->> (03) Reading Structural Parameters from POSCAR File...
-->> (04) Reading Energy-Levels From EIGENVAL File...
-->> (05) Reading K-Paths From KPOINTS File...
-->> (06) Written BAND.dat File!
-->> (07) Written REFORMATTED_BAND.dat File!
-->> (08) Written KLINES.dat File!
-->> (09) Written KLABELS File!
-->> (10) Written BAND_GAP File!
+---------------------------------------------------------------+
| * CITATIONS * |
| If You Find VASPKIT Code Useful in Your Work, PLEASE Cite: |
| [1] V. WANG, N. XU, J.C. LIU, G. TANG, W.T. Geng, VASPKIT: A |
| User-Friendly Interface Facilitating High-Throughput Computing|
| and Analysis Using VASP Code, arXiv:1908.08269 (2019) |
+---------------------------------------------------------------+
脚本链接:
https://github.com/Chenzhiyong47/VASP/blob/main/scripts/get_effective_mass.py
k-points along high symmetry lines
80
Line mode
Rec
0 0 0 ! G
0.5 0 0 ! X
0.5 0 0 ! X
0.5 0.5 0 ! S
0.5 0.5 0 ! S
0 0.5 0 ! Y
0 0.5 0 ! Y
0 0 0 ! G
K_lists = [80, 80, 80, 80]
def __init__(self, num_sample_points=3):
python3 get_effective_mass.py
chen@chen225:~/3_band> python3 get_effective_mass.py
第 1 条路径的 VBM 的有效质量: -2.63613 m0
第 2 条路径的 VBM 的有效质量: -5.66817 m0
第 3 条路径的 VBM 的有效质量: -2.08253 m0
第 4 条路径的 VBM 的有效质量: -1.99425 m0
第 1 条路径的 CBM 的有效质量: 0.18930 m0
第 2 条路径的 CBM 的有效质量: 0.28097 m0
第 3 条路径的 CBM 的有效质量: 0.19301 m0
第 4 条路径的 CBM 的有效质量: 0.18294 m0
......
VBM: 里面放着最高价带的数据
chen@chen225:~/3_band> cat VBM
K bands
0 2.42152 -0.186250
1 2.41591 -0.186102
2 2.41030 -0.185659
3 2.40469 -0.184932
4 2.39908 -0.183932
5 2.39347 -0.182678
6 2.38786 -0.181191
7 2.38225 -0.179495
.
.
.
CBM: 里面放着最低导带的数据
chen@chen225:~/3_band> cat CBM
K bands
0 0.00000 1.289283
1 0.00972 1.291278
2 0.01943 1.297230
3 0.02915 1.307045
4 0.03887 1.320572
5 0.04858 1.337613
6 0.05830 1.357930
7 0.06801 1.381264
8 0.07773 1.407335
9 0.08745 1.435859
.
.
.
In [30]: c = -1.439 # 二次系数
In [31]: from scipy.constants import physical_constants
...:
...: eV_to_hartree = physical_constants['electron volt-hartree relationship'][0]
...: bohr_to_m = physical_constants['Bohr radius'][0]
...: angstrom_to_bohr = bohr_to_m / 1e-10
In [32]: cof_ = angstrom_to_bohr**2 / eV_to_hartree # 单位转换系数
In [33]: effective_mass = 1 / 2 / c * cof_
In [34]: effective_mass
Out[34]: -2.6476595664633207