ATAT 专题

ATAT 铝实例:从 VASP 位移力到声子与振动自由能

用同一 PBE 铝体系串起位移生成、GPU VASP、近邻弹簧拟合、声子谱和振动自由能。

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

本篇用鸢算科技集群实际计算的 FCC Al,演示 fitsvsl → VASP → fitsvsl → svsl。下一篇再接上同一材料的电子自由能与总自由能。已有的振动静态参照教程解释能量参照;这里重点展示真实 DFT 力怎样进入流程。

1. 下载后先跑通完整后处理#

下载铝自由能完整操作包。在登录节点解压:

python3 -m zipfile -e atat-Al-PBE-free-energy-wave538-3049efce73cd.zip Al-example
cd Al-example
bash run.sh

这一步使用包内七组已经实际计算的 VASP 数据,重新运行原生弹簧拟合、声子、电子项与组合工具;不重新做 DFT。脚本通过 Slurm 申请一个计算节点 CPU 核心完成后处理。当前脚本申请 V100 16G 分区的一张卡所对应的作业资源,ATAT 后处理自身仍使用 CPU,不会因为位于 GPU 节点就变成 GPU 加速。

head -n 5 tables/Al-PBE-free-energy.csv
ls figures

结果为 CSV 和四张 PNG。work/ 保留本次中间文件与日志。运行完成后再次执行 bash run.sh 只导出已有结果;未完成的目录不会被静默覆盖。想重新从头计算时,按下一篇解压到新目录。

2. 铝结构和 VASP 输入#

常规 FCC 晶格常数为 4.05 Å,原胞一个 Al,原胞体积 16.60753125 ų。这是给定晶格的教学例子,没有把晶格常数称作已优化平衡值。本例原胞有三个声学支,不会出现多原子原胞的光学支。

cat reference-data/cases/primitive-DOS/POSCAR
cat reference-data/cases/primitive-DOS/KPOINTS
cat seed/vasp.wrap

原胞 POSCAR(加上元素行后的通用 VASP 写法)为:

Al FCC primitive
1.0
0.000000000 2.025000000 2.025000000
2.025000000 0.000000000 2.025000000
2.025000000 2.025000000 0.000000000
Al
1
Cartesian
0.0 0.0 0.0

原生 ATAT 在本例生成的是不单列元素名称的 VASP 4 格式 POSCAR,元素由 str.out、atomlabel.tmp 和有权限使用的 PAW 数据共同确定。包内保留原始输入;上面展示的是方便阅读的等价格式。

原胞 KPOINTS:

Al primitive mesh
0
Gamma
12 12 12
0 0 0

每组结构由 KPPRA=1728 自动生成相应网格,并不是所有 14 原子胞也使用 12×12×12。实际 INCAR 为:

SYSTEM=Al PBE fixed-structure free-energy example
ENCUT=500
PREC=Accurate
EDIFF=1e-6
ISMEAR=0
SIGMA=0.05
ISPIN=1
ISYM=0
NSW=0
IBRION=-1
ALGO=Normal
NELM=120
LREAL=.FALSE.
LASPH=.TRUE.
ADDGRID=.TRUE.
LWAVE=.FALSE.
LCHARG=.FALSE.
NEDOS=4001

EDIFF=1E-6 控制电子收敛;NSW=0、IBRION=-1 固定结构做静态力计算。这里不能在每次位移之后做离子弛豫,否则人为施加的微小位移会被优化掉。真实材料一般应先单独优化参考结构,再生成位移。ISYM=0 避免对施加位移后的力作不合适的对称化。本例所有七组使用相同 Al PBE PAW 数据与电子参数。

3. 为什么生成七组 DFT 计算#

原生位移生成命令为:

fitsvsl -er=6 -ns=3 -ms=0.02 -dr=0.01

-er=6 是生成位移超胞时的空间范围控制;-ns=3 取三个线性尺度,-ms=0.02 到 2% 线性膨胀,-dr=0.01 是 Å 单位的位移。2% 线性膨胀不等于 2% 体积膨胀。

本例原生工具实际生成三个位移后的 14 原子结构。加上三个相应的无位移参考超胞,再加一个原胞 DOS/静态能计算,共七组。全部位移都参与了拟合,没有按结果挑选结构。无位移参考结构用于检查参考力足够小,不能把它们误计为额外独立位移模式。

实际铝位移结构和 DFT 力拟合

左图箭头放大 30 倍便于观察;原始位移仍为 0.01 Å。右图为三个尺度合计 126 个力分量。最近邻模型有四个系数,独立设计矩阵为 126×4、满秩。它把纵向和横向弹簧分别写成键长的一次函数,属于有限参数近似,不是完整 DFT 力常数矩阵。实际力拟合 RMS 为 5.79×10⁻⁴ eV/Å,最大残差 1.59×10⁻³ eV/Å。

原生拟合命令为 fitsvsl -f -op=1 -ncs -sig=12。本包先独立确认四列设计矩阵满秩、条件数可接受,才使用 -ncs 跳过旧程序内置的奇异性判断;它不是让任意欠定拟合继续计算的通用开关。

4. 声子谱和振动自由能#

固定体积振动计算使用:

svsl -ns=1 -T0=0 -T1=1000 -dT=100 -kp=4000 -pa -sig=12 -m=masses.in

masses.in 中 Al 质量为 26.981538 u;-pa 输出按原子归一化。实际倒空间网格为 16×16×16,共 12288 个模式。包内还对生成的频率和自由能进行了独立核对。

Al 声子色散与振动态密度

色散路径为 Γ–X–L–Γ,每段 20 个点,包含各段端点。Γ=(0,0,0)、X=(0,1,0)、L=(0.5,0.5,0.5),坐标以常规立方倒格单位 2π/a 表示。右图为原生 SVSL 平滑显示的振动态密度;平滑的是展示曲线,不是改写模式频率或自由能。

cat work/thermo/dispersion/KPATH.in
head -n 4 work/thermo/harmonic-0/svsl.out

基准体积的零点振动能约 0.0374937 eV/atom;300 K 的振动自由能约 −0.00418766 eV/atom。振动自由能随温度降低并不意味着声子频率为负。若新材料出现虚频,需要检查结构、位移、相互作用范围和拟合,不能靠忽略负频率得到漂亮曲线。

包内另有三个尺度的准谐计算,结果位于 work/thermo/quasiharmonic/。只有 0–2% 膨胀的三个采样点,不能据此宣称热膨胀已收敛;最小值落到边界时应扩展体积范围。下一篇的总曲线始终使用固定基准体积,不把此准谐结果与固定体积 DOS 混合。

环境:ATAT 3.52(GCC 13.3);VASP 6.5.1 P100/V100 模块(NVHPC 25.3、MKL 2023.2);Python 使用集群 ASE 3.29.0 环境。ATAT 原生工具的能力与概念可参考官方功能说明。

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

查看配图

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

100%查看原图 ↗