LOBSTER专题

LOBSTER计算COOP、COBI与轨道分解

对照Si的三种成键曲线,提取轨道对贡献并区分能量与键级量纲。

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

COHP、COOP与COBI是互补的投影指标。COHP包含哈密顿矩阵信息,COOP描述重叠布居,COBI提供共价键级相关信息。不能因为三条曲线都随能量变化,就把它们当作相同单位的“键能”。

1 用同一套Si结果读取三种量#

输入准备中的默认Si任务会生成三套曲线和积分表:

cd work/p100/si/reference
ls COHPCAR.lobster COOPCAR.lobster COBICAR.lobster
ls ICOHPLIST.lobster ICOOPLIST.lobster ICOBILIST.lobster
head ICOOPLIST.lobster
head ICOBILIST.lobster

Si1—Si2、平移(0,0,-1)这一个实际原子对:ICOHP −4.56158978 eV,ICOOP +0.37944760,ICOBI +0.92604771。后两者积分为无量纲量,不能标成eV,也不能用同一个数值阈值判断三者的精度。

Si的三种能量分辨成键量

图中仅COHP取负号;COOP、COBI保留原始符号。曲线的正负解释依物理定义和作图约定,不应把三个纵轴机械地叫作“成键能”。

2 启用轨道分解#

lobsterin保留这一行:

cohpGenerator from 0.1 to 2.6 orbitalWise

原生积分表中,Si1 Si2是整个原子对,Si1_3s Si2_3p_y等是轨道对。本例同一原子对的3s—3s贡献:ICOHP −0.24765165 eV,ICOOP −0.01052380,ICOBI +0.02651702。这些轨道贡献需要和其他s—p、p—p项一起看,不能用单个轨道项代替总键。

使用pymatgen时应明确指定读取哪一种文件。先进入配套环境:

source /public/toolkit/miniconda3/etc/profile.d/conda.sh
conda activate pymatgen-2026.9.24
python

交互输入:

from pymatgen.io.lobster.outputs import Cohpcar, Icohplist
from pymatgen.electronic_structure.core import Spin
c = Cohpcar(filename="COOPCAR.lobster", are_coops=True)
print(c.energies[:5])
print(c.orb_res_cohp["1"].keys())
table = Icohplist(filename="ICOOPLIST.lobster",
                 are_coops=True, orbitalwise=True)
print(table.icohpcollection.get_icohp_by_label("1"))

读取COBI时改为are_cobis=True。pymatgen沿用了COHP、ICOHP一类通用字段名,即使当前解析的是COOP也会出现这些字段;物理含义由读取选项和原生文件决定。本例实际对照了原生表、公开读取接口与轨道求和。

3 轨道贡献如何导出#

配套流程已生成:

head data/orbital-curves.csv
head data/bond-integrals.csv

orbital-curves.csv列出量的种类、键编号、轨道组合、E−Ef、曲线和累积积分。求和时只合并同一键、同一能量、同一物理量下的轨道对;不要再加一次原子总行。没有启用orbitalWise的Na示例不含这一分解,空轨道表不表示总COHP失败。

4 金属示例的使用边界#

本组Cu的ICOOPLIST与COOPCAR在费米能附近的累积值存在差异:一条键分别约−0.08184328和−0.12450435。把曲线从500点加密到2500点后差异仍在,因此不能简单说“增加曲线点数就解决”。Cu在本组用于质量诊断;定量学习优先采用上面的Si结果,不把这两个Cu数值混称为同一个已核对积分。

输入准备 · COHP与ICOHP · COOP、COBI与轨道 · DOS与电荷 · 基组与投影质量 · 键长分布与辅助输出 · 缓存与结果导出

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

查看配图

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

100%查看原图 ↗