Phonopy DOS投影与Debye拟合
实操总态密度、原子和XYZ投影、两个Debye拟合窗口,以及声学分支热容。
阅读本篇目录
下载本节数值输入、脚本与绘图程序,在自己的CPU工作目录运行:
unzip phonopy-dsf-dos-nac-files-wave249.zip -d phonopy-practice
cd phonopy-practice
bash setup.sh
bash run.sh
setup.sh联网创建本目录个人.env,安装固定的Linux x86_64预编译环境,并下载、校验ASE3.29.0的纯Python包到extras/。不改公共模块或用户全局Python。环境包含Phonopy4.8.3、Python3.11.18、NumPy2.4.6、symfc1.7.3、pypolymlp0.22.1;C/C++运行库为libgcc/libstdcxx16.2.0,绘图使用集群phonopy/4.8.3模块。流程单线程运行,不需要GPU,也不启动新的DFT。
source/保存原生命令结果,analysis/、dsf/、xray/、debye-windows/保存提取数据,figures/保存四张高清图。为保护已有结果,重复练习请换新目录解压。下面手动操作都另建工作目录。
1 计算总声子DOS#
mkdir manual-dos
cd manual-dos
../.env/bin/phonopy ../source/Si.yaml --no-fc-symmetry \
--mesh '16 16 16' --gc --dos --sigma 0.15 \
--fmin 0 --fmax 20 --fpitch 0.05 --fits-debye-model
head total_dos.dat
cd ..
这里明确给出三个整数,表示16×16×16声子网格。频率轴、展宽和步长的单位均为THz;--sigma 0.15为高斯展宽。别把只写一个数的密度长度参数与三个整数网格混淆。
2Si原胞共有6条振动分支,本例积分约5.999633,接近6。有限频率区间与展宽会带来小偏差;DOS形状还需对网格和展宽做收敛检查。
2 原子与笛卡尔XYZ分量#
mkdir manual-pdos
cd manual-pdos
../.env/bin/phonopy ../source/Si.yaml --no-fc-symmetry \
--mesh '8 8 8' --gc --nomeshsym --pdos '1, 2' --xyz-projection \
--dos --sigma 0.15 --fmin 0 --fmax 20 --fpitch 0.05
head projected_dos.dat
cd ..
1, 2分别选择原胞第1、2个原子,--xyz-projection把每组展开为笛卡尔x/y/z分量,因此本例有6列投影。原子编号从1开始。所有6列之和对应同一8³网格上的总DOS;不要拿它逐点要求等于上一步16³网格曲线。
Si两个原子等价、三方向对称,许多曲线重合是正常结果。各向异性材料一般不会这样。

3 Debye温度为什么随拟合范围变#
在本包实际4.8.3中,命令行默认拟合取输出频率网格的前四分之一。本例输出0–20 THz、步长0.05,实际用100个点,最后一个为4.95 THz。它不是自动识别出的唯一线性色散区间。
cat debye_windows.py
cat debye-windows/fit-windows.csv
| 拟合点范围 | 频率估计/THz | Debye温度/K |
|---|---|---|
| 默认0–4.95 THz,100点 | 8.177747 | 392.4697 |
| 指定上限3.0,实际0–2.95 THz,60点 | 7.493465 | 359.6294 |
两个结果来自同一DOS,仅改变拟合窗口。包中用run_debye_frequency(freq_max_fit=3.0)演示指定上限,并独立拟合低频DOS的ν²系数。温度按hνD/kB换算。
因此应同时报告DOS网格、展宽、频率范围与拟合窗口。这里用于理解操作与窗口敏感性,不把392 K或360 K写成已经收敛、可直接引用的Si材料常数。
4 只选声学分支的热容#
cat source/acoustic-subset-thermal/thermal_properties.yaml
脚本实际用--bi '1 2 3' --pr选择本例前三条声学分支,并计算300/600 K热量;--nowritemesh省略大网格输出,--exclude-gamma-acoustic及0.1 THz阈值避开Γ零频率。
这是选定分支的贡献,不是全部6条分支的总热容。模式交叉后,按频率排序的前三支不一定始终代表同一连续分支,应结合色散和本征矢判断。存在真实不稳定模式时,先解决模型稳定性,不能用筛选将不稳定材料包装成稳定结果。