ATAT 专题

ATAT钴自由能:从VASP力到振动项

用同一套PBE钴结构演示位移、VASP单点、弹簧拟合和振动自由能的具体操作。

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

本组三篇用固定FCC Co实例,把振动、电子和磁性自由能接到同一个静态能量参照。下载完整输入与实算数据。先做位移力与振动项,再处理电子和磁性项,最后合并为每原子自由能表。

这是操作参考:采用最近邻弹簧、铁磁背景的声子与DOS,以及有限两格点共线自旋模型;不据此报告收敛的Co相图或居里温度。

1 解压后先看结果#

mkdir ATAT-Co
python3 -m zipfile -e atat-Co-common-reference-*.zip ATAT-Co
cd ATAT-Co
bash results.sh
bash plot.sh

reference保存本站真实数据,inputs保存9组VASP输入,model保存ATAT原生位移和力拟合输入。读结果、作图都不启动DFT。

计算使用VASP6.5.1 GPU模块(NVHPC25.3环境、MKL2023.2)、PBE64 Co赝势;ATAT3.52工具为GCC13.3环境。每个VASP任务使用1个GPU和1个MPI进程,本站实际在P100与V10016G上运行。

2 结构与参数怎样设置#

固定FCC常规晶格参数为3.54 Å,原胞一原子。用于生成位移的母晶格完整内容为:

3.54 3.54 3.54 90 90 90
0 .5 .5
.5 0 .5
.5 .5 0
0 0 0 Co
cat model/lat.in
cat inputs/primitive-DOS/INCAR
cat inputs/primitive-DOS/KPOINTS

原胞DOS计算的核心INCAR设置如下,完整展开文件在包中:

ENCUT=500
PREC=Accurate
EDIFF=1E-6
ISMEAR=0
SIGMA=0.05
ISPIN=2
MAGMOM=1*2.0
LORBIT=11
ISYM=0
NSW=0
IBRION=-1
ALGO=Normal
NELM=160
LREAL=.FALSE.
LASPH=.TRUE.
ADDGRID=.TRUE.
NEDOS=4001
LWAVE=.FALSE.
LCHARG=.FALSE.

NSW=0表示单点,不做结构优化。原胞实际使用12×12×12 Gamma网格;其他晶胞按同一KPPRA目标生成各自网格。生产研究需要另做截断能、网格、位移与超胞收敛。

3 位移结构怎样生成#

在自己的工作目录准备lat.in、strname.in及0/str.out、0/str_relax.out后,原生生成命令为:

module load atat/3.52-8173m
fitsvsl -er=6 -ns=3 -ms=0.02 -dr=0.01

本例生成3个体积的位移结构,每个超胞16个原子、位移0.01 Å;另有3个未位移超胞和1个原胞DOS,再加两种磁态,共9组DFT计算。包中已经保存全部生成结果,不必为了看教程重新生成。

find model -name str.out -o -name str_unpert.out
cat model/0/vol_0/p+0.01_6_0/str.out

要重新运行这9组固定输入,在登录节点执行:

bash submit.sh
squeue -u "$USER"

脚本向Slurm提交9个单卡任务,结果放进新建的fresh;会按分区规则计费。POTCAR由有权限的集群势库读取,不随下载包分发。原始inputs和reference保留。

4 从力拟合到振动自由能#

VASP结束后,使用ATAT提取force.out和str_relax.out,把每个新位移结果放回对应的model/0/vol_*/p+...目录。总能量、力和结构必须来自同一项计算。

cd model
fitsvsl -f -op=1 -ncs -sig=12
cat slspring.out
cd ..

这里用线性“键长—刚度”关系,只保留最近邻纵向和横向弹簧。-ncs用于这个已经确认满秩的固定示例;自己的数据应先检查拟合是否欠定,不要用它掩盖输入不足。

真实DFT力与最近邻弹簧拟合

本例力拟合RMSE为0.00164882 eV/Å。最近邻近似不会等同于完整DFT力常数矩阵。

在包含str.out、str_relax.out、slspring.out、masses.in的目录运行振动计算:

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

-pa输出每原子量;-ns=1固定体积,不混入准谐体积优化。本站主网格频率均为正,svsl.out给出温度与振动自由能,0 K包含零点振动能。

也可直接重做包内已提供数据的短后处理:

bash postprocess.sh
head -n 5 work/Co-common-free-energy.csv

该命令重新执行拟合、振动、电子、自旋枚举与组合,读取已有真实DFT力和DOS,不重跑VASP。下一篇解释自旋DOS与磁态权重。

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

查看配图

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

100%查看原图 ↗