AMSET专题

AMSET扫描:电子、空穴、温度与浓度

用Si真实波函数和形变势运行电子与空穴扫描,给出设置、实际输运数据及单位解释。

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

准备好 vasprun.xml、wavefunction.h5 和 deformation.h5 后,就可以扫描温度和载流子浓度。本页沿用输入教程的 Si 数据,计算 ADP 散射下的迁移率、电导和 Seebeck 系数。

1. 准备计算目录与完整设置#

mkdir transport
cp si-bulk/vasprun.xml transport/
cp wavefunction.h5 deformation.h5 transport/
cd transport
nano settings.yaml

下面是本次电子/空穴扫描的完整实际设置:

doping:
- -1.0e+19
- -1.0e+20
- 1.0e+19
- 1.0e+20
temperatures:
- 300
- 450
- 600
interpolation_factor: 10
scattering_type:
- ADP
wavefunction_coefficients: wavefunction.h5
elastic_constant:
- - 153.14954474000004
  - 56.73880305
  - 56.73880305
  - 0.0
  - 0.0
  - 0.0
- - 56.73880305
  - 153.14954474000004
  - 56.73880305
  - 0.0
  - 0.0
  - 0.0
- - 56.73880305
  - 56.73880305
  - 153.14954474000004
  - 0.0
  - 0.0
  - 0.0
- - 0.0
  - 0.0
  - 0.0
  - 72.78602494000005
  - 0.0
  - 0.0
- - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 72.78602494000005
  - 0.0
- - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 72.78602494000005
deformation_potential: deformation.h5
nworkers: 2
energy_cutoff: 1.5
calculate_mobility: true
separate_mobility: true
file_format: json
write_mesh: true
print_log: true
unity_overlap: false

浓度单位为 cm⁻³。负值表示电子,正值表示空穴;不是把电子电荷符号写进电导单位。温度单位 K。本例用两档浓度、电子与空穴两种符号、三档温度,共 12 个输运状态。

nworkers: 2 使用两个 CPU 工作进程,仍需受实际申请资源限制。energy_cutoff: 1.5 与两个 HDF5 文件的提取范围一致;separate_mobility: true 是当前 0.5.1 实际使用的参数名。

2. 在分配的计算资源内运行#

module load amset/0.5.1
export OMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 MKL_NUM_THREADS=1
export NUMBA_CACHE_DIR="$PWD/.numba-cache"
mkdir -p "$NUMBA_CACHE_DIR"
amset run
ls transport*.json mesh*.h5

如果使用集群现有 CPU Slurm 模板,则在这个目录复制后提交:

cp /public/slurm_scripts/hs_user/amset/0.5.1/8173m/sub_amset_0.5.1_8173m.sh submit.sh
sbatch submit.sh
squeue -u "$USER"

现有模板按 CPU 分区的整节点规则申请 56 核,并将工作进程数设为申请值;文件里的 nworkers: 2 会被模板命令行覆盖。只需要复现本专题的小例子时,也可以在已分配的 CPU 环境中直接执行前面的 amset run。

3. 本次实际结果#

以下取张量迹的三分之一,便于用一个数概览立方 Si;各方向张量仍保存在原始 JSON 中。

载流子 浓度 / cm⁻³ 温度 / K ADP迁移率 / cm²·V⁻¹·s⁻¹ 电导 / S·m⁻¹ Seebeck / μV·K⁻¹
电子 1e+19 300 1271.13 2.037e+05 -273.80
电子 1e+19 450 644.29 1.032e+05 -327.65
电子 1e+19 600 398.33 6.392e+04 -363.54
电子 1e+20 300 880.41 1.411e+06 -107.51
电子 1e+20 450 515.78 8.264e+05 -147.02
电子 1e+20 600 342.34 5.485e+05 -177.92
空穴 1e+19 300 3021.35 4.841e+05 250.92
空穴 1e+19 450 1723.44 2.761e+05 296.76
空穴 1e+19 600 1087.02 1.743e+05 337.57
空穴 1e+20 300 2362.32 3.785e+06 74.27
空穴 1e+20 450 1373.91 2.201e+06 119.49
空穴 1e+20 600 903.79 1.448e+06 158.06

电子和空穴的温度扫描

本页是同一套既有DFT数据重新执行后处理的实际结果;与VASP与AMSET实例原表相比,部分迁移率相差约1%。附件保留两组输出便于比较;在原计算环境重新执行、分别使用2个及4个工作进程时,都复现了原表;本轮另一套CPU环境的重复结果也一致。跨环境约1%的差异应与插值误差一起检查,不把它解释成新的材料物理变化。

这些是 ADP 单一机制的模型结果。对具体掺杂样品,杂质散射、带隙、补偿及其他声子过程可能改变总迁移率。高温下还要注意未校正 PBE 带隙带来的双极输运影响。

4. 怎样改成自己的扫描#

在自己的目录中编辑两个列表即可:

nano settings.yaml
amset run

例如只计算电子时保留负浓度;只关心 300 K 时设置 temperatures: [300]。更换材料则必须同时替换电子结构、波函数、形变势和弹性参数,不能只改浓度。

插值与波函数近似的影响见数值对照,画图与 JSON 提取见输出分析。AMSET 官方参数说明

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

查看配图

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

100%查看原图 ↗