第四节 输入文件详解(一):INCAR参数详解

各位同学,今天我们来啃一块硬骨头——INCAR文件。说实话,我刚学VASP那会儿,看到INCAR里密密麻麻的参数,头都大了。但后来我发现,只要抓住几个核心参数,剩下的都是锦上添花。今天我就带大家把这几个关键参数掰开揉碎了讲清楚。

4.1 INCAR是什么?

INCAR,全称是Input CARds,说白了就是VASP的"控制面板"。你告诉VASP想算什么、怎么算、算多准,全写在这个文件里。我习惯把INCAR比作做菜的菜谱——材料(POSCAR)准备好了,工具(POTCAR)就位了,但火候多大、加多少盐、炖多久,这些都得看INCAR。

核心要点:INCAR文件控制计算的每一个细节,从精度到算法,从收敛标准到输出内容。

4.2 SYSTEM参数——给你的计算起个名字

SYSTEM这个参数,说白了就是个标签。它不影响计算本身,但能帮你区分不同的任务。我个人的习惯是这么写的:

SYSTEM = Fe_bcc_ENCUT_500

这样一看就知道,这是体心立方铁的算例,截断能设了500 eV。你想想看,当你同时跑十几个任务时,这个命名习惯能救你的命。

小技巧:SYSTEM字符串会出现在OUTCAR文件的开头,方便你快速定位。

4.3 ENCUT参数——计算精度的"命根子"

ENCUT,全称Energy Cutoff,就是平面波基组的截断能。这个参数直接决定了计算的精度。为什么这么说?因为VASP用的是平面波基组,理论上需要无穷多个平面波才能精确描述电子波函数。但现实中我们只能取有限个,截断能就是那个"砍一刀"的位置。

我记得刚入行时,有个师兄跟我说:"ENCUT设得越高越准。"这话没错,但也不全对。ENCUT太高,计算慢得让你怀疑人生;太低呢,结果又不可靠。那怎么选?

我的经验法则:

  • 对于大多数体系,取POTCAR中ENMAX值的1.3倍
  • 做结构优化时,至少取1.3倍
  • 做精确的电子结构计算(如DOS、能带),建议取1.5倍
# 典型设置
ENCUT = 520        # 对于大多数3d过渡金属,520 eV是个安全值
# 或者
ENCUT = 1.3 * ENMAX  # 自动读取POTCAR中的推荐值

注意:千万不要把ENCUT设得比ENMAX还低!我曾经犯过这个错误,算出来的晶格常数差了5%,白跑了一周。

4.4 ISMEAR和SIGMA——处理费米面的艺术

这两个参数要放在一起讲,因为它们是一对"好基友"。ISMEAR控制的是如何对电子占据数进行展宽,SIGMA则是展宽的宽度。

ISMEAR的取值:

ISMEAR值 方法 适用场景
-5 四面体方法 静态计算、DOS计算(半导体和绝缘体)
0 高斯展宽 通用,但需要小心SIGMA
1 Methfessel-Paxton 1阶 金属体系的结构优化
2 Methfessel-Paxton 2阶 金属体系,比1阶更稳定

为什么会这样?因为不同体系的费米面附近电子态密度不一样。金属在费米面处有大量电子态,需要平滑处理;半导体和绝缘体在费米面处是带隙,用四面体方法更准。

SIGMA怎么设?

  • 对于金属(ISMEAR=1或2):SIGMA通常取0.1~0.2 eV
  • 对于半导体/绝缘体(ISMEAR=-5):SIGMA可以设0.05,但实际用不到
  • 结构优化时:SIGMA取0.2左右,让电子收敛更稳定

避坑指南:我曾经算一个磁性体系,ISMEAR设了-5,结果死活不收敛。后来换成ISMEAR=1,SIGMA=0.2,一步就收敛了。记住:结构优化时别用ISMEAR=-5!

4.5 常用参数模板

下面我给出几个常用的INCAR模板,都是我在项目中反复验证过的。你可以直接拿来用,但记得根据体系微调。

模板一:结构优化(金属体系)

SYSTEM = Metal_optimization
ENCUT = 520
ISMEAR = 1
SIGMA = 0.2
EDIFF = 1E-5
EDIFFG = -0.02
NSW = 100
IBRION = 2
ISIF = 3
PREC = Normal
LREAL = Auto
LORBIT = 11

模板二:静态自洽计算(获取准确能量和电荷密度)

SYSTEM = Static_SCF
ENCUT = 600
ISMEAR = -5
SIGMA = 0.05
EDIFF = 1E-6
NSW = 0
IBRION = -1
PREC = Accurate
LREAL = False
LORBIT = 11

模板三:能带结构计算

SYSTEM = Band_structure
ENCUT = 600
ISMEAR = -5
SIGMA = 0.05
EDIFF = 1E-6
NSW = 0
IBRION = -1
PREC = Accurate
LREAL = False
LORBIT = 11
ICHARG = 11

个人经验:能带计算时,ICHARG=11表示读取之前的CHGCAR文件,这样能保证能带和自洽计算的电荷密度一致。我刚开始不懂,直接从头算能带,结果费米能级对不上,折腾了两天。

4.6 参数之间的"化学反应"

INCAR里的参数不是孤立的,它们之间会相互影响。举个例子:

  • ENCUT和PREC:PREC=Accurate会自动提高ENCUT到1.3倍,还会改变FFT网格密度
  • ISMEAR和SIGMA:SIGMA太大,能量会偏高;太小,电子收敛困难
  • EDIFF和EDIFFG:EDIFF控制电子步收敛,EDIFFG控制离子步收敛,两者要匹配

你想想看,如果EDIFF设了1E-4,但EDIFFG设了-0.01,那离子步收敛时电子步还没收敛,结果肯定不准。我一般让EDIFF比EDIFFG对应的能量精度高一个数量级。

4.7 本章知识体系

下面这张图帮你理清INCAR参数的核心逻辑:

INCAR参数核心知识体系 INCAR控制文件 计算类型控制 IBRION: 离子步算法 NSW: 最大离子步数 ISIF: 应力/晶格控制 精度与收敛 ENCUT: 截断能 EDIFF: 电子步收敛 EDIFFG: 离子步收敛 PREC: 精度预设 电子结构处理 ISMEAR: 展宽方法 SIGMA: 展宽宽度 LORBIT: 投影态密度 核心原则:精度与效率的平衡 结构优化用ISMEAR=1,静态计算用ISMEAR=-5 记住:没有万能参数,只有最适合你体系的参数

4.8 写在最后

INCAR参数看起来多,但核心就那几个。我建议你从模板开始,然后根据计算结果逐步调整。刚开始别追求完美,先跑通一个算例再说。嗯,这里要注意:每次只改一个参数,这样出了问题才知道是哪个参数搞的鬼。

好了,这一节的内容就到这里。INCAR里还有很多其他参数,比如ISPIN、MAGMOM、LDAU等,我们后面会专门讲。先把今天这几个吃透,你的第一性原理计算就算入门了。


公众号:蓝海资料掘金营,微信deep3321