QTAIM と ELF/LOL#
前章 は密度を処方箋で分割しました。本章は密度に自らを分割させます。2 つの トポロジー解析 — QTAIM(分子中の原子の量子論)と ELF(電子局在化関数)— は、恣意的な基底の選択なしに、 実空間場の形から原子・結合・孤立電子対を見つけます。「Multiwfn クラス」解析の核心です。
QTAIM:密度のトポロジーから原子を#
理論#
Bader の QTAIM は電子密度の勾配場 \(\nabla\rho(\mathbf r)\) を解析します。その臨界点(\(\nabla\rho = 0\) の点) が構造を分類します:
核臨界点(NCP)は各核に位置(密度極大)、
結合臨界点(BCP)は結合した 2 原子の間(結合に沿った密度の鞍点)、
環(RCP)とかご(CCP)臨界点は環状・かご状構造に現れます。
BCP を通じて 2 核を結ぶ結合経路が QTAIM の厳密な化学結合の定義であり、健全性チェック — Poincaré–Hopf 関係 \(n_{\text{NCP}} - n_{\text{BCP}} + n_{\text{RCP}} - n_{\text{CCP}} = 1\) — が正しい トポロジーで成り立たねばなりません。QTAIM は空間を原子ベイスン(ゼロフラックス面で囲まれた領域)にも分け、 ベイスン上で \(\rho\) を積分すると基底に頑健な原子電荷(「Bader 電荷」)が得られます。
使い方#
import qc
water = "O 0 0 0.117; H 0 0.757 -0.469; H 0 -0.757 -0.469"
m = qc.chk.new(atom=water, ao="cc-pvdz", unit="angstrom").scf(ref="r").run()
topo = qc.prop.qtaim.topology(m)
topo["counts"] # {'nuclear': 3, 'bond': 2, 'ring': 0, 'cage': 0}
topo["poincare_hopf"] # {'sum': 1, 'holds': True}
topo["critical_points"][0] # {'type': 'nuclear', 'position': [...], 'rho': 297.19, 'atoms': [0]}
水では QTAIM はちょうど3 核 + 2 結合臨界点(2 本の O–H 結合)を見つけ、環もかごもなく、Poincaré–Hopf 和は 1 — トポロジー的に整合した結果です。原子ベイスンを積分すると Bader 母集団が得られます:
bader = qc.prop.qtaim.basin_integrate(m)
bader["atoms"][0] # {'atom': 0, 'label': 'O', 'integral': 9.244} -> Bader 電荷 8 - 9.244 = -1.24
bader["total"] # 10.023 (≈ 10 電子;わずかなグリッド残差)
酸素のベイスンは ~9.24 電子を保持 — Bader 電荷は約 −1.24 で、電荷の章 の全スキーム
の中で最も負、そして最も物理的に根拠があります。qc.prop.qtaim は結合臨界点の性質・ベイスン多重極・非局在化
指数・源関数も公開します。
Tip
QTAIM はグリッドベース — 遅いと思っておく トポロジーとベイスン積分は実空間グリッドを歩くので、前章の代数的な電荷よりコストがかかります。それでも 1 回の 呼び出しですが、大きな分子で数秒かかっても驚かないでください。
ELF:電子対を見る#
理論#
電子局在化関数 \(\text{ELF}(\mathbf r) \in [0,1]\) は、電子がどれだけ強く局在しているか — パウリ原理が同 スピン電子を参照点からどれだけ遠ざけるか — を測ります。Lewis 構造の電子対を直接あらわにします:内殻・ 結合・孤立電子対が高 ELF の別々の領域(ベイスン)として現れます。だから ELF は、軌道に頼らず結合と 孤立電子対を可視化する標準ツールです。
使い方#
basins = qc.prop.elf.basins(m) # ELF ベイスン(水:5 — O 内殻、2 本の O–H 結合、2 つの孤立電子対)
domains = qc.prop.elf.domains(m) # ある等値での局在化ドメイン
水の ELF は5 つのベイスンに分かれます — 酸素内殻、2 本の O–H 結合ベイスン、2 つの酸素孤立電子対 — 波動関数
だけから馴染みの Lewis 描像を回復します。qc.prop.elf は LOL(ELF 様の局在軌道ロケータ)と内殻/価電子分岐解析も
提供します。これらを見るには、可視化の章 の m.view3d("elf") が ELF 等値面を描きます。
総合例#
import qc
water = "O 0 0 0.117; H 0 0.757 -0.469; H 0 -0.757 -0.469"
m = qc.chk.new(atom=water, ao="cc-pvdz", unit="angstrom").scf(ref="r").run()
topo = qc.prop.qtaim.topology(m)
print("critical points:", topo["counts"], "| Poincaré–Hopf holds:", topo["poincare_hopf"]["holds"])
print("O Bader population:", round(qc.prop.qtaim.basin_integrate(m)["atoms"][0]["integral"], 3))
print("ELF basins :", len(qc.prop.elf.basins(m)))
練習 11
ベンゼンの QTAIM 解析は環臨界点をいくつ報告すべきで、トポロジーが整合するには Poincaré–Hopf 和はいくつに 等しくなければなりませんか。
電荷の章 は酸素電荷を −0.09(Löwdin)から −0.91(NPA)まで与えました。QTAIM (Bader)電荷の ≈ −1.24 はどこに位置し、なぜ特によく定義されていると見なされますか。
水の酸素の 2 つの孤立電子対を見たいです。どの ELF 呼び出しと、どのビューア呼び出しを使いますか。
解答 練習 11
環臨界点は 1 つ(芳香環の中心)。Poincaré–Hopf は 1 に等しくなければなりません:ベンゼンでは \(n_{\text{NCP}} - n_{\text{BCP}} + n_{\text{RCP}} - n_{\text{CCP}} = 12 - 12 + 1 - 0 = 1\)。
最も負です — NPA すら超えます。よく定義されているのは、ベイスン境界が密度のゼロフラックス面(基底 関数ではなく \(\rho\) そのものの性質)だからで、Bader 電荷は本質的に基底非依存です。
qc.prop.elf.basins(m)/qc.prop.elf.domains(m)で計算し、m.view3d("elf")で可視化します — 2 つの孤立 電子対ベイスンが酸素の上に別々のローブとして現れます。
QTAIM と ELF は単一分子の結合を解析します。次章 は、フラグメント間の弱い非共有 相互作用 — 水素結合やファンデルワールス接触 — に、NCI と IGM で向かいます。