跳转至

6.1 Phonopy 有限位移声子

本课输入均为未执行的教学示例,数值是待测试的起点;图为原创示意,不是实际计算结果。使用授权 VASP 和 PAW 数据,替换所有占位符,记录程序版本并自行检验收敛。

6.1.1 模型、单位与记录

能量用 eV,长度用 Å,力用 eV/Å;1 kbar = 0.1 GPa。明确每原子、每分子、每原胞或每计算胞的归一化。记录 PAW 名称、版本、ZVAL、ENMAX 及允许的哈希;不分发 POTCAR。SCF 收敛只验证所选电子问题,目标物性的收敛仍需单独检查。

 Phonopy 有限位移声子 — 原创概念示意

原创示意图;曲线与空白数据区用于说明或填写真实结果,不代表已运行计算。

\[ \Phi_{i\alpha,j\beta}=-\frac{\partial F_{i\alpha}}{\partial u_{j\beta}},\qquad D(\mathbf q)\mathbf e=\omega^2\mathbf e \]

6.1.2 完整案例:步骤、解释与检验

为什么移动原子能得到振动?

平衡位置的力接近零,但这还不能告诉我们原子偏离平衡位置时受到多强的恢复力。轻微移动一个原子,测量所有原子的力响应,重复对称性不等价位移,就能重建谐近似的“弹簧网络”。力常数定义为 Φiα,jβ=−∂Fiα/∂ujβ,正负位移中心差分可估计这个导数。对力常数进行质量加权和傅里叶变换得到 D(q),其本征值为 ω²。负本征值对应虚频,常画在零线以下,并非真实负振动频率。

VASP 负责第一性原理原子力;外部程序 Phonopy 负责位移生成、力常数构建/插值以及倒空间分析。Phonopy 不是 INCAR 里的一个开关,也不会由普通 VASP 任务自动执行。

可复现步骤

使用充分弛豫、预计动力学稳定的结构。第一例可选非极性立方晶体,先避免 LO–TO 分裂干扰基础收敛。保留原晶胞、原子顺序及原胞变换的记录。

  1. 选取超胞矩阵。2×2×2 只是起步测试,不是通用收敛尺寸;各向异性材料常需要不同比例的重复。
  2. 使用当前 v4 风格的外部命令 phonopy-init 生成位移结构。旧版本可能使用统一的 phonopy 命令;先查看本机帮助并记录版本。
  3. 每个位移结构放入独立目录,材料参数相同。随超胞增大降低电子 k 点数,但仍需测试倒空间采样密度。
  4. 只计算静态原子力,绝对不要弛豫位移结构,否则人为施加的测量位移会被消除。
  5. 按位移清单的准确顺序收集完整的 vasprun.xml,同时保留对应 YAML。命令中的省略号必须换成实际核验过的文件列表。
  6. 用实际原胞倒格矢定义声子路径,再单独用三维 q 网格计算 DOS 和热积分。电子 k 网格与声子 q 网格不是同一对象。

收敛与诊断

可比较 0.01 与 0.02 Å 等位移幅度:太小会放大力噪声,太大引入非谐项。比较超胞尺寸、电子 k 点及声学支附近的表现,不要只看某条高频光学支。自由平移的三维晶体在 Γ 点应有三条趋零声学支。声学和规则可以去除小的平移数值误差,但不能补救错误结构或严重不收敛的力。

对虚频模式绘图并观察本征矢动画。极小的 Γ 附近虚频可能随精度或超胞改善而消失;在有限波矢范围内稳定存在的虚频可能是真实结构不稳定性,不能为了得到漂亮热学曲线而删掉。极性绝缘体需利用 Born 有效电荷与高频电子介电张量处理长程偶极作用,并准确映射到 BORN 文件;不能用包含离子贡献的静态介电张量替代。

练习: Compare 2×2×2 and 3×3×3 cells at matched electronic sampling density. Track one acoustic slope, one optical frequency, and the largest apparent imaginary frequency. Explain which changes could come from interaction range and which from force noise. / 在相近电子采样密度下比较两种超胞,跟踪一条声学支斜率、一条光学频率及最大虚频,区分相互作用截断与力噪声的影响。

6.1.3 未执行输入与分析框架

本课输入均为未执行的教学示例,数值是待测试的起点;图为原创示意,不是实际计算结果。使用授权 VASP 和 PAW 数据,替换所有占位符,记录程序版本并自行检验收敛。

6.1.3.1 输入片段 1

# VASP force job for each externally displaced structure
IBRION = -1
NSW    = 0
PREC   = Accurate
EDIFF  = 1E-8
LREAL  = .FALSE.
LWAVE  = .FALSE.
LCHARG = .FALSE.
# Use tested ENCUT and material-appropriate occupations.

6.1.4 衔接学习

6.1.5 技术来源