AMSET专题

AMSET 参数对照:边界散射与弛豫时间

用实际 GaAs 输出演示 MFP、CRT、SRT,检查压电和杂质参数的影响,解释输运窗口与 HDF5 填值。

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

在四机制迁移率教程基础上,本篇展示三种简单模型和两组参数变化。下载同一个完整资料包,无需再次准备电子结构或新做 DFT。

1. 先找到各个目录#

cd amset-scattering
module load amset/0.5.1
ls cases
cat cases/all4-mfp100/settings.yaml
目录 与基准相比改变什么
all4-f5 ADP、IMP、PIE、POP 联合基准
all4-mfp100 再加入 100 nm 的 MFP 边界模型
crt-1e-14 单独使用 10 fs 恒定弛豫时间
srt-1e-14 单独使用随温度缩放的弛豫时间
pie2-all4 压电系数幅值加倍,其他参数保持
comp4-all4 补偿因子从默认2改为4
all4-f10、all4-f20 只提高插值密度

两组参数变化用于理解模型,不代表 GaAs 的实际材料参数发生了变化。相应目录都实际运行过,资料提供原始输入和绘图方法。

2. 加入边界散射#

在原有四机制设置中改为:

scattering_type: [ADP, IMP, PIE, POP, MFP]
mean_free_path: 100

长度单位为 nm。进入对应目录运行:

cd cases/all4-mfp100
amset run
tail -35 amset.log
cd ../..

边界模型按速度与长度形成散射率。当前 0.5.1 对低速先采用 max(|v|, 0.005原子单位速度),再除以长度;0.005 原子单位约为 10938.46 m/s。这个数值下限在带边等低速点会影响结果,因此不能把程序所有点的输出都直接称作无修正的 |v|/L。

3. CRT 与 SRT 怎样设置#

固定 10 fs:

scattering_type: [CRT]
constant_relaxation_time: 1.0e-14

以 300 K 的 10 fs 为基准,按温度缩放:

scattering_type: [SRT]
base_relaxation_time: 1.0e-14

本例 SRT 满足 τ(T)=τ300×300/T,所以 300 K 为 10 fs、600 K 为 5 fs。两者都属于简单弛豫时间模型,不等于显式计算了四种微观机制;参数的时间单位是秒。

cd cases/crt-1e-14
amset run
cd ../srt-1e-14
amset run
cd ../..

MFP 边界散射的实际速率与 CRT、SRT 时间设置

4. 怎样检查参数改动是否生效#

压电系数幅值从 0.16 改为 0.32 C/m²,PIE 矩阵元的平方使该散射率变为四倍,本例其他三种散射率保持不变。

杂质补偿因子从2改为4时,保持目标载流子浓度和杂质电荷不变,电离杂质数量加倍,对应 IMP 散射率加倍。不要把“补偿因子”误当成目标电子浓度本身。

cat cases/pie2-all4/settings.yaml
cat cases/comp4-all4/settings.yaml
python analyze.py
cat analysis/SUMMARY.json

脚本逐态检查这些变化,并把迁移率提取到 CSV。实际总迁移率对比如下:

条件 300 K / cm²·V⁻¹·s⁻¹ 600 K / cm²·V⁻¹·s⁻¹
四机制联合 9488.31 4263.97
再加100 nm边界 3724.02 2255.76
CRT 10 fs 646.77 521.90
SRT基准10 fs 646.77 260.95
压电系数幅值加倍 9310.05 4181.70
补偿因子加倍 7142.52 3489.19

5. HDF5 的哪些点能当作实际散射率#

mesh*.h5 中的 fd_cutoffs 给出输运能量窗口。当前版本对窗口外的点采用窗口内全网格散射率的对数平均填值;这里还涉及不可约点的多重性权重。这个填值用于数值处理,不是每个窗口外高能态都重新计算得到的物理散射率。

查看实际字段:

python - <<'PY'
import glob, h5py
name = glob.glob('cases/all4-f5/mesh*.h5')[0]
with h5py.File(name) as data:
    print('机制:', data['scattering_labels'][()])
    print('能量窗口/eV:', data['fd_cutoffs'][()])
    print('温度/K:', data['temperatures'][()])
PY

本包 analyze.py 的能量散点图只取窗口内计算点;边界模型的单位核对也先在窗口内进行,再单独重建窗口外填值。这样可以避免把填值平台当作真实散射趋势。

6. 保留输入与输出条件再比较#

比较不同机制、边界长度或参数时,保持电子结构、插值网格、温度和浓度一致。先看 settings.yaml,再看 transport*.json 和实际网格文件名,最后画图:

head -10 analysis/mobilities.csv
bash plot-native.sh
ls native-plots

本例的三档网格仍未显示所有分项收敛,不把参数作用对照当作收敛的材料结论。设置单位与原生选项见 AMSET 官方设置说明。

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

查看配图

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

100%查看原图 ↗