TDEP晶格热导与网格检查
运行2023 BTE和模式耦合程序,比较q网格、温度与热导分量,并核对寿命和平均自由程单位。
阅读本篇目录
本专题用鸢算科技集群实际完成的Si多温度DFT数据,演示TDEP输入准备、二至四阶力常数拟合、声子、自由能和热导。版本为TDEP 25.03,固定提交d38f435,采用ifx/icx 2024.2.1、Intel MPI 2021.13、顺序MKL、FFTW 3.3.11和HDF5 1.14.6;使用 tdep/25.03-8173m CPU模块。前置DFT使用VASP 6.6.1 GPU/HDF5构建,NVHPC 25.3、CUDA 12.8,分别在P100和V100 16G上运行。
下载实际输入、数值、8张图与操作脚本,保存为 tdep-silicon.zip:
python3 -m zipfile -e tdep-silicon.zip .
cd tdep-silicon-practical-wave285
bash preview.sh
ls preview/figures
预览只读 reference/数值,不启动DFT。需要从随包自有数值输入运行原生拟合及后处理时,用下面三个短命令;这也不重跑VASP:
bash prepare.sh
bash calculate.sh
bash extract.sh
原生结果在 work/,提取表格在 results/data/。本包为小型单进程CPU示例;正式大拟合和热导请用Slurm分配CPU资源。VASP程序、POTCAR和原始全文电子输出不随包分发。
1 先选用力误差合适的三阶模型#
本页沿用300 K模型A的二阶5 Å与三阶4.2 Å力常数。计算300、600 K占据温度是固定同一份300 K力常数的对照;不表示每个温度都重新完成了相应温度的材料热导预测。900 K误差较大的模型没有用于这里的结果。
cd work/post300/BTE2023-q6-T300-tight
ls infile.forceconstant infile.forceconstant_thirdorder
module load tdep/25.03-8173m
2 运行2023版BTE#
thermal_conductivity_2023 --temperature 300 -qg 6 6 6 --scftol 1e-7 --scfiterations 200
cat outfile.thermal_conductivity
温度参数写 --temperature。程序退出后还要确认生成了非空的 outfile.thermal_conductivity;不能仅凭退出码判断计算结束。
输出顺序是 T,xx,yy,zz,xz,yz,xy,zx,zy,yx,温度K,热导W/(m·K)。不要假定最后6列总是另一种Voigt排列。分别在新目录中更换q网格和温度,保留相同的力常数与求解精度。
| q网格 | 300 K平均对角热导 | 600 K平均对角热导 | 本例用途 |
|---|---|---|---|
| 4³ | 24.49564 | 12.90197 | 粗网格诊断对照 |
| 6³ | 40.25962 | 20.79234 | 保留完整张量检查后的结果 |
| 8³ | 47.41933 | 24.29393 | 更细网格对照,仍未收敛 |

4³即使收紧内部迭代,仍有较明显的非对称张量残差;图中用灰色单独标记,不用手动对称化掩盖它。6³与8³满足本例的张量检查,但数值仍变化明显,因此不能把47.42 W/(m·K)直接当成收敛Si热导或与实验精确比较。
3 运行模式耦合程序#
cd ../mode-coupling-q4
thermal_conductivity --temperature 300 -qg 4 4 4
cat outfile.thermal_conductivity
该程序与 thermal_conductivity_2023的求解形式不同。本例300 K、4³网格给出平均对角分量:
| 项 | W/(m·K) |
|---|---|
| SMA | 25.71869676 |
| collective | 2.66600038 |
| coherence | 0.00107268 |
| 合计 | 28.38576981 |
这些分量相加等于原生总量,不能把不同公式和未收敛网格下的差异当作“哪个软件更准确”的证据。更多开关见官方模式耦合说明。
4 寿命、速度和逐模式贡献怎样读#
ls outfile.thermal_conductivity_grid.hdf5
cd ../../..
cat reference/thermal-mode-coupling-components.csv
该网格HDF5中的频率为角频率s⁻¹,不能漏掉2π直接当成普通Hz;寿命为秒,平均自由程为米。本例独立检查 平均自由程=|群速度|×寿命,并按程序线宽约定检查 τΓ=1/2。
逐q逐模式热导字段不是已经乘完全部积分权重的最终总量;本例需对q点作相应平均后组合,才与SMA及collective贡献一致,coherence另加。直接把所有数组元素相加会多出网格因子。
正式大网格请将下载包的 submit-transport.sh复制到相应输入目录后,通过CPU模板提交。这个模板运行的是模式耦合程序 thermal_conductivity:
sbatch submit-transport.sh --temperature 300 -qg 8 8 8
提交前确认CPU分区可用,并按实际体系评估内存、网格、三/四声子相互作用与统计精度。本页的小模型不提供CPU节点性能承诺。