Phonopy-Spectroscopy 展宽与单位
讲清Lorentzian FWHM、Gaussian标准差、Phono3py半峰宽转换及实际卷积操作。
阅读本篇目录
画谱前先区分“频率”“峰强”和“线宽”。同一个峰,展宽改变后峰高通常变化,但这不意味着原子的Born电荷或拉曼张量改变了。
下载完整光谱实例包。在新目录解压后操作;包内包含真实输入、已有DFT响应、25个操作条件、原生输出、数据来源说明和绘图脚本。
1. 人为线宽使用FWHM#
bash prepare.sh
bash run.sh zns-ir-L2
bash run.sh zns-ir-L5
bash run.sh zns-ir-L10
--linewidth是Lorentzian全宽半高FWHM,单位随 --output-units变化。这里为2、5、10 cm⁻¹,是为了展示谱线而选择的宽度。
2. 加入仪器卷积#
bash run.sh zns-ir-instrument-gaussian
bash run.sh zns-ir-instrument-lorentzian
两者保留内禀Lorentzian FWHM=5 cm⁻¹,另外加入物理FWHM=5 cm⁻¹的仪器响应。但原生参数定义不同:
| 形状 | 原生宽度参数 | 本例参数值 |
|---|---|---|
| Gaussian | 标准差σ | 2.1233045 cm⁻¹ |
| Lorentzian | FWHM | 5 cm⁻¹ |
Gaussian的FWHM约为2.35482σ。不能对两种形状都输入5,就称其仪器宽度完全相同。
本固定提交的原生仪器卷积采用 --spectrum-resolution 1的组合;本例因此使用1 cm⁻¹网格。普通无仪器卷积的谱线可使用更细网格。卷积核在有限范围采样并归一化,远端尾部和精确峰宽还需随网格与窗口检查。

3. Phono3py的gamma需要转换#
Phono3py原始HDF5的 gamma 是THz半峰宽HWHM;当前光谱读取器把读入数值作为Lorentzian FWHM使用。因此先对匹配的原始文件做一次明确转换:
python prepare_linewidths.py 原始线宽.hdf5 linewidth-FWHM.hdf5
脚本保留原文件,新文件的线宽为 2 × gamma,并写入FWHM标记和原始数据哈希;已转换文件受到保护,避免重复乘2。
转换文件只用于本光谱工具的线宽接口,不用于Phono3py继续求解或复用原始散射率。
4. 三种频率单位#
bash run.sh zns-ir-thz
bash run.sh zns-ir-mev
本例三种输出对应同一组光学模式:约7.78559 THz、259.699456 cm⁻¹、32.198646 meV,模式有效电荷平方不随频率单位变化。固定提交实际支持 thz、inv_cm、mev;帮助占位中出现的 um没有对应的波长实现,不照搬使用。
5. 不把展宽当成收敛结论#
人为宽度用于可视化;第一性原理宽度还依赖结构、相互作用、温度、q网格和近似方法。更平滑的曲线不代表更准确的峰位、寿命或实验响应。