AMSET专题

AMSET电导有效质量与SOC格式转换

用真实Si能带计算电导有效质量,解释温度、净掺杂和平均方式,再演示形变势带数兼容转换。

更新于 2026-11-07约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

amset eff-mass计算由电导与载流子浓度定义的等效质量。它使用整条能带及热占据,不是只在某个带边点做抛物线曲率拟合。本例复用本集群实际Si均匀网格能带,分别计算电子、空穴净掺杂在300 K与600 K的结果。

下载完整脚本、数值输入、CSV和四张实算图

1. 准备输入与运行#

下载并保存为amset-cli.zip:

unzip amset-cli.zip
cd amset-complete-cli-wave269
head -n 6 reference/analysis/conductivity-effective-mass.csv

参考结果已经包含在包中。只重跑本篇及两种能带绘图时,在分配到的CPU资源内执行:

source /etc/profile
module load amset/0.5.1
export PYTHONPATH="$PWD/plot-compat${PYTHONPATH:+:$PYTHONPATH}"
python run_short.py

run_short.py会依次计算有效质量、平均有效质量、形变势带数转换、原生能带图和谱线形图。已有short/时请重新解压到另一目录,避免覆盖结果。完整包还含MgO的VASP声子流程,整体运行方法见极化声子教程。

本例的inputs/band_structure_data.json保存真实Si数值能带、电子数和晶体结构,不含POTCAR或波函数。原始DFT使用11×11×11均匀网格;本次有效质量命令的插值因子为5,不作为网格收敛结果。

2. 对应的原生命令#

电子用负掺杂,空穴用正掺杂;浓度单位cm⁻³,温度单位K:

amset eff-mass inputs/band_structure_data.json \
  -i 5 --doping=-1e17,1e17 --temperatures=300,600

需要标量平均值时加--average:

amset eff-mass inputs/band_structure_data.json \
  -i 5 --doping=-1e17,1e17 --temperatures=300,600 --average

本例使用AMSET 0.5.1。它在恒定弛豫时间设置下求电导,再形成等效质量;这里的弛豫时间是定义计算的中间量,不能据此认为已经计算真实散射寿命。普通命令打印对角分量,--average给出质量本征值的调和平均;它不是直接把三个对角数字做算术平均。

配套程序保存更完整的矩阵和命令返回值:

cat short/effective-mass.json
cat short/effective-mass-average.json

如果自己生成不含轨道投影的能带JSON,需要确认文件仍保留band_structure.structure。部分pymatgen版本在序列化无投影能带时省略这一项,AMSET就缺少晶体结构。可以在读回后检查:

from monty.serialization import loadfn
a = loadfn('inputs/band_structure_data.json')
print(a['band_structure'].structure)

本包已保留实际结构;不需要为补充JSON结构重新计算电子能带。

3. 实际结果怎样读#

单位为自由电子质量m₀,本例立方Si的三个对角分量相同:

净掺杂 / cm⁻³ 温度 / K 电导等效平均质量 / m₀
-1×10¹⁷,电子 300 0.222353
-1×10¹⁷,电子 600 0.075533
+1×10¹⁷,空穴 300 0.353291
+1×10¹⁷,空穴 600 0.079406

升温后数值明显变化,不能解读为某个单独带边的曲率发生了同样变化。这个定义使用净掺杂和总电导,有限带隙体系在较高温度出现双极载流子贡献时尤其需要区分。若要研究单个谷、重空穴/轻空穴或指定方向的带边质量,应采用相应能带拟合或完整输运分析。

真实Si电导有效质量及MgO模式权重

这组数值用于说明命令、单位、温度与净掺杂的关系,不是Si材料参数的收敛推荐值。AMSET输入和输出张量说明分别见输入教程与输出教程,设置定义见官方文档。

4. deform to-soc实际做什么#

该命令把非自旋极化形变势文件中的每条带复制成两条,以匹配双倍带数的格式:

amset deform to-soc inputs/deformation.h5 -o deformation_soc.h5

本例实际转换后,每条原始形变势张量在新文件中连续出现两次,k点和晶体结构保持一致。这只是带数兼容转换,不计算真正的SOC,也不生成SOC能级劈裂或新的形变响应。 对SOC显著的材料,需判断这种近似是否适用,不能把复制后的数据当作SOC第一性原理结果。

可以用软件自己的读取接口检查数组:

from amset.deformation.io import load_deformation_potentials
a, k1, s1 = load_deformation_potentials('inputs/deformation.h5')
b, k2, s2 = load_deformation_potentials('short/deformation_soc.h5')
spin = next(iter(a))
print(a[spin].shape, b[spin].shape)

配套run_short.py将转换文件放在short/,与直接命令默认写到当前目录的路径不同。实际的形变结构生成、VASP计算与核心能级对齐流程继续看形变势输入;全部13个命令见命令实例索引。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗