AMSET计算不同散射机制下载流子迁移率
收录于合集#amset#迁移率#vasp20个#软件6个

AMSET可根据第一性原理输入来计算固态半导体和绝缘体载流子散射率。扩展了现有的极性和非极性电子-声子耦合、离子化杂质和基于各向同性能带结构的压电散射机制的公式以支持高度各向异性的材料。可在高通量计算工作流程中使用,以精确筛选载流子迁移率、寿命和热电功率。
软件下载地址:
https://github.com/hackingmaterials/amset
本文以软件example为基础,整理计算得到不同散射机制下载流子迁移率流程。
amset手册中提到计算考虑的散射机制有
Acoustic deformation potential scattering (ADP)、
Piezoelectric scattering( PIE)、
Polar optical phonon scattering(POP)、
Ionized impurity scattering(IMP)
https://hackingmaterials.lbl.gov/amset/scattering/

以example中GaAs文件夹中的vasprun.xml文件中的信息,可提取出提交计算的INCAR设置内容。

以此为基础,计算使用的INCAR设置为
Global Parameters
ISTART = 1 (Read existing wavefunction, if there)
ISPIN = 1 (Non-Spin polarised DFT)
# ICHARG = 11 (Non-self-consistent: GGA/LDA band structures)
LREAL = .FALSE. (Projection operators: automatic)
ENCUT = 400 (Cut-off energy for plane wave basis set, in eV)
PREC = Accurate (Precision level: Normal or Accurate, set Accurate when perform structure lattice relaxation calculation)
LWAVE = .TRUE. (Write WAVECAR or not)
LCHARG = .TRUE. (Write CHGCAR or not)
ADDGRID= .TRUE. (Increase grid, helps GGA convergence)
LVTOT = .TRUE. (Write total electrostatic potential into LOCPOT or not)
LVHAR = .TRUE. (Write ionic + Hartree electrostatic potential into LOCPOT or not)
Electronic Relaxation
ISMEAR = 0 (Gaussian smearing, metals:1)
SIGMA = 0.001 (Smearing value in eV, metals:0.2)
NELM = 90 (Max electronic SCF steps)
NELMIN = 6 (Min electronic SCF steps)
EDIFF = 1E-08 (SCF energy convergence, in eV)
# GGA = PS (PBEsol exchange-correlation)
Ionic Relaxation
NSW = 00 (Max ionic steps)
IBRION = -1 (Algorithm: 0-MD, 1-Quasi-New, 2-CG)
ISIF = 3 (Stress/relaxation: 2-Ions, 3-Shape/Ions/V, 4-Shape/Ions)
EDIFFG = -2E-02 (Ionic convergence, eV/AA)
ISYM = 0 (Symmetry: 0=none, 2=GGA, 3=hybrids)
LORBIT =11
- 在文件夹README.md文件中作者提到计算所使用的为Γ中心的17x17x17 KPOINTS
INCAR中需要设置LWAVE = .TRUE. 以获得WAVECAR,
amset wave
然后获得wavefunction.h5文件,作为后续amset运行的输入文件。
可手动编写一个settings.yaml或python脚本执行amset计算,获得材料能带、态密度、弹性常数、电运输性质(包括电导率,Seebeck系数,迁移率等)。同时可设置考虑不同散射机制下的迁移率的计算。
example中GaAs文件夹中的settings.yaml文件如下,
# general settings
doping: [-3.e13]
temperatures: [201, 290, 401, 506, 605, 789, 994]
bandgap: 1.33
scattering_type: auto
# electronic_structure settings
interpolation_factor: 50
# material settings
deformation_potential: [1.2, 8.6]
elastic_constant: 139.7
high_frequency_dielectric: 10.32
pop_frequency: 8.16
static_dielectric: 12.18
# performance settings
mobility_rates_only: true
write_mesh: true
调用执行命令为
amset run
可自动读取并计算。后续画图可执行
amset plot rates mesh_99x99x99.h5
该文件夹中存在GaAs.py脚本,可直接python执行完成计算和绘图过程,内容如下,使用时请注意vasprun.xml文件路径
import warnings
from amset.core.run import Runner
from amset.plot.rates import RatesPlotter
warnings.simplefilter("ignore")
settings = {
# general settings
"doping": [-3e13],
"temperatures": [201, 290, 401, 506, 605, 789, 994],
"bandgap": 1.33,
# electronic_structure settings
"interpolation_factor": 50,
# scattering rate settings
"deformation_potential": (1.2, 8.6),
"elastic_constant": 139.7,
"donor_charge": 1,
"acceptor_charge": 1,
"static_dielectric": 12.18,
"high_frequency_dielectric": 10.32,
"pop_frequency": 8.16,
# performance settings
"mobility_rates_only": True,
"write_mesh": True,
}
if __name__ == "__main__":
runner = Runner.from_vasprun("vasprun.xml.gz", settings)
amset_data = runner.run()
plotter = RatesPlotter(amset_data)
plt = plotter.get_plot()
plt.savefig("GaAs_rates.png", bbox_inches="tight", dpi=400)
具体设置和修改可参考软件网站官方文档内容。
https://hackingmaterials.lbl.gov/amset/settings/
运算过程如下






中间会有进度条显示,计算使用的资源适中,占用内存约为10-20GB,推荐使用服务器或者性能尚可的节点计算。
结果与数据图片如下,数据文件会写入到transport.json mesh.h5文件中,可为后续绘图使用。




绘图方法和技巧可自行学习了解amset plot 功能。
本号不定期发布有关DFT计算相关内容,主题多变且不固定。 欢迎分享推送,将教程与经验传播给需要的人。 如对教程内容有疑问,或者有需要咨询,可后台留言或联系作者:hn_87165 同时如想加入交流群,也可添加作者并说明。 最后,如果您有DFT计算相关经验,愿意写相关的教程,也可以联系作者投稿。
引喻失义 妄自菲薄