thirdorder专题

thirdorder 三阶力常数入门

从Si位移、VASP原子力到三阶力常数与ShengBTE,按步骤完成实际流程。

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

thirdorder负责生成用于三阶力常数的位移结构,再从DFT原子力重构非谐相互作用。它本身不计算DFT电子结构,也不直接给出热导率;本专题把它与VASP、Phonopy和ShengBTE连起来。

实际16原子与54原子超胞

1. 这套实例做了什么#

步骤 本例输入 得到什么
生成位移 Si原胞,2×2×2或3×3×3超胞 16或54原子的位移POSCAR
固定结构求力 同一PBE设置、EDIFF=1E−6 真实VASP vasprun.xml与OUTCAR
收集三阶常数 按原生位移顺序排列的XML FORCE_CONSTANTS_3RD
准备二阶常数 对应超胞的正负谐波位移原子力 FORCE_CONSTANTS_2ND
热输运 两种力常数与CONTROL 热导率、散射率和模态数据

本例在集群实际计算了102个不同的固定结构DFT条件。thirdorder的三组设置一共生成112个位移文件,其中完全相同的结构可共享同一次求力,另有匹配的谐波力输入。重复使用只发生在POSCAR字节和电子设置均相同的情况下。

2. 先重画已有数据#

下载完整Si实例包。在新目录解压后操作;包内有真实VASP输入和原始力输出、位移映射、三阶/二阶力常数、ShengBTE结果、CSV和高清图,不含POTCAR。

bash analyze.sh

输出 analysis-reference/:包括热导率汇总CSV、力差分对照和5张图。这一步不启动DFT,也不重新求解热输运。

3. 完整跑一遍后处理#

在另一个新解压目录执行:

bash run-all.sh

顺序为:原生sow生成结构 → 按映射读取包内真实DFT原子力 → 原生reap生成三阶常数 → 求对应二阶常数 → 运行10个ShengBTE条件 → 导出CSV和图片。脚本保护已有结果目录,重复完整流程请重新解压。

这里复用包内已经完成的真实DFT力,不额外启动102次VASP。新材料或新结构必须先完成自己的DFT求力,不能沿用本包的Si原子力。

4. 分步骤学习#

bash prepare.sh
bash reap.sh
bash transport.sh
bash analyze.sh work

依次阅读:位移与求力 → 力收集与reap → 截断与超胞 → ShengBTE联用。

5. 环境和计算范围#

thirdorder为1.1.4,Python 3.11、GCC/G++13.3与spglib 2.7.0。实际DFT使用VASP6.6.1 P100构建,NVHPC25.3/CUDA12.8;二阶接口使用 phono3py/4.8.2 环境内的Phonopy4.8.1;三阶格式读取由hiPhive1.5完成。热导率使用ShengBTE2.1.0、GCC/GFortran13.3、Open MPI5.0.10和MKL2024.2。

小规模后处理限制为单线程;DFT与大型热输运请使用所申请的计算资源。当前ShengBTE构建需要支持AVX-512的CPU,不能仅凭GPU节点名称判断其CPU是否兼容。

本例的Si16/54、3/4 Å截断与4³/6³ q网格用于理解操作和参数影响,还不能作为最终收敛的Si材料热导率。

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

查看配图

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

100%查看原图 ↗