VASP金属展宽测试
Cu四种SIGMA的真实输出,分清TOTEN、无熵能和零展宽估计,给出完整操作与图。
阅读本篇目录
金属费米面附近的占据对k点和展宽都敏感。本例固定Cu四原子晶胞,用同一8³网格比较四个SIGMA,并把自由能、无熵能和VASP给出的零展宽估计分开查看。
下载后先查看结果#
下载20个收敛条件的输入、实测输出与绘图资料。将下载文件保存为convergence.zip,上传到自己的工作目录,然后执行:
unzip convergence.zip -d convergence
cd convergence
bash analyze.sh
head analysis/results.csv
这一步只提取随包提供的实际输出并画图,不启动VASP。analysis/RESULTS.json按扫描类型整理结果,figures/保存高清图。结构图的各面板使用独立显示比例。

准备自己的复算#
bash prepare.sh
cat inputs/cutoff-550/input-check.log
prepare.sh按POSCAR元素顺序读取集群上已有且你有权使用的PAW PBE6.4赝势,Mo采用Mo_pv;POTCAR不随公开附件提供。然后实际调用vaspkit -task 108检查输入。已有不同的POTCAR会保留并停止,不会覆盖。新任务的四文件生成可参照VASPKIT输入准备和VASP输入文件准备;101生成INCAR模板、102生成SCF网格、103生成POTCAR、108检查输入。这个资料包已经准备好各组不同的扫描网格,不要再用102覆盖它们。
使用yskit取得适合自己账户、P100资源和VASP模块的提交脚本,核对随包run.slurm中的分区。原生计算经Slurm运行;不要在登录节点直接执行run.sh。各算例采用单GPU、1MPI、1CPU,组内顺序运行。
1. 提交与提取#
sbatch run.slurm smearing
squeue -u "$USER"
四个条件分别为SIGMA=0.05、0.10、0.20、0.30eV,ISMEAR均为1。结束后:
bash analyze-new.sh smearing
head analysis-new/smearing/results.csv
ls figures-new/smearing
原始结果仍位于analysis/和figures/;自己的结果位于analysis-new/smearing/与figures-new/smearing/。
2. 实际输入#
Cu四原子POSCAR:
Cu
1.0000000000000000
3.6350223440253209 -0.0000000000000000 0.0000000000000000
-0.0000000000000000 3.6350223440253209 -0.0000000000000000
-0.0000000000000000 -0.0000000000000000 3.6350223440253209
Cu
4
Direct
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.5000000000000000 0.5000000000000000
0.5000000000000000 0.0000000000000000 0.5000000000000000
0.5000000000000000 0.5000000000000000 0.0000000000000000
Cartesian
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
SIGMA=0.10eV的完整INCAR:
SYSTEM = smearing-0p1
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
EDIFFG = -0.02
IBRION = -1
NSW = 0
ISIF = 2
ISMEAR = 1
SIGMA = 0.1
LREAL = .FALSE.
LASPH = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NELM = 150
ALGO = Normal
ISYM = 2
NPAR = 1
KPOINTS:
Convergence tutorial fixed structure
0
Gamma
8 8 8
0 0 0
其余三个条件仅改变SIGMA。不要把金属的ISMEAR=1直接照搬到有带隙的绝缘体或半导体;本例Si和MoS2使用ISMEAR=0。
3. 结果里三种能量怎样看#

E₀差值以本次最小SIGMA=0.05eV为有限参照,并不假定这个最小值已经收敛:
| 参数 | E₀ / eV | ΔE₀ / meV·atom⁻¹ | 压力 / GPa | 最大力 / eV·Å⁻¹ |
|---|---|---|---|---|
| 0.05 | -14.90764610 | 0.000000 | 0.28378 | 0.000000 |
| 0.1 | -14.90847211 | -0.206503 | 0.29253 | 0.000000 |
| 0.2 | -14.90911333 | -0.366808 | 0.27189 | 0.000000 |
| 0.3 | -14.90858965 | -0.235888 | 0.22290 | 0.000000 |
三种能量及修正项:
| SIGMA / eV | F / eV | 无熵能 / eV | E₀ / eV | (无熵能−F) / meV·atom⁻¹ |
|---|---|---|---|---|
| 0.05 | -14.90804746 | -14.90684338 | -14.90764610 | 0.301020 |
| 0.10 | -14.90872031 | -14.90797572 | -14.90847211 | 0.186148 |
| 0.20 | -14.90906025 | -14.90921948 | -14.90911333 | -0.039808 |
| 0.30 | -14.90923096 | -14.90730703 | -14.90858965 | 0.480983 |
F对应TOTEN,无熵能对应energy without entropy,E₀对应energy(sigma->0)。图中修正项保留原始符号,不能为了看起来为正而取绝对值后混用定义;检查大小时可另看其绝对值。
Methfessel–Paxton展宽是数值积分方法,这里的SIGMA不是离子温度,也不直接等于真实电子温度。力和应力与自由能相容,不能认为E₀变化小就自动保证力、应力或所有金属性质都收敛。减小SIGMA通常需要配合更密的k点;本例固定8³用于展示步骤,不提供适合所有金属的默认展宽。
4. 手工核对与后续选择#
grep 'free energy TOTEN' work/smearing-0p1/OUTCAR | tail -n 1
grep 'energy without entropy' work/smearing-0p1/OUTCAR | tail -n 1
grep 'external pressure' work/smearing-0p1/OUTCAR | tail -n 1
先在自己的体系中联合检查SIGMA、k网格及目标性质,再确定优化时的设置。做高精度静态总能量或DOS时,可以根据金属性与可用k网格选择四面体方法;这需要新的计算,不能将此组ISMEAR=1的数字改名为四面体结果。
环境与输入约定#
本组实算使用VASP6.6.1的P100构建,NVHPC25.3/CUDA12.8;赝势为PAW PBE6.4。输入检查使用VASPKIT1.5.1,分析和绘图使用ASE3.29.0、NumPy2.3.5、Matplotlib3.11.2。本例是小体系操作参考,没有用于CPU平台性能对比。
EDIFF=1E-6控制电子收敛。模板保留EDIFFG=-0.02,但本组NSW=0,不执行原子位置或晶胞优化。所有差值来自固定几何下的单点计算;若需要优化结构,先看结构优化。电子收敛、离子力收敛和目标性质对输入参数的收敛是三个不同检查。
表格中的E₀是OUTCAR的energy(sigma->0),不是直接把TOTEN当作所有场景通用能量。压力和力与所用展宽自由能一致。每组用有限采样点作参照,参照点的差值为0由定义产生,不等于无限精度极限。
方法参考:VASP展宽方法。