VASP晶胞约束

VASP晶胞约束上手与结果检查

先分清原子和晶胞优化,再用短命令复现11个小体系约束算例。

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

下载全部输入、实算数据和短命令脚本(ZIP)。本专题按使用场景拆成四篇:约束入门 → MoS₂固定晶胞高度 → 单轴、固定体积与固定形状 → 非正交晶胞与剪切。

1 结构优化到底优化什么#

原子位置优化改变原子坐标;晶胞优化改变晶格长度、角度或体积。两者可以同时进行,也可以只做其中一种。POSCAR的 Selective dynamics 控制原子自由度,不等于固定晶胞。

目标 本专题使用的设置
固定整个晶胞,只优化原子 ISIF=2
原子和选定晶胞形变同时优化 ISIF=3 配合补丁或原生约束
固定体积,允许形状和原子调整 ISIF=4
固定形状,只改变体积 ISIF=7,本例理想Si原子保持分数坐标

这些选项决定自由度,不替代截断能、k点、电子收敛和最终力检查。本例电子阈值1E-6,原子力目标0.02 eV/Å。

2 先重画真实结果#

unzip optcell-practical-wave262-*.zip
cd optcell-practical-wave262
bash run.sh

这个入口读取本集群真实VASP结果,生成四张PNG和两张CSV,不提交计算。

ls figures
cat analysis/optcell-summary.csv
head analysis/optcell-trajectories.csv

数据表保留每一步能量、体积、晶轴长度、夹角、原子力及应力。只看CONTCAR存在不足以判断优化是否完成。

3 自己完整运行一次#

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

prepare.sh 建立自己的 work/,用VASPKIT 1.5.1的103任务按元素顺序生成授权赝势;附件不包含POTCAR。calculate.sh 将11个小算例分别通过Slurm提交,每个使用一张匹配的P100或V100 16G。不要在已经提交后删除提交记录再次执行,以免重复计算。

全部任务完成后:

bash verify.sh
ls work/analysis
ls work/figures

新算结果在 work/,附件参考图在最外层。run.sh 重画的是随包提供的参考结果,不会自动把参考数值替换成自己新算的数值。示例输入保持原样时,可直接用 verify.sh 检查复现;改成自己的体系后,应按自己的输入、原子数和约束目标重新检查。

4 两种约束入口#

补丁分支:

ISIF = 3
IOPTCELL = 1 0 0 0 1 0 0 0 0

只在相应 vasp/6.6.1-p100-optcell 或V100 optcell模块中使用。本集群的九整数写在INCAR,不能把其他项目的外部 OPTCELL 文件格式直接套入。

原生分支:

ISIF = 3
LATTICE_CONSTRAINTS = .TRUE. .TRUE. .FALSE.

本专题实际采用VASP 6.6.1。原生 LATTICE_CONSTRAINTS 与IBRION 1/2的组合从6.4.3起支持,与ISIF 4/5的组合从6.5.1起支持,较早版本还有相关修复边界,选择其他版本请核对官方说明。

5 软件环境#

本例P100、V100 16G分别使用6.6.1原生及optcell分支,NVHPC 25.3、MKL 2023.2;脚本装载各自匹配的MPI和GPU环境。CPU节点性能数据不在本专题中。

module show vasp/6.6.1-p100-optcell
module show vasp/6.6.1-v100

本例是约束操作参考,不是材料晶格常数的高精度收敛研究。后续计算能带、缺陷或吸附时,应在一致精度下另做合适的静态计算。

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

查看配图

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

100%查看原图 ↗