Ex3.6 VASP的输出文件 PROCAR
本节我们简单介绍一下VASP中关于电子结构描述的输出文件:PROCAR。 一如既往,我们的学习逻辑思路就是:1) 了解这个文件包括什么信息; 2)文件的数据结构是什么样子的 ;3) 由什么参数控制; 以及 4)通过什么脚本/程序可以读取并分析结果 。本文更多的是提供一个简单的概括,让你对它有一个比较直接的认识,至于如何具体使用相关的脚本或者程序去分析,就要你自己去看相关的说明书去摸索了。 更多的信息参考 VASP 官方 Wiki:https://www.vasp.at/wiki/index.php/PROCAR。
1.简单介绍
简单来说, 在 VASP 的静态(非分子动力学)计算中,PROCAR 文件记录了每条能带的轨道投影波函数特征,包括 spd 轨道及对应离子的投影贡献。投影值源于将 Kohn–Sham 波函数在每个离子附近的球内进行积分,得到各轨道类型的“贡献”值;球外(密度泛函间区域)的贡献不包括在内。这些投影数据可以帮助分析电子态的局域化性质和轨道贡献,常用于能带结构分析、轨道成分分析和胖带图(fat band)绘制等。
2. 控制参数:
- LORBIT < 10 时,必须在 INCAR 文件中设置
RWIGS,用于定义每个离子投影区域的球半径。这时,轨道投影是基于球谐函数,区域仅限于由RWIGS确定的球体内。 - LORBIT ≥ 10 时,无需设置
RWIGS,投影是基于 VASP 所用的投影算符(projector functions)。
因此,根据计算需要选择合适的 LORBIT 值(11 或 12 常用)及是否设置 RWIGS。
- 当ISPIN = 2,以及
LNONCOLLINEAR =.TRUE.时,PROCAR的信息会相应的变化。 - 某些并行设置(例如
NPAR ≠ 1)可能导致 PROCAR 文件缺失或投影信息未输出,请确保并行参数不会影响 PROCAR 的生成。
3. 文件结构
# of k-points: Nk # of bands: Nb # of ions: Ni
k-point ik : kx ky kz weight = w
band ib # energy E # occ. occ_value
ion s py pz px dxy dyz dz2 dxz dx2-y2 tot
1 ... ... ... ... ... ... ... ... ... ...
2 ... ... ... ... ... ... ... ... ... ...
...
tot ... ... ... ... ... ... ... ... ... ...
- 第一行显示了网格总 k 点数、能带数量和离子总数;
- 接着每个 k 点的坐标和权重(weight);
- 每个能带对应一段,包含能量值(energy)和占据数(occ);
- 后面是每个离子按轨道(s、py、pz、px、dxy、dyz、dz2、dxz、x²−y²)投影后的贡献值,以及 tot 表示该离子的总贡献。
4. 常见用途及脚本/程序
-
绘制胖带图(Fat Band) 将 PROCAR 中每条能带上各轨道的投影作为带图宽度,可以直观显示各轨道贡献。
-
轨道分析 比如分析能带带性质(s、p、d 轨道成分),或对吸附态进行轨道贡献分解。
-
结合 PyProcar 可视化
PyProcar 是一个 Python 工具,用于从 PROCAR 文件提取信息并绘图,支持能带可视化、DOS 投影等功能。
- 结合cgrad可视化
RSGRAD 也是一个强大的后处理工具,可以通过读取PROCAR做类似PyProcar 的事情。
- VASPKit 等软件也有相关的功能,自己可以尝试去摸索。
5. 简单小结
| 内容分类 | 要点 |
|---|---|
| 控制参数 | LORBIT 决定投影方式;RWIGS 仅对 LORBIT < 10 有效 |
| 文件结构 | 每个 k 点、能带、离子均有对应投影值 |
| 投影意义 | 仅包含 RWIGS 球体内的成分,真实物理解释需结合态密度 DOS |
| 应用场景 | 胖带图、轨道成分、可视化工具(如 PyProcar, rsgrad, vaspkit等) |