QTAIM と ELF/LOL#
前章 は密度を処方箋で分割しました。本章は密度に自らを分割させます。2 つの トポロジー解析 — QTAIM(分子中の原子の量子論)と ELF(電子局在化関数)— は、恣意的な基底の選択なしに、 実空間場の形から原子・結合・孤立電子対を見つけます。「Multiwfn クラス」解析の核心です。
QTAIM:密度のトポロジーから原子を#
理論#
Bader の QTAIM は電子密度の勾配場 \(\nabla\rho(\mathbf r)\) を解析します。その臨界点は \(\nabla\rho=0\) の点で、 各々は局所密度 Hessian の符号数(負の固有値の数、\((3,\sigma)\) と書き \(\sigma\) = 正の数 − 負の数)で分類 されます:
種類 |
符号数 |
Hessian 固有値 |
意味 |
|---|---|---|---|
核(NCP) |
\((3,-3)\) |
3 つとも負 |
密度極大 — 核に位置 |
結合(BCP) |
\((3,-1)\) |
負 2、正 1 |
結合に沿って鞍点、それを横切ると極大 |
環(RCP) |
\((3,+1)\) |
負 1、正 2 |
環の内側の鞍点 |
かご(CCP) |
\((3,+3)\) |
3 つとも正 |
かごの内側の局所極小 |
BCP を通じて 2 核を結ぶ結合経路が QTAIM の厳密な化学結合の定義であり、健全性チェック — Poincaré–Hopf 関係 \(n_{\text{NCP}} - n_{\text{BCP}} + n_{\text{RCP}} - n_{\text{CCP}} = 1\) — が正しい トポロジーで成り立たねばなりません(これは密度場のトポロジー不変量で、分子によりません)。QTAIM は空間を 原子ベイスンにも分けます — ゼロフラックス面 \(\nabla\rho(\mathbf r)\cdot\mathbf n(\mathbf r)=0\)(密度の 勾配が決して横切らない面)で囲まれた領域です;ベイスン上で \(\rho\) を積分すると基底に頑健な原子電荷 (「Bader 電荷」)が得られます。頑健なのは、まさにゼロフラックス境界が AO 基底ではなく \(\rho\) 自体の性質だから です。完全な導出(ベイスンを最急上昇積分でどう見つけるかを含む)は トポロジー解析の理論 にあります。
使い方#
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]\) は、電子がどれだけ強く局在しているか — パウリ原理が同 スピン電子を参照点からどれだけ遠ざけるか — を測ります。Becke と Edgecombe の構成は、真の運動エネルギー密度を、 同じ局所密度の一様電子ガスが持つはずの値と比較します:
\(D\) はパウリ運動エネルギー密度 — その密度で可能な最小を超える余剰運動エネルギー — で、1 つの軌道(や 同スピン電子対)が支配する場所でのみ消えます。真の系が一様ガスより強く電子を局在させる場所では \(D \ll D_h\) なので \(\chi\to0\)、\(\text{ELF}\to1\);一様ガスとまったく同じに振る舞う領域は \(\chi=1\)、 \(\text{ELF}=0.5\) を与えます(qc-rs の実装は両極限を直接検証しています)。これが ELF が Lewis 構造の 電子対を直接あらわにする理由です:内殻・結合・孤立電子対が、それぞれ高 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)))
練習 12
ベンゼンの QTAIM 解析は環臨界点をいくつ報告すべきで、トポロジーが整合するには Poincaré–Hopf 和はいくつに 等しくなければなりませんか。
電荷の章 は酸素電荷を −0.09(Löwdin)から −0.91(NPA)まで与えました。QTAIM (Bader)電荷の ≈ −1.24 はどこに位置し、なぜ特によく定義されていると見なされますか。
水の酸素の 2 つの孤立電子対を見たいです。どの ELF 呼び出しと、どのビューア呼び出しを使いますか。
解答 練習 12
環臨界点は 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 で向かいます。