Phonopy专题

Phonopy振动模式、热位移与随机快照

基于鸢算科技集群实际VASP数据的Phonopy 4.8.3终端操作、输入、数据和图片。

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

下载完整输入、原始输出和后处理脚本。解压后进入phonopy-workflows子目录。在已分配的CPU资源中运行bash run.sh,可重建本文全部后处理结果;这不会重新提交VASP任务。

从同一套力常数继续提取信息#

本例使用硅声子工作流得到的真实力常数,提取群速度、Γ点模式动画、对称表示、热均方位移和300 K谐近似随机快照。

module purge
module load phonopy/4.8.3
python modes_sampling.py
ls modes/

1 频率与群速度#

脚本在原胞倒易q=(0.25,0,0.25)提取六个模式。频率为2.897970、2.897970、6.882433、14.344610、14.344610、14.564877 THz。群速度接口原始单位为THz·Å,乘100转为m/s;本例模长约2757.10、2757.10、6810.06、1425.16、1425.16、1398.96 m/s。

phonon.run_qpoints([[0.25, 0, 0.25]],
                  with_eigenvectors=True, with_group_velocities=True)

modes/RESULTS.json保留原始值和坐标。群速度是矢量,不能把一个分量直接当成模长。

2 查看一个振动模式#

modes/gamma-modes.xyz给出Γ点第4支模式的20帧动画,可用OVITO等支持多帧XYZ的软件打开。本例显示振幅为0.1 Å,只是可视化设置,不是300 K物理振幅。modes/irreps.yaml给出Γ点不可约表示分析。

head -n 12 modes/gamma-modes.xyz
cat modes/irreps.yaml

看动画时重点是相对运动方向和相位,而不是为了好看设置的放大幅度。

3 热均方位移#

使用12³完整q网格与本征矢,排除Γ点声学平移并取0.1 THz频率下限。本例硅各方向相同,单方向均方位移为:

温度/K ⟨uₓ²⟩/Ų
0 0.00265158
100 0.00376180
300 0.00845883
600 0.01623808

0 K的非零值来自零点振动。不同网格或低频截断会影响数值;与更密网格结果比较时应保留这些设置。

4 生成随机热快照#

mkdir -p my-random
cd my-random
phonopy ../si/analysis/v100/phonopy.yaml \
 --rd 4 --rd-temperature 300 --random-seed 27129 --cutoff-freq 0.1
ls POSCAR-* phonopy_disp.yaml

上面生成4个可独立计算的新POSCAR。Python脚本生成20个同类快照,输出为modes/POSCAR-random-000等,并核对相同种子的重复性。

热均方位移与随机快照位移分布

随机快照是从谐振动分布采样的独立构型,不是分子动力学轨迹,不能用相邻快照计算扩散系数。有限16原子超胞上的20个快照也不应被要求与12³网格热均方位移精确相等。

本包没有为这些新快照做DFT受力计算。如用于训练势函数,还需分别提交能量/力计算、检查标签并划分训练与测试集。Phonopy生成新位移数据后会重置部分派生状态;若要再次从同一力常数采样,重新载入原始phonopy.yaml,不要误用已被更新的对象。

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

查看配图

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

100%查看原图 ↗