AMSET专题

AMSET极化声子频率:MgO与非解析修正

从完整MgO输入出发求声子、介电与Born电荷,复用力常数做NAC,用AMSET和Phonopy提取真实结果。

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

POP散射需要与所用方法一致的极化声子频率。AMSET提供phonon-frequency命令,将声子模式按程序定义的权重合成有效频率;它不是简单取最大的LO频率或声子DOS峰。本例用两原子MgO原胞展示完整操作。

下载输入、运行脚本、参考CSV与原图

1. 先看结果或完整重跑#

下载后保存为amset-cli.zip:

unzip amset-cli.zip
cd amset-complete-cli-wave269
module load amset/0.5.1
python preview.py

preview.py直接用真实AMSET接口读取包内所选声子数值,重新计算参考有效频率,输出约14.584979 THz,不启动VASP。

完整重跑时,按Mg、O顺序准备inputs/POTCAR,然后提交:

sbatch job.slurm
squeue -u "$USER"

作业脚本按CPU分区规则申请56核,教学流程在所分配范围内限制为8个物理核心、8个MPI进程;不是56核性能测试。完整流程先做Si的短命令例,再计算MgO,最后提取和画图。已有结果目录时请重新解压另一份,不直接覆盖。

实际使用VASP 6.6.1 CPU HDF5构建,Intel oneAPI 2024.2、Intel MPI 2021.13;AMSET 0.5.1,Phonopy 4.8.3。VASP与声子工具的环境由脚本分别加载。

2. MgO输入:先算介电、Born电荷和力常数#

如果只想运行本篇的两个VASP阶段,在另一份新解压目录准备POTCAR,并在已分配的至少8个物理核心内执行:

module load vasp/6.6.1-8173m-hdf5 amset/0.5.1
export YS_DFPT_INPUTS=inputs YS_PHONON_WORK=phonons-mgo
python run_dfpt.py

这个命令会依次完成DFPT和力常数复用的NAC;下面逐项解释其输入及结果。已经通过整包作业完成时,直接查看现有文件即可。

本例是自建岩盐MgO原胞,两个原子,常规晶胞参数4.2 Å。使用固定结构响应计算,实际原子力小于0.02 eV/Å;研究自己的材料时,应先优化结构,再核对k网格、截断和响应数值。

POSCAR#

MgO rocksalt teaching
1.0
0 2.1 2.1
2.1 0 2.1
2.1 2.1 0
Mg O
1 1
Direct
0 0 0
0.5 0.5 0.5

INCAR#

SYSTEM = MgO AMSET polar phonon teaching
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
EDIFFG = -0.02
IBRION = 8
NSW = 1
ISIF = 2
ISMEAR = 0
SIGMA = 0.05
LREAL = .FALSE.
LASPH = .TRUE.
ADDGRID = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NELM = 150
ALGO = Normal
ISYM = 2
LEPSILON = .TRUE.
NCORE = 1
KPAR = 1

KPOINTS#

Gamma mesh
0
Gamma
5 5 5
0 0 0

IBRION=8计算声子响应,LEPSILON=.TRUE.同时获取电子介电张量与Born有效电荷。NSW=1在这里用于响应步骤,不是普通结构优化。电子收敛用1E-6;EDIFFG=-0.02保留优化习惯写法,但不作为这一步声子响应的停止条件。

完成后先查看:

cd phonons-mgo/dfpt
grep -E 'EDIFF is reached|Linear response finished|General timing' OUTCAR
ls -lh vasprun.xml vaspout.h5

这些是你自己计算生成的真实输出。下载包只提供精选数值数据,不包含完整VASP日志、XML、波函数或POTCAR。

3. 用Phonopy辅助提取介电和Born张量#

在已完成的DFPT目录执行:

module load phonopy/4.8.3
phonopy-vasp-born vaspout.h5 > BORN
cat BORN

本例明确给出HDF5文件名,得到可由Phonopy继续读取的BORN文件。这个版本中直接使用无参数命令,可能在输出中夹入文件选择提示;显式文件名可避免这类格式混入。完整脚本已采用上面的写法。

实际电子介电张量近似为3.18873189 × I,Mg、O的Born对角元分别约为+1.97652 e、-1.97652 e,非对角元接近零。用于NAC的是离子钳制的电子介电响应,不应把包含离子振动贡献的低频总介电常数直接填进去。

4. 复用力常数计算NAC,不重复DFPT#

极性材料在Γ附近需要处理长程偶极相互作用。完整脚本把上一步的vaspout.h5复制为新目录的vaspin.h5,并填写真实介电与Born张量:

mkdir -p ../nac
cp vaspout.h5 ../nac/vaspin.h5
cp POSCAR KPOINTS ../nac/

实际NAC输入的关键设置是:

LPHON_READ_FORCE_CONSTANTS = .TRUE.
LPHON_DISPERSION = .TRUE.
LPHON_POLAR = .TRUE.
PHON_NWRITE = -3
PHON_DIELECTRIC = [上一步实际电子介电张量,按行展开]
PHON_BORN_CHARGES = [上一步实际Born张量,按原子、按行展开]

完整程序自动填写数值,并保留实际生成的phonons-mgo/nac/INCAR。QPOINTS如下,用Γ到一个小倒空间坐标确定本例的路径方向:

Gamma to small reciprocal q for NAC
2
Line-mode
Reciprocal
0 0 0
0.001 0 0

读取已保存力常数时,VASP只完成声子后处理,不重新做电子结构和力常数计算。具体标签和格式可参照VASP力常数复用说明、声子输出格式及极性声子流程。

5. 运行AMSET前处理好版本格式与质量约定#

AMSET 0.5.1对当前VASP 6.6文本NAC特征向量的排布读取需要兼容处理。本包从原始HDF5读取高精度模式,再生成明确标记的OUTCAR.amset:

cd ../..
module load amset/0.5.1
python prepare_nac_for_amset.py mgo

原始OUTCAR和vaspout.h5保持。生成文件只是给AMSET读取的派生数值格式,不是新的原始VASP日志。

该步骤还统一质量加权向量的约定。本例VASP使用O质量16.0,而pymatgen采用15.9994;在接近零的声学频率上,直接混用会放大很小的差别。脚本按√(M_pymatgen/M_VASP)转换向量,使每个实际位移保持一致,频率与Born张量不改,也不裁剪声学频率。

然后运行真实AMSET命令:

amset phonon-frequency \
  --vasprun phonons-mgo/dfpt/vasprun.xml \
  --outcar phonons-mgo/nac/OUTCAR.amset

完整run.sh已经包含这些步骤,普通使用不需要手工重做。自行更换软件版本或输出格式时,应重新核对对应关系,不要把这个兼容方法直接套到所有文件。

无NAC对照可以直接使用DFPT输出:

amset phonon-frequency \
  --vasprun phonons-mgo/dfpt/vasprun.xml \
  --outcar phonons-mgo/dfpt/OUTCAR

这一步不会自动补上NAC;在极性体系中应区分其含义。AMSET对输入和频率合成的说明见官方输入文档。

6. 实际结果#

数值 本例结果
PBE能隙 4.8095 eV
电子介电张量对角元 3.18873189
Mg Born对角元 约+1.97652 e
无NAC有效频率 12.0885657 THz
NAC的两个横光学频率 约12.088555 THz
NAC的最高纵光学频率 约21.197119 THz
按AMSET模式权重合成的NAC有效频率 14.584979 THz

前三个声学模式保留原始约1.3E-6 THz的数值,按一致质量约定计算后的权重和小于1E-8;两个横光学模式的权重各约0.363,纵光学模式约0.274。有效频率与最高LO频率不同,是程序采用的模式权重定义造成的,不应把二者改写成同一个参数。

MgO周期近邻、真实NAC声子频率和电子介电张量

本例用于讲清流程和参数含义,未做MgO材料级收敛研究,表格不是通用输运参数推荐值。实际输运研究仍需按材料、所用散射模型和频率近似判断POP参数。窄带隙材料还需特别检查电子带隙、占据与k网格对介电响应的影响;仅得到正数不能说明响应已可靠。

7. 最后得到哪些文件#

cat analysis/MgO-phonon-summary.csv
cat analysis/MgO-polar-modes.csv
ls figures

汇总CSV包含频率、介电与Born结果;模式CSV列出六个模式的频率、权重和偶极分量。python analyze.py与python plot.py复用已完成结果,不会重跑DFPT。

完整命令列表见AMSET命令索引,后续如何把材料参数送入散射与输运计算见散射机制和参数对照。

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

查看配图

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

100%查看原图 ↗