ShengBTE 晶格热输运入门
从CONTROL、二三阶力常数到实际BTE求解,提供25组Si实例和完整操作入口。
阅读本篇目录
ShengBTE用二阶、三阶力常数求解声子玻尔兹曼输运方程,常用于晶格热导率、散射率、寿命和平均自由程分析。使用顺序是:先准备可靠的力常数,再检查结构与单位,然后选温度和q网格,最后读热导张量及模分辨结果。

1. 从一个最小目录开始#
一个常规BTE任务至少有:
CONTROL
FORCE_CONSTANTS_2ND
FORCE_CONSTANTS_3RD
自定义同位素组成时再放 ISOTOPES。CONTROL 写原胞,不是16原子超胞的全部坐标;scell 说明二阶力常数的超胞范围。本例原胞2原子,超胞2×2×2,所以力常数对应16原子。
2. 先提交一个RTA例子#
sbatch single.slurm
结果在 work/si-q6-300K-rta/。已经获得CPU任务资源后,底层运行方式是:
module load shengbte/2.1.0-8173m
mpirun -np 1 --bind-to none ShengBTE > shengbte.out
在包含三个输入文件的任务目录运行。ShengBTE不靠一串命令行参数选择功能,主要设置都在CONTROL;MPI进程数和OpenMP线程数属于外部并行启动方式。
3. 读一个完整CONTROL#
&allocations
nelements=1,
natoms=2,
ngrid(:)=6 6 6,
norientations=0
&end
&crystal
lfactor=0.543,
lattvec(:,1)=0.0 0.5 0.5,
lattvec(:,2)=0.5 0.0 0.5,
lattvec(:,3)=0.5 0.5 0.0,
elements="Si",
types=1 1,
positions(:,1)=0.00 0.00 0.00,
positions(:,2)=0.25 0.25 0.25,
scell(:)=2 2 2,
&end
¶meters
T=300.,
scalebroad=1.0,
maxiter=1000,
eps=1e-7,
nticks=80,
rmin=5., rmax=105., dr=20.
&end
&flags
nonanalytic=.FALSE.,
convergence=.FALSE.,
improved_iteration=.TRUE.,
isotopes=.TRUE.,
autoisotopes=.TRUE.,
nanowires=.FALSE.,
wigner=.FALSE.,
onlyharmonic=.FALSE.,
nthreads=1
&end
lfactor=0.543 的单位是nm,乘无量纲基矢得到5.43Å晶格对应的FCC原胞。T 是声子布居和散射求解温度,不是启动MD控温。convergence=.FALSE. 选RTA;改成TRUE才迭代BTE。硅本例没有非解析修正,所以nonanalytic为FALSE;极性材料需要匹配的介电张量与Born有效电荷。
4. 再按目标读分篇#
- 力常数与单位检查:从DFT到FC2/FC3及格式读取。
- RTA与迭代BTE:GMRES、旧迭代和停止容差。
- q网格、温度与展宽:如何判断数值敏感性。
- 同位素与纳米线:组成、质量方差、直径和方向。
- 寿命与平均自由程:独立重建热导及累积贡献。
- 谐波与Wigner输出:不提供FC3能做什么,coherence文件怎样相加。
本专题实际运行上述25个小型条件。QE格式、极性修正和其他材料要另配输入,不能把硅的CONTROL换个元素名就用于任意体系。版本背景及完整手册见官方文档。
资料包与运行入口#
下载力常数、25组完整输入、实际输出及全部分析画图脚本。解压后先检查输入、重画随包参考:
bash check-inputs.sh
bash analyze.sh
完整重新计算25组BTE后处理,在新解压目录提交:
sbatch run.slurm
只算一个q=6、300K RTA条件用 sbatch single.slurm,可编辑其中的条件名。模板遵守CPU分区整节点56核申请规则;这些小例实际使用1个MPI进程、1个计算线程,旨在学习输入和物理结果。大体系需要另按规模调整并行设置,不能用这些小例作性能推荐。
已经获得CPU计算资源时,可以直接调用 bash run.sh 条件名;不要把普通登录节点当计算节点。整套完成后:
bash analyze.sh work
图片在 work/figures/,数值摘要在 work/analysis/RESULTS.json。单例可直接看其 BTE.* 文件,统一分析需要25组完整结果。脚本不会覆盖已有work目录,重新计算请重新解压。
环境:ShengBTE2.1.0,GCC/GFortran13.3、Open MPI5.0.10、MKL2024.2 GF_LP64 sequential,模块 shengbte/2.1.0-8173m;此构建需要AVX-512 CPU,不能直接放到P100主机的旧CPU上运行。输入检查使用hiPhive1.5和Phonopy4.8.3,脚本分别加载对应环境,无需把所有依赖混装进同一Python。
力常数来自本集群已有的真实ABACUS Si16位移计算,本批只重新求解和分析BTE,没有新做DFT。三阶模型范围3Å,电子参数、超胞和q网格仍有有限性;本专题是操作与数值检查参考,不将结果当作收敛的硅材料热导率或CPU性能数据。
Phono3py热输运与频率分辨实例#
Phono3py专题提供真实Si16位移、ABACUS力收集、FC2/FC3、RTA/LBTE、同位素/边界、谱函数和累计热导的完整终端操作。28个短条件、13个配套工具命令与10张结构/数据图可复现;同一批有限力常数模型的网格/展宽差异保留,不作为收敛材料热导率。