VASP晶胞约束

VASP晶胞优化:ISIF分支与停止条件

用真实位移Si8区分原子、形状和体积自由度,说明固定原子时如何选择停止条件。

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

下载15组有效输入、一个错误示例、实算数据和短命令脚本(ZIP)。本篇补充单轴、固定体积与固定形状中尚未展开的ISIF 0、1、5、6、8。先确定哪些自由度需要优化,再决定如何判断结束。

1 ISIF究竟允许什么变化#

ISIF 原子位置 晶胞形状 晶胞体积 应力输出
0 可变 固定 固定 不计算完整应力
1 可变 固定 固定 只有迹可靠
2 可变 固定 固定 完整张量
3 可变 可变 可变 完整张量
4 可变 可变 固定 完整张量
5 固定分数坐标 可变 固定 完整张量
6 固定分数坐标 可变 可变 完整张量
7 固定分数坐标 固定 可变 完整张量
8 可变 固定 可变 完整张量

本专题前一批已实际比较2、3、4、7,本篇补齐其余分支。不同ISIF不是精度等级;例如8适合保持形状的体积与原子共同放松,不能替代需要改变轴比或角度的3。ISIF=8从6.4.1起提供,其他版本边界见官方ISIF说明。

“固定原子”在晶胞优化语境里指分数坐标固定,晶胞变形仍会改变原子的笛卡尔坐标,不要仅看XYZ坐标变化就断言原子自由度已放开。

2 查看这批真实输入#

cat inputs/Si-isif5-native/POSCAR
cat inputs/Si-isif5-native/INCAR
cat inputs/Si-isif5-native/KPOINTS

Si8初始一个原子位移[0.03,-0.02,0.01] Å,故有非零原子力;相应晶胞再施加小应变。电子阈值1E-6、截断550 eV、Γ中心4×4×4。以仅调整形状的ISIF5为例,完整POSCAR为:

Si
 1.0000000000000000
     5.6471999999999998    0.0000000000000000    0.0000000000000000
     0.0000000000000000    5.2211538461538458    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.4299999999999997
 Si 
   8
Direct
  0.0055248618784530 -0.0036832412523020  0.0018416206261510
  0.2500000000000000  0.2500000000000000  0.2500000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.5000000000000000  0.0000000000000000  0.5000000000000000
  0.7500000000000001  0.2500000000000000  0.7500000000000000
  0.5000000000000000  0.5000000000000000  0.0000000000000000
  0.7500000000000001  0.7500000000000000  0.2500000000000000

对应的完整KPOINTS:

Si constraint branch tutorial
0
Gamma
4 4 4
0 0 0

完整INCAR:

SYSTEM=Si-isif5-native
ENCUT=550
PREC=Accurate
EDIFF=1E-6
EDIFFG=1E-6
ISYM=0
ISIF=5
IBRION=2
NSW=100
POTIM=0.3
ISMEAR=0
SIGMA=0.05
LREAL=.FALSE.
LASPH=.TRUE.
ADDGRID=.TRUE.
ALGO=Normal
NELM=150
LWAVE=.FALSE.
LCHARG=.FALSE.
NCORE=1

这里 EDIFFG=+1E-6 是相邻离子步总能量变化的停止标准,单位eV;不是1E-6 eV/Å的原子力。ISIF6同样使用能量停止;ISIF0/1/2/3/8中允许原子放松的算例仍使用 EDIFFG=-0.02。

3 为什么固定原子时不能照搬力停止#

我们另做的初始对照用ISIF5/6加 EDIFFG=-0.02。晶胞已接近稳定,但固定的位移原子仍有约0.45–0.47 eV/Å的力,无法满足0.02;继续迭代不能通过晶胞变形消除这个受限原子自由度的全部力。

因此本篇的正式仅晶胞对照改用能量停止,并额外核对允许变化的应力分量、体积和分数坐标。ISIF5固定体积,静水压力可以残留;ISIF6允许整体晶胞变化,需要关注完整应力。能量变化很小也不自动证明所有应力严格为零。

原子力0.02仍适用于这里的原子优化;它不能被套到明确定住原子的任务上。EDIFFG官方说明区分了能量停止和力停止。

4 实际结果#

ISIF5、6、8的真实体积与最大原子力轨迹

ISIF 离子步数 体积 / ų 最终原子最大力 / eV·Å⁻¹ 最大分数坐标变化
5 10 160.103007 → 160.103007 0.466894 0.000000
6 13 166.440524 → 163.600440 0.451194 0.000000
8 7 177.509066 → 163.620752 0.019750 0.003819

ISIF5/6的原子力仍非零,是预先选定自由度的结果;ISIF8允许原子放松,才能把位移引起的力降下来。原生与optcell全1对照使用相同物理输入,比较能量、晶胞与力,不将全1当成另一种独立算法。

Si原子分数坐标在不同自由度下的真实变化

5 运行、检查和拿到结果#

先重画参考数据:

unzip optcell-branches-wave264-*.zip
cd optcell-branches-wave264
bash run.sh

首次完整计算:

bash prepare.sh
bash calculate.sh
bash status.sh

15个小算例分别经Slurm使用一张匹配GPU。已经提交过就查看状态,全部完成后:

bash verify.sh
cat work/analysis/optcell-branches-summary.csv
cat work/Si-isif8-native/CONTCAR

自己结果在work,参考图在附件外层figures。verify.sh 按本包固定输入核对相应自由度;换成自己的体系后,还应重新检查精度和约束目标。本例VASP6.6.1原生/optcell采用NVHPC25.3/MKL2023.2,不作为晶格常数或Pulay应力收敛研究。

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

查看配图

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

100%查看原图 ↗