ABACUS 专题

ABACUS 无轨道DFT体积与压力实操

五个真实Al体积点,比较原生应力压力与独立能量导数,讲清单位、符号与有限差分。

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

如果改变晶胞体积,原生应力给出的压力能否和总能量的变化对应起来?本篇固定WT动能泛函、局域Al赝势和60 Ry截断,用五个真实SCF体积点做一个可直接复现的对照。

1. 得到参考数据#

下载全部输入与实际结果,解压后进入根目录:

bash analyze.sh

新计算用sbatch submit.slurm;CPU资源和模块选择见完整实操。图和CSV分别输出到reference/figures与reference/analysis;完整重算的输出在work。

WT真实能量体积曲线与独立压力差分

本例只是固定近似下的局部体积对照,未进行离子MD或严格状态方程研究,也没有把给定原胞体积称为实验平衡体积。

2. 晶胞怎样缩放#

以参考晶格常数为基准,分别乘0.98、0.99、1.00、1.01、1.02。三个基矢一起缩放,所以体积按比例的三次方变化;不能把晶格缩放1%理解成体积只变1%。原子使用分数坐标,几何位置随晶胞一起缩放。

晶格缩放 体积,ų/原胞 能量,eV/原胞 原生压力,GPa
0.98 14.723928 -57.911193207 7.248430
0.99 15.179276 -57.926897654 3.891838
1.00 15.643916 -57.933855090 0.987438
1.01 16.117942 -57.932969218 -1.514072
1.02 16.601449 -57.925073319 -3.654817

每个条件采用独立目录,不串联覆盖结果。当前KEDF、赝势和固定离子位置保持相同;若同时改变泛函或赝势,就不能把能量差仅解释为体积效应。

3. 压力的单位和符号#

采用P = −dE/dV,eV/ų到GPa乘160.21766208。原生TOTAL-STRESS和TOTAL-PRESSURE以kbar输出,转GPa乘0.1;标量压力是应力张量对角线平均值,不是三项直接求和。

中央体积处的实际对照:

方法 压力,GPa
原生应力迹/3 0.987438
五体积非等间隔差分 0.986581
两侧相邻点的割线 1.036334

五点差分与原生值相差约0.000857 GPa;相邻两点的割线差异更大,说明有限差分步长和体积点分布会影响结果。脚本先在中央体积附近做四次局部插值求导,再用独立的非等间隔差分权重交叉核对;不把这条局部插值曲线当作完整的物理状态方程。

4. 终端提取#

python - <<'PY'
import json
r = json.load(open('reference/analysis/RESULTS.json'))
e = r['WT_EOS']
for key in ['reference_volume_A3', 'native_pressure_GPa',
            'five_volume_derivative_GPa', 'two_volume_secant_GPa']:
    print(key, e[key])
PY

conditions.csv保留每个体积的原生能量、压力及优化停止信息。若需要更小的能量差或更精确的压力,先检查密度优化判据,再增加截断和缩小差分区间;不能仅凭原生日志保留很多小数位就认为物理精度同样高。

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

查看配图

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

100%查看原图 ↗