LOBSTER专题

LOBSTER 自旋COHP与电荷:读出每条键的贡献

OH和弯曲NO₂的ICOHP、自旋与轨道求和,以及Mulliken和Löwdin电荷。

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

下载VASP输入、LOBSTER输入、原生结果、CSV和画图脚本,保存为example.zip:

python3 -m zipfile -e example.zip .
cd lobster-spin-examples
bash results.sh
bash plot.sh

使用LOBSTER6.0.0官方g++9.3静态OpenMP版;前置VASP6.6.1采用NVHPC25.3、CUDA12.8、HPC-X2.22.1及MKL2023.2。两套固定小分子在集群实际完成VASP及普通LOBSTER投影,本文复用其结果。VASP需要用户具备相应使用资格和POTCAR;下载包不分发POTCAR或WAVECAR。

1. 从同一套投影继续读数据#

本篇直接使用自旋DOS教程的两套VASP和LOBSTER结果,不需要为每张图重算。cohpBetween ... orbitalWise同时给出整条键和轨道配对贡献。

cat inputs/OH/lobsterin
cat inputs/NO2/lobsterin
cat reference-results/OH/ICOHPLIST.lobster

NO₂的完整文件分别选择N1–O2、N1–O3,不能只看平均列而漏掉两条键。

2. ICOHP如何读#

本例原生ICOHP,单位eV:

键 自旋↑ 自旋↓ 两自旋之和
OH:O1–H2 −3.83321531 −3.86112596 −7.69434127
NO₂:N1–O2 −7.93442705 −9.31486622 −17.24929327
NO₂:N1–O3 −8.17970384 −9.31477362 −17.49447746

这是特定固定结构、基组和自旋设置下的投影结果,不是断键能或反应能。不要用OH和NO₂的绝对ICOHP大小直接排列化学键强弱。弯曲NO₂的两条键也可能因当前电子态、数值设置而表现出不同贡献,不应仅凭输入几何接近对称就强行取相同值。

head -n 12 reference-results/NO2/COHPCAR.lobster

COHPCAR包含平均、整键和轨道配对曲线,并分别存储两个自旋的微分与积分列。列数随所选键和轨道变化,不能固定“第3列永远是第一条键”的通用脚本。配套画图先读曲线数量,再定位本例整键列。

第一条整键的实际自旋分辨负COHP

图画的是负COHP,正方向通常表示该约定下的成键贡献。讨论占据贡献时同时检查实际自旋占据;本例固定总磁矩,不能只拿公共零点下的某一列数值替代原生ICOHPLIST。

3. 轨道求和#

OH的O2s–H1s与O2p各分量在各自旋下求和,分别恢复整键ICOHP。NO₂的每条N–O键也应对所有所列轨道配对求和,不能只挑一条p轨道当成整键。

grep 'O1_' reference-results/OH/ICOHPLIST.lobster
grep 'N1_' reference-results/NO2/ICOHPLIST.lobster

不同版本输出名称可能变化,先读表头和轨道标签。微分曲线受展宽与网格影响,积分与原生占据定义也要一起看。

4. 电荷分析#

cat reference-results/NO2/CHARGE.lobster
cat NO2-charges.csv

NO₂的Mulliken电荷约为N +0.53865517e、O2 −0.28217939e、O3 −0.25647584e,合计在打印精度内为零。Löwdin约为+0.48583823e、−0.25345930e、−0.23237899e。

Mulliken与Löwdin采用不同分区定义,数值不应要求相同;它们也不是唯一可观测的原子电荷。更换基组或投影设置后,电荷与ICOHP都要用同一方案比较。

本篇使用普通自旋投影、DOS、COHP和电荷输出,没有把单独SOMO密度导出当作已经可用的步骤。

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

查看配图

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

100%查看原图 ↗