VASP晶胞约束

非正交晶胞的optcell与原生约束

通过真实Si剪切对照说明九整数掩码作用在形变驱动力上,不能直接当成POSCAR矩阵开关。

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

下载全部输入、实算数据和短命令脚本(ZIP)。对正交胞,固定某一方向通常容易直观理解;对非正交或旋转的晶胞,要先确定约束作用在哪个张量和坐标系上。

1 起始结构与两种允许自由度#

本例Si8初始晶格为:

5.4300  0.0000  0.0000
0.2172  5.4300  0.0000
0.0000  0.0000  5.4300

第二个晶格矢量有x分量,面内夹角约87.71°。完整结构和电子参数在附件中:

cat inputs/Si-shear-opt/POSCAR
cat inputs/Si-shear-opt/INCAR
cat inputs/Si-shear-native-plane/INCAR

补丁只保留xy、yx形变驱动力:

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

原生对照允许面内两个方向,固定层外方向:

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

两者有意设置为不同自由度:后者还允许面内对角伸缩,不是“同一约束的两种等价写法”。

2 九个整数到底约束什么#

本集群 cell_relax_finner 补丁按xx、xy、xz、yx、yy、yz、zx、zy、zz的行序屏蔽笛卡尔形变驱动力矩阵。晶格的每一步变化由该矩阵作用于当前晶格产生。

因此,屏蔽xx驱动力不等于永远固定POSCAR中aₓ这一数值:非正交晶格存在耦合,连续剪切也可能积累对角变化。不能把九个数解释为九个晶格矩阵元素的直接开关。

原生约束按相应方向屏蔽张量的行和列。在斜晶胞中,晶格角度也不一定保持不变,参见原生约束说明。

3 实际结果#

两个不同自由度的Si剪切优化轨迹

项目 仅xy/yx驱动力 原生面内放松
离子步数 5 6
初始体积 / ų 160.103007 160.103007
最终体积 / ų 160.066667 163.211393
最大原子力 / eV/Å 0.00101 0.000451

两组夹角都接近90°,但体积和能量不同,因为允许的形变不同。仅剪切那一组体积也发生了约0.023%的变化,不能把“对角驱动力为0”说成严格固定体积;若目标就是固定体积,应选择对应原生自由度并核对实际体积。

仅剪切那一组最终法向压应力仍约2 GPa;原生面内放松允许该应力进一步释放。因此不能只因原子力小于0.02 eV/Å,就宣称所有应力都已优化。

4 跟着运行并检查全过程#

整套算例首次提交:

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

全部完成后:

bash verify.sh
cat work/Si-shear-opt/CONTCAR
cat work/Si-shear-native-plane/CONTCAR
head work/analysis/optcell-trajectories.csv
cat work/analysis/optcell-summary.csv

换成自己的斜晶胞时,先写清固定的是长度、角度、体积、某个笛卡尔方向,还是形变张量分量。再用小任务检查每一步晶胞和残余应力,确认约束符合物理目标后开展正式计算。本专题实际比较ISIF 2、3、4、7及所列掩码,其他组合不能仅凭这里的结果认定等价。

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

查看配图

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

100%查看原图 ↗