VASP DFT+U计算入门
用固定NiO结构上的U参数对照,学习LDAU设置、带隙和局域磁矩读取。
阅读本篇目录
DFT+U常用于含局域d或f电子的体系。本例用NiO说明怎样启用、怎样检查输出,以及为什么不能随意调U把结果调到“满意”。
1. 先明确结构、磁性和作用轨道#
使用岩盐NiO,立方晶格常数4.17 Å;将两原子原胞沿第一基矢翻倍,得到2个Ni和2个O。给两个Ni相反的初始磁矩,O初始为0。这里比较的是该固定结构和磁性初值下的参数响应,没有比较所有磁序,也没有把它命名为经过搜索确认的基态。
POSCAR元素顺序为Ni、O。设置U时,LDAUL、LDAUU、LDAUJ必须逐项对应这个顺序;换成O、Ni顺序后也必须换数组顺序。
2. 设置并提交四个静态算例#
ISPIN = 2
MAGMOM = 2 -2 0 0
LDAU = .TRUE.
LDAUTYPE = 2
LDAUL = 2 -1
LDAUU = 4 0
LDAUJ = 0 0
LMAXMIX = 4
LORBIT = 11
这段表示对Ni的d轨道加Dudarev形式的Ueff=U−J=4 eV,O不加U。将LDAUU中的4依次改成0、2、4、6,其他参数保持一致。本例用5×5×5 Gamma网格、NSW=0,只比较固定结构,不同时改变晶胞或原子位置。
每个目录执行sbatch run.sh。收敛后读取OUTCAR中的局域磁矩及能级;如需能带图,应先保存对应U值的CHGCAR,再用同一U和LMAXMIX进行后续计算。
3. 本次实际结果#
带隙为本次k网格上最高占据态与最低空态之差,不等同于经过密集带边搜索后的精确基本带隙。Ni磁矩是PAW球内投影,数值不是任意空间分区下都相同。
| Ueff / eV | 采样带隙 / eV | Ni1磁矩 / μB | Ni2磁矩 / μB |
|---|---|---|---|
| 0 | 1.0032 | 1.344 | -1.344 |
| 2 | 2.0173 | 1.522 | -1.522 |
| 4 | 2.8200 | 1.639 | -1.639 |
| 6 | 3.4806 | 1.737 | -1.737 |

4. 如何为自己的体系选U#
先查与相同元素、氧化态、赝势、投影和泛函兼容的参考,再检查目标性质对U的敏感性;如需要自洽确定相互作用,可研究线性响应或cRPA,而不是仅靠拟合一个带隙。
不要跨不同U直接比较绝对总能量来选择“最稳定U”。 比较磁序或结构能差时,应先固定同一个U及全部方法设置。优化结构时也应保留同一套U设置。本页未做U的第一性原理标定,也不把4 eV作为所有Ni体系的通用推荐。
参数定义见VASP DFT+U介绍及LDAUTYPE。
环境、输入与结果下载#
本页在鸢算科技集群实际计算,使用VASP 6.6.1、PBE PAW64、ENCUT=550 eV、EDIFF=1E-6;结构优化以自由原子力0.02 eV/Å为目标。GPU程序由NVHPC 25.3、CUDA 12.8、HPC-X 2.22.1及MKL 2023.2构建。热化学后处理使用ASE 3.29.0。具体设置见每个目录的INCAR。
先阅读下载包README,准备有权使用且与POSCAR元素顺序一致的POTCAR,然后在对应目录执行sbatch run.sh。参考数据用于对照;重新计算后请从自己的输出提取数据。包内不分发POTCAR、WAVECAR或CHGCAR。